:root{--bg:#14181d;--panel:#1b2128;--panel2:#232b34;--line:#2f3a46;--text:#e6ebf0;--dim:#8b98a6;--notes:var(--accent);--trigger:#ef5b5b;--number:#4cc3f0;--sound:#78d68b;--accent:#78d68b;--c-str:#9fe0a8;--c-num:var(--accent);--c-prop:#8fc5ff;--c-fn:#e6ebf0;--c-dim:#6f7c8a;--c-punct:#8b98a6;--c-label:#ef8fb0;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:13px/1.4 var(--ui);margin:0;overflow:hidden}#app{flex-direction:column;height:100%;display:flex}button{font:inherit;color:inherit}.sp{flex:1}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;height:48px;padding:8px 12px;display:flex}.brand{letter-spacing:.02em;margin-right:8px;font-size:15px}.brand b{color:var(--accent)}.btn{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:5px 11px}.btn:hover:not(:disabled){background:#2a343f;border-color:#4a5a6a}.btn:disabled{opacity:.4;cursor:default}.btn.sm{padding:2px 8px;font-size:12px}.btn.primary{background:#2c6b3c;border-color:#3f8a52;min-width:92px;font-weight:600}.btn.primary.on{background:#7a2f2f;border-color:#a04444}.status{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;max-width:360px;font-size:12px;overflow:hidden}.status.error,.status.warn{color:#ff9b8f}.status.playing{color:var(--accent)}.main{flex:1;grid-template-columns:172px 1fr minmax(380px,34%);min-height:0;display:grid}.palette{background:var(--panel);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;padding:8px 8px 24px;overflow-y:auto}.pal-title{margin:4px 4px 8px;font-weight:600}.pal-h{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin:12px 4px 4px;font-size:11px}.pal-item{background:var(--panel2);border:1px solid var(--line);cursor:grab;touch-action:none;border-radius:7px;align-items:center;gap:8px;margin:2px 0;padding:6px 8px;display:flex}.pal-item:hover{border-color:#4a5a6a}.pal-item.disabled{opacity:.35;cursor:not-allowed}.pal-dot{background:#6b7886;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 2px #0000004d}[data-type=notes]{--t:var(--notes)}[data-type=trigger]{--t:var(--trigger)}[data-type=number]{--t:var(--number)}[data-type=sound]{--t:var(--sound)}.pal-dot[data-type]{background:var(--t,#6b7886)}.pal-ghost{z-index:99;pointer-events:none;background:var(--panel2);border:1px solid var(--accent);border-radius:7px;padding:6px 10px;position:fixed;top:0;left:0;box-shadow:0 8px 20px #000a}.board{background-color:#171c22;background-image:radial-gradient(circle,#2d3743 1.4px,#0000 1.6px);background-size:var(--grid,24px) var(--grid,24px);touch-action:none;cursor:grab;position:relative;overflow:hidden}.board.panning{cursor:grabbing}.world{transform-origin:0 0;position:absolute;top:0;left:0}.cables{pointer-events:none;z-index:1;position:absolute;top:0;left:0;overflow:visible}.node{z-index:2}.board-hint{color:var(--dim);pointer-events:none;text-align:center;place-items:center;padding:40px;display:grid;position:absolute;inset:0}.zoom{background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex;position:absolute;bottom:10px;right:10px}.zoom button{cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 9px}.zoom button:hover{background:var(--panel2)}.zoom-val{text-align:center;min-width:42px;color:var(--dim);font-size:12px}.cable{fill:none;stroke:var(--t,#888);stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 3px 2px #0000008c);opacity:.95}.wire[data-type=notes]{--t:var(--notes)}.wire[data-type=trigger]{--t:var(--trigger)}.wire[data-type=number]{--t:var(--number)}.wire[data-type=sound]{--t:var(--sound)}.cable-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.wire:hover .cable,.wire.selwire .cable{stroke-width:8px;filter:drop-shadow(0 0 6px var(--t))}.wire.lifted{opacity:.25}.cable.ghost{stroke:var(--t,#fff);stroke-dasharray:2 10;stroke-width:4px;opacity:.9}.ghost[data-type=notes]{--t:var(--notes)}.ghost[data-type=trigger]{--t:var(--trigger)}.ghost[data-type=number]{--t:var(--number)}.ghost[data-type=sound]{--t:var(--sound)}.pulse{fill:#fff;stroke:var(--t);stroke-width:3px;filter:drop-shadow(0 0 5px var(--t))}.pulse[data-type=notes]{--t:var(--notes)}.pulse[data-type=trigger]{--t:var(--trigger)}.pulse[data-type=number]{--t:var(--number)}.pulse[data-type=sound]{--t:var(--sound)}.node{-webkit-user-select:none;user-select:none;--cat:#6b7886;background:linear-gradient(#262f39,#1d242c);border:1px solid #3a4756;border-radius:10px;min-width:214px;max-width:420px;position:absolute;top:0;left:0;box-shadow:0 8px 18px #00000073,inset 0 1px #ffffff0f}.node.cat-sequencer{--cat:var(--accent)}.node.cat-source{--cat:#78d68b}.node.cat-transform{--cat:#b48cf2}.node.cat-combine{--cat:#8fa0b3}.node.cat-effect{--cat:#ef8f5b}.node.cat-number{--cat:#4cc3f0}.node.cat-output{--cat:#e6ebf0}.node.selected{border-color:var(--cat);box-shadow:0 0 0 1px var(--cat), 0 8px 18px #00000073}.node.hl{box-shadow:0 0 0 2px #fff4, 0 0 18px var(--cat)}.node.live{box-shadow:0 0 0 2px var(--cat), 0 0 22px var(--cat)}.node.dragging{opacity:.92}.n-head{border-bottom:1px solid #101419;border-top:3px solid var(--cat);cursor:grab;background:#ffffff08;border-radius:9px 9px 0 0;align-items:center;gap:4px;padding:7px 8px 7px 10px;display:flex}.n-title{letter-spacing:.02em;flex:1;font-size:12.5px;font-weight:600}.n-btn{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0 5px;font-size:14px;line-height:1}.n-btn:hover{color:var(--text)}.n-del:hover{color:#ff8f8f}.n-body{flex-direction:column;gap:7px;padding:8px 10px 10px 12px;display:flex}.node.collapsed{min-width:160px}.blurb{color:var(--dim);max-width:250px;font-size:11px;line-height:1.35}.ports{justify-content:space-between;align-items:flex-start;padding:8px 0 0;display:flex}.rail{z-index:3;flex-direction:column;gap:6px;display:flex}.rail-in{margin-left:-9px}.rail-out{align-items:flex-end;margin-right:-9px}.rail-row{align-items:center;gap:4px;display:flex}.rail-label{color:var(--dim);font-size:10px}.jack{border:3px solid var(--t,#5b6775);cursor:crosshair;background:#0c0f13;border-radius:50%;flex:none;width:18px;height:18px;box-shadow:inset 0 2px 3px #000,0 0 0 1px #0006}.jack.plugged{background:var(--t,#5b6775);box-shadow:0 0 6px var(--t)}.jack.param{--t:var(--number);border-width:2px;width:11px;height:11px;position:absolute;top:-3px;right:2px}.jack.param:not(.plugged){opacity:.75}.jack:hover{transform:scale(1.15)}.wiring .jack.ok{box-shadow:0 0 0 3px #fff3, 0 0 10px var(--t,#fff);animation:1s infinite pulse-ring}.wiring .jack.no{opacity:.25;cursor:not-allowed}.wiring .jack.hot{background:var(--t,#fff);transform:scale(1.35)}@keyframes pulse-ring{50%{box-shadow:0 0 0 5px #fff1, 0 0 14px var(--t,#fff)}}.jack:not([data-type]){--t:#6b7886}.controls{flex-wrap:wrap;gap:4px 6px;display:flex}.kcell{border-radius:8px;flex-direction:column;align-items:center;width:max-content;min-width:56px;padding:3px 0 2px;display:flex;position:relative}.kcell.hl{outline:1px solid var(--cat);background:#ffffff18}.kcell.is-default .knob-svg{opacity:.55}.kcell.is-default .k-label{color:#6c7886}.kcell.inactive{opacity:.35}.kcell.wired .k-val{color:var(--number)}.knob{cursor:ns-resize;touch-action:none;border-radius:50%;outline:none;width:48px;height:48px}.knob:focus-visible{outline:2px solid #fff6}.knob.off{cursor:default;opacity:.4}.k-track{fill:none;stroke:#0e1216;stroke-width:4px;stroke-linecap:round}.k-fill{fill:none;stroke:var(--cat);stroke-width:4px;stroke-linecap:round}.k-cap{fill:#39444f;stroke:#11161b;stroke-width:1.5px}.knob:hover .k-cap,.knob.turning .k-cap{fill:#44515e}.k-ind{stroke:#fff;stroke-width:2.5px;stroke-linecap:round}.k-val{font:11px var(--mono);color:var(--text);margin-top:-2px}.k-label{font:10.5px var(--mono);color:var(--c-prop);white-space:nowrap}.field{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:flex}.field>span{flex:none;width:42px}.sel,.txt{min-width:0;color:var(--text);font:12px var(--mono);background:#11161b;border:1px solid #364250;border-radius:6px;flex:1;padding:3px 6px}.txt.num{max-width:86px}.sel:focus,.txt:focus{outline:1px solid var(--cat)}.field:hover{color:var(--text)}.seq{flex-direction:column;gap:4px;display:flex}.seq-grid{grid-template-columns:var(--lab,26px) repeat(var(--steps), 20px);align-items:center;gap:2px;display:grid}.key-label{color:var(--dim);text-align:right;padding-right:3px;font-size:9px}.key-label.black{color:#5d6a78}.cell{cursor:pointer;background:#11161b;border:0;border-radius:3px;height:14px;padding:0;position:relative}.cell.black{background:#0c1014}.cell.beat{box-shadow:inset 2px 0 #2d3947}.cell:hover{background:#26313c}.cell.on{background:var(--cat);box-shadow:0 0 6px #0008,inset 0 -3px #0004}.cell.tied{background:color-mix(in srgb, var(--cat) 45%, #11161b)}.cell.now{background:#fff;box-shadow:0 0 10px #fff}.seq-extra{flex-direction:column;gap:3px;display:flex}.row-line{align-items:flex-end;gap:0;display:flex}.row-label{width:calc(var(--lab,26px) + 2px);color:var(--dim);text-align:right;flex:none;padding-right:5px;font-size:9px}.vel-row,.len-row{grid-template-columns:repeat(var(--steps), 20px);gap:2px;display:grid}.vel{cursor:ns-resize;touch-action:none;background:#11161b;border-radius:3px;height:30px;position:relative}.vel i{background:color-mix(in srgb, var(--cat) 70%, #0000);border-radius:3px;display:block;position:absolute;bottom:0;left:0;right:0}.vel.rest i{background:#36414d}.len{color:#cfd8e1;height:16px;font:10px var(--mono);cursor:pointer;background:#11161b;border:0;border-radius:3px;padding:0}.len.rest{color:#4b5764}.len.covered{color:#3a4551}.len.now{background:#fff3}.len:hover{background:#26313c}.codecol{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.code-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.toggle{color:var(--dim);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.code-host{background:#12171c;flex:1;min-height:0;overflow:auto}.code-host .cm-editor{background:0 0;min-height:100%}.code-host .cm-editor.cm-focused{outline:none}.cm-scroller{font:13px/1.65 var(--mono)!important}.cm-content{caret-color:#0000;padding:10px 0!important}.cm-line{padding:0 12px!important}.cm-note{color:#7c8b9a;font:italic 11.5px var(--ui);cursor:default;background:#ffffff0a;border-radius:4px;margin-left:14px;padding:1px 6px}.cm-note:hover{color:#cfd8e1;background:#ffffff14}.cm-hover-node{background:#78d68b45;border-radius:3px;outline:1px solid #78d68b80}.cm-hover-key{background:var(--accent)66;outline:1px solid var(--accent);border-radius:3px}.cm-play{background:#ffffff42;border-radius:3px;box-shadow:0 0 8px #fff8;color:#fff!important}.learn-banner{background:#1d3326;border-top:1px solid #2f5a3f;margin:0;padding:10px 12px;font-size:12.5px}.learn-banner .learned{color:var(--accent);font-weight:600}.learn-banner .rebuild{color:var(--dim);margin-top:3px;font-size:11.5px}.issues{color:#e6b86a;padding:0 12px;font-size:12px}.issues:not(:empty){border-top:1px solid var(--line);padding:8px 12px}.issue{cursor:default}.ro-note{color:var(--dim);border-top:1px solid var(--line);padding:6px 12px 8px;font-size:11px}.pop{z-index:60;background:var(--panel);border:1px solid #44525f;border-radius:10px;min-width:260px;max-width:360px;max-height:72vh;padding:6px;position:fixed;overflow:auto;box-shadow:0 14px 34px #000b}.menu{flex-direction:column;gap:2px;display:flex}.menu.wide{width:330px}.menu-h{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;padding:8px 8px 3px;font-size:11px}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px}.menu-item:hover{background:var(--panel2)}.menu-row{align-items:center;gap:6px;padding:3px 4px;display:flex}.menu-row .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-row small{color:var(--dim)}.menu-empty{color:var(--dim);padding:4px 8px;font-size:12px}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:#2a3440;border:1px solid #4a5a6a;border-radius:9px;align-items:center;gap:10px;max-width:560px;padding:7px 12px;display:flex;box-shadow:0 8px 22px #000a}.cell.now:not(.on){background:#ffffff30}.drums{flex-direction:column;gap:3px;display:flex}.trk{align-items:center;gap:4px;display:flex}.trk-name{flex:none;width:52px;padding:2px 5px;font-size:11px}.trk-name.muted{opacity:.4;text-decoration:line-through}.trk-cells{grid-template-columns:repeat(var(--steps), 18px);gap:2px;display:grid}.trk-cells .cell{height:20px}.trk-btn{color:var(--dim);cursor:pointer;background:0 0;border:1px solid #364250;border-radius:4px;padding:0 5px;font-size:11px;line-height:18px}.trk-btn:hover{color:var(--text)}.trk-btn.active{color:#fff;background:#7a2f2f}.trk-add{align-self:flex-start;margin-top:2px}.cell.hid{color:var(--cat);background:#2a2f1f;font-size:9px;line-height:14px}.seq-main{align-items:stretch;gap:6px;display:flex}.oct-col{color:var(--dim);flex-direction:column;align-items:center;gap:2px;font-size:9px;display:flex}.oct{writing-mode:vertical-lr;width:16px;accent-color:var(--cat);cursor:ns-resize;direction:rtl;flex:1;margin:0}.oct-label{font:9px var(--mono);color:var(--dim)}[data-type=key]{--t:var(--key)}:root{--key:#e879c9}.wire[data-type=key],.ghost[data-type=key],.pulse[data-type=key]{--t:var(--key)}.key-label{white-space:nowrap}.slot{gap:2px;min-width:0;display:flex}.slot .cell{min-width:0;font:600 8px var(--mono);color:#1a1405;flex:1;padding:0;line-height:14px}.trk-cells .slot .cell{line-height:20px}.xbtn{color:#6c7886}.xbtn.active{color:#f2d78a;background:#2b2a1c}.xbtn.covered{opacity:.4}.trk-foot{align-items:center;gap:8px;margin-top:2px;display:flex}.hintline{color:#6c7886;font-size:10px}.node.cat-view{--cat:#7aa2ff}.viewcanvas{background:#0b0f13;border:1px solid #27313b;border-radius:6px;width:240px;height:102px;display:block}.cell{justify-content:center;align-items:stretch;display:flex}.cell i{background:#1a1405;border-radius:1px;flex:1;max-width:4px;margin:2px 1px}.trk-div{gap:2px;margin-bottom:3px;margin-left:56px;display:grid}.trk-div .len{color:#6c7886;justify-content:center;align-items:center;height:18px;display:flex}.trk-div .len.active{color:#f2d78a;background:#2b2a1c}.xbtn{justify-content:center;align-items:center;display:flex}.xbtn .xicon{width:100%;max-width:24px;height:12px}.trk.selected .trk-name{border-color:var(--cat)}.trk.selected{box-shadow:-4px 0 0 -1px var(--cat)}.xpick{z-index:90;background:var(--panel);border:1px solid #44525f;border-radius:10px;gap:4px;padding:6px;display:flex;position:fixed;box-shadow:0 14px 34px #000b}.xpick-btn{background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:#cfd8e1;border-radius:7px;flex-direction:column;align-items:center;gap:2px;width:40px;padding:5px 2px;display:flex}.xpick-btn:hover{border-color:var(--accent);color:#fff}.xpick-btn.cur{border-color:var(--accent);background:#2b2a1c}.xpick-btn .xicon{width:28px;height:16px}.xpick-btn span{font:10px var(--mono);color:var(--dim)}.ta-pop{z-index:95;background:var(--panel);border:1px solid #44525f;border-radius:8px;max-height:220px;padding:3px;position:fixed;overflow-y:auto;box-shadow:0 12px 30px #000b}.ta-item{font:12px var(--mono);cursor:pointer;color:var(--text);border-radius:5px;padding:3px 9px}.ta-item:hover,.ta-item.cur{color:#fff;background:#2a4a35}.trk-name.bad{color:#ff9b8f;border-color:#d65c5c}.ta-item{align-items:baseline;gap:10px;display:flex}.ta-name{min-width:34px;font-weight:600}.ta-desc{color:var(--dim);font:11px var(--ui);white-space:nowrap}.ta-item.cur .ta-desc,.ta-item:hover .ta-desc{color:#cfe8d8}.rep-line{align-items:center;margin-bottom:3px}.inst-btn{min-width:0;color:var(--text);font:12px var(--mono);cursor:pointer;text-align:left;background:#11161b;border:1px solid #364250;border-radius:6px;flex:1;align-items:baseline;gap:6px;padding:3px 8px;display:flex}.inst-btn:hover{border-color:var(--cat)}.inst-btn.bad{border-color:#d65c5c}.ib-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ib-id{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:10px}.ip-pop{z-index:95;background:var(--panel);border:1px solid #44525f;border-radius:10px;flex-direction:column;gap:6px;width:370px;padding:8px;display:flex;position:fixed;box-shadow:0 14px 34px #000b}.ip-search{width:100%}.ip-chips{flex-wrap:wrap;gap:4px;display:flex}.ip-chip{background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:var(--dim);border-radius:12px;padding:1px 9px;font-size:11px}.ip-chip:hover{color:var(--text)}.ip-chip.on{color:#fff;background:#2a4a35;border-color:#3f8a52}.ip-list{max-height:260px;overflow-y:auto}.ip-item{cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.ip-item:hover,.ip-item.cur{background:#2a4a35}.ip-item.sel .ip-name{color:var(--accent)}.ip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.ip-id{font:10px var(--mono);color:var(--dim)}.ip-kind{border:1px solid var(--line);color:var(--dim);white-space:nowrap;border-radius:8px;padding:0 6px;font-size:10px}.ip-kind.k-soundfont{color:#8fc5ff;border-color:#2d4a6a}.ip-kind.k-sample{color:var(--accent);border-color:#6a5320}.ip-kind.k-synth{color:#78d68b;border-color:#2f5a3f}.browse-btn{background:var(--panel2);color:var(--dim);cursor:pointer;border:1px solid #364250;border-radius:6px;flex:none;width:24px;padding:0;font-size:12px}.browse-btn:hover{color:var(--text);border-color:var(--cat)}.ip-star{color:#5b6775;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px;line-height:1}.ip-star:hover,.ip-star.on{color:var(--accent)}.ip-foot{color:var(--dim);padding:2px 4px 0;font-size:11px}.ta-name{white-space:nowrap}.mm{cursor:ns-resize;touch-action:none;border:1px solid #27313b;border-radius:4px;outline:none;width:26px;display:block}.mm:focus-visible{border-color:var(--cat)}.field.driven .sel{border-color:var(--key);color:#fff;opacity:1;cursor:default;-webkit-text-fill-color:#fff;background:#2a1d27}.field.driven .txt{opacity:.6;border-style:dashed;border-color:var(--trigger)}.field.driven:has(.sel)>span{color:var(--key);white-space:nowrap;width:auto;min-width:42px}.field.driven:has(.sel)>span:after{content:" ← Key";font-size:9px}.field.driven:not(:has(.sel))>span{color:var(--trigger)}.xbtn.active,.trk-div .len.active{color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--accent);background:#5a4a14}.mm{width:44px}.node{width:max-content}:is(.node:has(.seq),.node:has(.drums)){max-width:none}.node[data-type=drums] .n-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:6px 12px;display:grid}.node[data-type=drums] .drums{grid-column:1/-1}.node[data-type=drums] .field{grid-column:1/-1;min-width:0}.node[data-type=drums] .controls{grid-column:1/-1}.node[data-type=drums] .blurb{grid-column:1/-1;width:0;min-width:100%;max-width:none}.node[data-type=drums] .kcell{width:48px;min-width:48px}.hintline{white-space:nowrap}.btn.on{color:#cfe8d8;border-color:#3f8a52}.code-hidden .main{grid-template-columns:172px 1fr 0}.code-hidden .codecol{display:none}.trk-foot{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.hintline{white-space:normal;width:0;min-width:100%;line-height:1.2;display:block}.n-body>.controls{width:0;min-width:100%}.node[data-type=synth],.node[data-type=sample]{min-width:310px}.node[data-type=output]{min-width:250px}.field .sel,.field .txt,.field .inst-btn{flex:1 1 0;width:0;min-width:0}.field .txt.num{flex:none;width:86px;max-width:86px}.chords{flex-direction:column;gap:4px;display:flex}.chord-row{gap:4px;display:grid}.cstep{height:48px;color:var(--text);cursor:pointer;background:#1b2128;border:1px solid #3a4756;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 2px;display:flex;box-shadow:inset 0 -3px #0005}.cstep:hover{border-color:var(--cat)}.cstep b{font:600 13px var(--mono);white-space:nowrap}.cstep small{font:10px var(--mono);color:var(--dim)}.cstep.rest{color:#4b5764}.cstep.tied{opacity:.45}.cstep.now{background:var(--accent);color:#1a1405;box-shadow:0 0 12px var(--accent);border-color:#fff}.cstep.now small{color:#4a3a10}.cpick{z-index:95;background:var(--panel);border:1px solid #44525f;border-radius:10px;flex-direction:column;gap:6px;width:310px;padding:10px;display:flex;position:fixed;box-shadow:0 14px 34px #000b}.cp-h{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:11px}.cp-row{flex-wrap:wrap;gap:4px;display:flex}.cp-foot{justify-content:space-between;margin-top:4px}.cp-chip{background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:var(--text);border-radius:12px;padding:2px 10px;font-size:12px}.cp-chip:hover{border-color:var(--accent)}.cp-chip.on{border-color:var(--accent);color:#fff3c4;background:#5a4a14}.cp-btn{background:var(--panel2);border:1px solid var(--line);cursor:pointer;min-width:52px;color:var(--text);border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:5px 4px;display:flex}.cp-btn b{font:600 13px var(--mono)}.cp-btn small{font:10px var(--mono);color:var(--dim)}.cp-btn:hover{border-color:var(--accent)}.cp-btn.on{border-color:var(--accent);background:#5a4a14}.ph-row{align-items:center;gap:2px;height:8px;display:grid}.ph-line{align-items:center;height:8px;margin-bottom:3px}.ph-dot{background:#2f3a46;border-radius:50%;justify-self:center;width:4px;height:4px;transition:background 80ms,transform 80ms;display:block}.ph-dot.on{background:var(--cat);box-shadow:0 0 6px var(--cat);transform:scale(1.6)}.drums>.ph-row{margin-bottom:2px;margin-left:56px}.chords>.ph-row{margin-bottom:2px}.wave-row{gap:4px;margin-bottom:4px;display:flex}.wave-btn{color:#7c8b9a;cursor:pointer;background:#11161b;border:1px solid #364250;border-radius:6px;flex:1;justify-content:center;align-items:center;height:26px;padding:0;display:flex}.wave-btn:hover{color:var(--text);border-color:#4a5a6a}.wave-btn.on{color:var(--cat);border-color:var(--cat);background:#172620}.n-head{position:relative}.hj-l,.hj-r{z-index:3;position:absolute;top:calc(50% - 9px)}.hj-l{left:-9px}.hj-r{right:-9px}.n-head{padding-left:14px;padding-right:14px}.n-mute{align-items:center;padding:0 4px;display:flex}.n-mute.on{color:#ff9b8f}.node.muted{opacity:.55}.node.muted .n-title{-webkit-text-decoration:line-through #ff9b8f;text-decoration:line-through #ff9b8f}.menu-item.danger{color:#ff9b8f}.k-label{text-transform:uppercase;letter-spacing:.05em;font-size:9px}.bpm{color:var(--dim);align-items:center;gap:4px;font-size:11px;display:flex}.bpm-input{width:54px;color:var(--text);font:600 14px var(--mono);text-align:right;background:#11161b;border:1px solid #364250;border-radius:6px;padding:4px 6px}.bpm-input:disabled{opacity:.4}.palette-hidden .main{grid-template-columns:44px 1fr minmax(380px,34%)}.palette-hidden.code-hidden .main{grid-template-columns:44px 1fr}.palette-hidden .palette{padding:8px 4px;overflow:hidden}.palette-hidden .palette .pal-sec,.palette-hidden .pal-title,.palette-hidden .pal-collapse{display:none}.palette-hidden .pal-head{justify-content:center}.add-menu{width:380px}.add-search{width:100%;margin-bottom:4px}.add-list{max-height:340px;overflow-y:auto}.add-item{cursor:pointer;border-radius:6px;grid-template-columns:1fr auto;gap:0 8px;padding:5px 8px;display:grid}.add-item:hover,.add-item.cur{background:#2a4a35}.add-t{font-size:13px;font-weight:600}.add-c{color:var(--dim);align-self:center;font-size:10px}.add-b{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:11px;overflow:hidden}.pal-head{align-items:center;gap:6px;margin:2px 2px 8px;display:flex}.pal-head .pal-title{flex:1;margin:0;font-weight:600}.pal-burger,.pal-collapse{background:var(--panel2);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:7px;width:30px;height:28px;padding:0;font-size:15px;line-height:1}.pal-burger:hover,.pal-collapse:hover{background:#2a343f;border-color:#4a5a6a}.topbar{gap:12px}.transport{background:var(--panel2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;margin:0 auto;padding:4px 12px 4px 4px;display:flex}.play-btn{color:#1a1208;cursor:pointer;background:#f3c9a0;border:0;border-radius:9px;justify-content:center;align-items:center;width:38px;height:34px;display:flex}.play-btn:hover{background:#ffd9b8}.play-btn.on{background:#e9967a}.transport .status{min-width:56px;max-width:120px}.beats-sel{color:var(--text);font:600 13px var(--mono);background:#11161b;border:1px solid #364250;border-radius:6px;padding:3px 2px}.toolbar{align-items:center;gap:4px;display:flex}.icon-btn{justify-content:center;align-items:center;width:34px;height:32px;padding:0;display:inline-flex}.set-row{justify-content:space-between;align-items:center;gap:10px;padding:4px 6px;display:flex}.set-l{font-size:12.5px}.seg{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.seg-btn{background:var(--panel2);cursor:pointer;color:var(--dim);border:0;padding:4px 10px;font-size:12px}.seg-btn.on{color:#f3c9a0;background:#3a3326}.fold{border-top:1px solid #11161b;margin-top:2px}.fold-head{width:100%;color:var(--dim);font:11px var(--mono);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:7px 0 5px;display:flex}.fold-head:hover{color:var(--text)}.fold-chev{transition:transform .15s}.fold.open .fold-chev{transform:rotate(180deg)}.fold-body{flex-direction:column;gap:7px;padding:2px 0 6px;display:none}.fold.open .fold-body{display:flex}.node[data-type=drums] .fold{grid-column:1/-1}.cstep{height:54px}.cshape{color:var(--dim)}.cstep:hover .cshape{color:var(--text)}.cstep.now .cshape{color:#4a3a10}.cpre-btn{background:var(--panel2);border:1px solid var(--line);color:var(--dim);cursor:pointer;border-radius:12px;align-self:flex-start;margin-bottom:2px;padding:2px 10px;font-size:11px}.cpre-btn:hover{color:var(--text);border-color:#f3c9a0}.kbd{border-radius:3px;margin:2px 0;display:block}.preset-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.preset-card{background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:#f3c9a0;border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.preset-card b{color:var(--text);font-size:12px}.preset-card small{color:var(--dim);font:10px var(--mono)}.preset-card:hover{border-color:#f3c9a0}:root{--accent:#f3c9a0}#app.colourful{--accent:#f2b134}#app:not(.colourful) .node{--cat:var(--accent)}#app:not(.colourful) .node:not(.selected) .n-head{border-top-color:#4a5563}#app:not(.colourful) .pal-item .pal-dot{background:#6b7886}#app:not(.colourful) .pal-item .pal-dot[data-type]{background:var(--t,#6b7886)}.cable{stroke-width:3px;filter:drop-shadow(0 2px 1.5px #00000073)}.wire:hover .cable,.wire.selwire .cable{stroke-width:4.5px}.marquee{border:1px dashed var(--accent);z-index:6;pointer-events:none;background:#f3c9a01a;position:absolute}.minimap{z-index:5;cursor:pointer;border:1px solid #3a4756;border-radius:8px;width:190px;height:120px;position:absolute;bottom:10px;left:10px}.n-resize{cursor:ew-resize;opacity:0;z-index:4;background:linear-gradient(135deg,#0000 55%,#6b7886 55% 62%,#0000 62% 72%,#6b7886 72% 79%,#0000 79%);border-bottom-right-radius:10px;width:16px;height:16px;position:absolute;bottom:0;right:0}.node:hover .n-resize,.node.selected .n-resize{opacity:.85}.wlabel{opacity:0;pointer-events:none;transition:opacity .12s}.wlabel rect{fill:#11161b;stroke:var(--t,#6b7886);stroke-width:1px}.wlabel text{fill:var(--t,#cfd8e1);font:600 9px var(--mono)}.wire:hover .wlabel,.wire.selwire .wlabel,.labels-always .wlabel{opacity:1}.gframe{z-index:0;background:#ffffff06;border:1px dashed #4a5a6a;border-radius:14px;position:absolute}.g-head{cursor:grab;align-items:center;gap:8px;height:32px;padding:0 10px;display:flex;position:absolute;top:0;left:0;right:0}.g-name{color:var(--text);font:600 12.5px var(--ui);background:0 0;border:0;border-radius:4px;width:140px;padding:2px 4px}.g-name:focus{outline:1px solid var(--accent);background:#11161b}.g-count{color:var(--dim);flex:1;font-size:11px}.g-btn{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:14px}.g-btn:hover{color:var(--text)}.gframe.collapsed{border:1px solid #4a5a6a;border-top:3px solid var(--accent);background:linear-gradient(#262f39,#1d242c);box-shadow:0 8px 18px #00000073}.gframe.collapsed .g-head{height:100%}.gframe.live{box-shadow:0 0 0 2px var(--accent), 0 0 22px var(--accent)}.node.gh{display:none}.selbar{z-index:6;background:var(--panel);border:1px solid #44525f;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:5px 10px;font-size:12px;display:none;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0009}.selbar .sel-count{white-space:nowrap}.about a{color:var(--accent)}.kcell.wide{align-items:stretch;width:100%;padding:6px 0 2px}.kcell.wide .k-val{text-align:center;margin-top:2px;font-size:15px}.kcell.wide .k-label{text-align:center}.hslider{cursor:ew-resize;touch-action:none;outline:none;align-items:center;width:100%;height:28px;display:flex;position:relative}.hs-track{background:#0e1216;border-radius:3px;width:100%;height:6px;position:relative;box-shadow:inset 0 1px 2px #000}.hs-fill{background:var(--cat);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.hs-thumb{border:2px solid var(--cat);background:#39444f;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:50%;box-shadow:0 2px 4px #0008}.hslider:hover .hs-thumb,.hslider.turning .hs-thumb{background:#4a5864}.hslider:focus-visible .hs-thumb{outline-offset:2px;outline:2px solid #fff6}.hslider.off{opacity:.4;cursor:default}.previewcanvas{aspect-ratio:240/72;background:#0b0f13;border:1px solid #27313b;border-radius:6px;width:100%;max-width:100%;height:auto;display:block}.field.icons{align-items:center}.icon-choice{flex:1;margin:0}.wb-t{font:11px var(--mono)}.modal-back{z-index:60;background:#14161c73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel,#fff);color:var(--text,#222);border:1px solid var(--line,#ccc);border-radius:14px;width:min(640px,100%);max-height:86vh;padding:18px 20px;overflow:auto;box-shadow:0 18px 60px #0000004d}.modal h3{margin:0 0 8px;font-size:16px}.imp-area{box-sizing:border-box;border:1px solid var(--line,#ccc);background:var(--bg,#fafafa);width:100%;min-height:220px;color:inherit;resize:vertical;border-radius:8px;padding:10px;font:13px/1.45 ui-monospace,Menlo,monospace}.modal-btns{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.imp-hint{opacity:.75;margin:6px 0;font-size:12.5px}.imp-sum{margin:4px 0 8px;font-size:14px}.imp-list{border:1px solid var(--line,#ddd);border-radius:8px;max-height:260px;overflow:auto}.imp-row{border-bottom:1px solid var(--line,#eee);grid-template-columns:52px 1fr;gap:2px 8px;padding:6px 8px;font-size:12px;display:grid}.imp-row:last-child{border-bottom:0}.imp-line{opacity:.55;grid-row:span 2}.imp-row code{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,monospace;overflow:hidden}.imp-why{opacity:.75}.imp-notes{opacity:.8;margin-top:8px;font-size:12px}.field.col{flex-direction:column;align-items:stretch;gap:4px}.field.col>span{width:auto}.code-area{font:12px/1.4 var(--mono);resize:vertical;white-space:pre;box-sizing:border-box;width:100%;min-height:70px}.hydra-bg{z-index:-1;width:100%;height:100%;position:fixed;inset:0}body.hydra-on,body.hydra-on #app{background:0 0}body.hydra-on .board{background-color:#0000}.hydra-panel{z-index:50;border:1px solid var(--line);resize:both;background:#000;border-radius:10px;width:360px;min-width:200px;position:fixed;bottom:56px;right:18px;overflow:hidden;box-shadow:0 10px 40px #00000080}.hydra-bar{color:var(--dim);background:var(--panel2);cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 8px;font-size:11px;display:flex}.hydra-bar button{cursor:pointer;background:0 0;border:0;font-size:15px;line-height:1}.hydra-panel-canvas{aspect-ratio:16/9;width:100%;display:block}.arrange{flex-direction:column;gap:4px;margin-bottom:6px;display:flex}.arr-strip{gap:2px;display:flex}.arr-col{flex:1 1 0;min-width:22px;display:flex}.arr-block{background:hsl(var(--hue) 45% 30%);border:1px solid hsl(var(--hue) 55% 50%);border-radius:6px;flex:auto;justify-content:center;align-items:center;min-width:0;height:34px;display:flex;position:relative;overflow:hidden}.arr-in .jack,.arr-in .jack[data-type]{--t:hsl(var(--hue) 70% 62%)}.arr-lab{font:600 11px var(--mono);color:var(--text);white-space:nowrap;pointer-events:none}.arr-num{width:calc(100% - 14px);max-width:60px;font:600 11px var(--mono);text-align:center;color:var(--text);border:1px solid var(--dim);background:#0c0f13;border-radius:4px}.arr-grip{cursor:ew-resize;touch-action:none;background:#fff2;width:8px;position:absolute;top:0;bottom:0;right:0}.arr-grip:hover{background:#fff5}.arr-total{font:10px var(--mono);color:var(--dim)}.fmwrap{background:#0b0f13;border:1px solid #27313b;border-radius:6px;margin-bottom:6px}.fmdiagram{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.fm-circle{fill:#1b2733;stroke:#7cc4ff;stroke-width:1.5px;cursor:grab}.fm-m2 .fm-circle{stroke:#c79bff}.fm-car .fm-circle{cursor:default;stroke:#8bd49c}.fm-txt{fill:#dfe8f0;pointer-events:none;font:600 9px system-ui,sans-serif}.fm-link{stroke:#7cc4ff;opacity:.8}.fm-m2 .fm-link{stroke:#c79bff}.fm-arrowhead{fill:#9fb4c7}.fm-fb{fill:#ffb86b;stroke:#ffb86b;cursor:ns-resize}.fm-op.off .fm-circle{stroke-dasharray:3 3;opacity:.55}.fm-op.off .fm-link{stroke-dasharray:3 3;opacity:.35}.fm-read{fill:#8aa0b3;font:10px system-ui,sans-serif}.envdiagram{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.env-fill{fill:#7cc4ff29;stroke:none}.env-line{fill:none;stroke:#7cc4ff;stroke-width:1.8px;stroke-linejoin:round}.env-hold{stroke:#7cc4ff;stroke-width:1.8px;stroke-dasharray:3 3;opacity:.7}.env-base{stroke:#27313b;stroke-width:1px}.env-handle{fill:#0b0f13;stroke:#ffb86b;stroke-width:2px;cursor:grab}.env-handle:hover{fill:#ffb86b}.env-read{fill:#8aa0b3;font:9px system-ui,sans-serif}.fm-idx{fill:#8aa0b3;pointer-events:none;font:9px system-ui,sans-serif}.fm-wave{fill:none;stroke:currentColor;stroke-width:1.2px;opacity:.5;pointer-events:none}.fm-m1 .fm-wave,.fm-m1 .fm-mark{color:#7cc4ff}.fm-m2 .fm-wave,.fm-m2 .fm-mark{color:#c79bff}.fm-mark{fill:currentColor;stroke:#0b0f13;stroke-width:1.5px}.fm-m1+.fm-mark{fill:#7cc4ff}.fm-m2+.fm-mark{fill:#c79bff}.fm-arc{fill:none;stroke:#ffb86b;stroke-linecap:round;pointer-events:none}.fm-arc.none{stroke-dasharray:1 4;opacity:.5}.fm-archit{fill:none;stroke:#0000;stroke-width:12px;cursor:ns-resize;pointer-events:stroke}.fm-fbl{fill:#ffb86b;pointer-events:none;font:9px system-ui,sans-serif}.fm-op.ghost .fm-circle{stroke-dasharray:4 4;opacity:.6}.fm-op.ghost .fm-txt{opacity:.8;font-size:16px}.fm-scale line{stroke:#3a4756;stroke-width:1px}.fm-scale text{fill:#6b7e90;font:8px system-ui,sans-serif}.fm-gtrack{fill:none;stroke:#3a2f22;stroke-width:5px;stroke-linecap:round;pointer-events:none}.fm-gfill{fill:none;stroke:#ffb86b;stroke-width:5px;stroke-linecap:round;pointer-events:none}.fm-scale line{stroke-dasharray:2 4;opacity:.55}.fm-scale line.one{stroke-dasharray:none;opacity:.9;stroke:#4a5a6b}.fm-idx{text-anchor:start}.fm-gfill.idx{stroke:#7cc4ff}.fm-m2 .fm-gfill.idx{stroke:#c79bff}.fm-gtrack{stroke:#26303b}.fm-op.ghost .fm-gtrack{opacity:.4}.fm-op:not(.fm-car) .fm-circle{stroke:var(--c,#7cc4ff)}.fm-op:not(.fm-car) .fm-link,.fm-edge .fm-link{stroke:var(--c,#7cc4ff);fill:none}.fm-op .fm-gfill.idx{stroke:var(--c,#7cc4ff)}.fm-op .fm-wave{color:var(--c,#7cc4ff)}.fm-tabs{gap:4px;padding:4px 4px 0;display:flex}.fm-tab{color:#8aa0b3;cursor:pointer;background:#151c24;border:1px solid #27313b;border-radius:6px 6px 0 0;flex:1;padding:2px 6px;font-size:11px}.fm-tab.on{color:#dfe8f0;background:#1f2a35;border-bottom-color:#1f2a35}.fm-edge .fm-eh{fill:#0b0f13;stroke:var(--c);stroke-width:2px;cursor:ns-resize}.fm-edge .fm-eh:hover{fill:var(--c)}.fm-temp{stroke-width:2px;stroke-dasharray:4 3;pointer-events:none}.fm-loop{fill:none;stroke:#ffb86b}.fm-loop.none{stroke-dasharray:1 4;opacity:.5}.fm-op.off .fm-circle{opacity:.6}.fmroutes .fm-op{cursor:pointer}.fm-circle:focus-visible,.fm-eh:focus-visible{stroke-width:3.5px;stroke:#fff;outline:none}.fm-archit:focus-visible{stroke:#ffffff59;outline:none}.fm-grid{color:#8aa0b3;margin:4px;font-size:10px}.fm-grid summary{cursor:pointer;padding:2px 0}.fm-gridtable{flex-direction:column;gap:2px;display:flex}.fm-gr{grid-template-columns:52px repeat(5,1fr);align-items:center;gap:2px;display:grid}.fm-gr.head span{text-align:center;font-size:9px}.fm-gr input{text-align:center;width:100%;min-width:0;padding:1px 2px;font-size:10px}.envdiagram .env-handle:focus-visible{stroke:#fff;stroke-width:3px;outline:none}.env-h{cursor:grab;outline:none}.env-hit{fill:#0000;pointer-events:all}.env-h:focus-visible .env-handle{stroke:#fff;stroke-width:3px;fill:#ffb86b}.arr-grip{width:14px}.arr-grip:focus-visible{outline-offset:-2px;background:#fff6;outline:2px solid #fff}.fm-archit{stroke-width:16px}.fm-edge .fm-eh{r:8}@media (pointer:coarse){.fm-archit{stroke-width:22px}.fm-edge .fm-eh{r:11}.arr-grip{width:22px}}.fxrack{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:6px;display:grid}.fx-tile{background:#151c24;border:1px solid #27313b;border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:4px;display:flex}.fx-tile.on{background:#182430;border-color:#4f7fa8}.fx-toggle{color:#6f8396;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:center;gap:1px;min-height:40px;padding:4px 0 2px;display:flex}.fx-tile.on .fx-toggle{color:#9fd0ff}.fx-toggle:focus-visible,.fx-track:focus-visible{outline-offset:1px;outline:2px solid #fff}.fx-name{font-size:10px}.fx-track{cursor:ew-resize;touch-action:none;background:#0b0f13;border-radius:5px;height:22px;position:relative;overflow:hidden}.fx-fill{background:#2b3a49;position:absolute;inset:0 auto 0 0}.fx-tile.on .fx-fill{background:#3a6c99}.fx-val{color:#cfe0ee;pointer-events:none;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}@media (pointer:coarse){.fx-track{height:30px}.fx-toggle{min-height:48px}}.mixer{gap:4px;margin-bottom:6px;display:flex}.mx-strip{border:1px solid #27313b;border-top:3px solid hsl(var(--hue) 70% 62%);background:#151c24;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:3px 2px 4px;display:flex}.mx-strip.silenced{opacity:.45}.mx-label{color:hsl(var(--hue) 70% 72%);font-size:9px}.mx-fader{cursor:ns-resize;touch-action:none;background:#0b0f13;border-radius:4px;width:22px;height:96px;position:relative;overflow:hidden}.mx-fill{background:hsl(var(--hue) 55% 45%);position:absolute;inset:auto 0 0}.mx-unity{pointer-events:none;background:#fff8;height:1px;position:absolute;bottom:66.6%;left:0;right:0}.mx-val{color:#8aa0b3;font-size:9px}.mx-pan{cursor:ew-resize;touch-action:none;background:#0b0f13;border-radius:4px;width:90%;height:14px;position:relative}.mx-pancenter{background:#fff6;width:1px;position:absolute;top:2px;bottom:2px;left:50%}.mx-panmark{background:hsl(var(--hue) 70% 68%);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:2px;bottom:2px}.mx-btns{gap:3px;display:flex}.mx-btn{color:#8aa0b3;cursor:pointer;background:#0b0f13;border:1px solid #27313b;border-radius:4px;width:20px;height:20px;padding:0;font-size:10px}.mx-btn.mute.on{color:#fff;background:#7a2f2f;border-color:#a44}.mx-btn.solo.on{color:#fff;background:#8a6d12;border-color:#cb3}.mx-fader:focus-visible,.mx-pan:focus-visible,.mx-btn:focus-visible{outline-offset:1px;outline:2px solid #fff}@media (pointer:coarse){.mx-fader{width:30px;height:110px}.mx-pan{height:22px}.mx-btn{width:28px;height:28px}}.over{color:#ffd9b8;background:#8a3b12;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:11px}.over[hidden],.wave-row[hidden]{display:none}.soundfield{margin-bottom:6px;display:block}.inst-btn.card{text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.ib-pic{width:44px;height:38px;color:var(--cat,#7fd49a);background:#172620;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.ib-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ib-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ib-sub{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.ip-pop.wide{flex-direction:column;gap:8px;padding:12px;display:flex}.ip-pop.wide .ip-search{padding:8px 10px;font-size:14px}.ip-chip{align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:inline-flex}.ip-chipic{opacity:.85;display:inline-flex}.ip-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;min-height:160px;padding:2px;display:grid;overflow-y:auto}.ip-card{text-align:center;border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:12px 8px 8px;display:flex;position:relative}.ip-card:hover,.ip-card.cur{background:#24402f;border-color:#3f8a52}.ip-card.sel{border-color:var(--accent)}.ip-card.sel .ip-name{color:var(--accent)}.ip-pic{color:#8fd0a2;justify-content:center;align-items:center;height:42px;display:flex}.ip-card .ip-name{font-size:13px;font-weight:600;line-height:1.2}.ip-desc{color:var(--dim);font-size:11px;line-height:1.25}.ip-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:auto;padding-top:4px;display:flex}.ip-card .ip-id{color:var(--dim);font-family:ui-monospace,monospace;font-size:10px}.ip-card .ip-star{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:2px;font-size:14px;position:absolute;top:4px;right:6px}.ip-card .ip-star.on{color:#f3c969}.ip-empty{grid-column:1/-1}@media (pointer:coarse){.ip-card{padding:14px 8px 10px}.ip-card .ip-star{padding:6px;font-size:18px}}.sample-group{flex-direction:column;gap:5px;display:flex}.sample-group .field{margin:0}.fold.about .fold-sum{font-family:inherit}.desc-shown .fold.about .fold-body{display:flex}.desc-shown .fold.about .fold-head{display:none}.cm-editnum{cursor:text;border-bottom:1px dotted;border-radius:2px}.cm-editnum:hover{background:#ffffff1a}.knob:focus-visible,.hslider:focus-visible{outline-offset:2px;outline:2px solid #fffa}.k-valrow{justify-content:center;width:100%;display:flex;position:relative}.k-steps{pointer-events:none;opacity:0;justify-content:space-between;align-items:center;transition:opacity .1s;display:flex;position:absolute;inset:0}.kcell:focus-within .k-steps{opacity:1}.kcell:focus-within .k-step{pointer-events:auto}@media (hover:hover){.kcell:hover .k-steps{opacity:1}.kcell:hover .k-step{pointer-events:auto}}.k-step{color:#aebbc8;text-align:center;cursor:pointer;background:#232c36;border:0;border-radius:4px;width:15px;height:15px;padding:0;font-size:7px;line-height:15px}.k-step:hover{color:#fff;background:#34414f}.k-step:active{background:var(--cat,#3f8a52);color:#fff}.kcell.wired .k-steps{display:none}@media (pointer:coarse){.k-step{width:22px;height:22px;font-size:9px;line-height:22px}}.cm-choice{cursor:pointer;border-bottom:1px dashed;border-radius:2px}.cm-choice:after{content:"▾";opacity:.65;margin-left:1px;font-size:.72em}.cm-choice:hover{background:#ffffff1a}.menu-item.on{color:var(--accent)}html,body{overscroll-behavior:none}#app{height:100dvh}.code-close{display:none}@media (max-width:900px){body{font-size:14px}input,select,textarea{font-size:16px}#app{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.topbar{gap:6px;height:52px;padding:6px 8px}.brand{display:none}.transport{flex:1;justify-content:space-between;gap:8px;min-width:0;margin:0;padding:3px 10px 3px 3px}.transport .status{min-width:0;max-width:64px;font-size:11px}.play-btn{width:42px;height:42px}.bpm-input{width:56px;padding:6px;font-size:16px}.beats-sel{padding:6px 2px;font-size:16px}.over{margin-left:0}.toolbar{z-index:50;height:calc(56px + env(safe-area-inset-bottom));padding:4px 4px env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.toolbar .btn{background:0 0;border:0;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:46px;padding:0;display:flex}.toolbar .btn svg{width:22px;height:22px}.toolbar .btn.on{background:var(--panel2);color:var(--accent)}.toolbar .btn:disabled{opacity:.3}.main,.code-hidden .main,.palette-hidden .main,.palette-hidden.code-hidden .main{grid-template-columns:1fr}.palette{display:none}.minimap{display:none!important}.zoom{bottom:8px;right:8px}.zoom button{padding:8px 12px}.codecol{z-index:40;top:52px;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));border-left:0;width:auto;position:fixed}.code-hidden .codecol{display:none}.code-head{flex-wrap:wrap;gap:6px}.code-close{display:inline-flex}.ro-note{font-size:11px}.learn-banner.mobile-learn{z-index:6;cursor:pointer;border:1px solid #2f5a3f;border-radius:10px;max-height:34vh;font-size:12.5px;position:absolute;bottom:56px;left:8px;right:8px;overflow-y:auto;box-shadow:0 8px 22px #000a}.learn-banner.mobile-learn.collapsed>:not(b){display:none}.learn-banner.mobile-learn:not(.collapsed):after{content:"tap to fold";color:var(--dim);margin-top:4px;font-size:10.5px;display:block}.pop{min-width:0;max-width:none;max-height:62vh;top:auto!important;left:8px!important;right:8px!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;width:auto!important}.menu.wide,.add-menu{width:auto}.menu-item{padding:12px 10px}.ip-pop.wide{padding-bottom:calc(12px + env(safe-area-inset-bottom));border-radius:0;width:auto!important;max-height:none!important;inset:0!important}.ip-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.toasts{bottom:calc(66px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px)}.toast{max-width:calc(100vw - 16px)}}@media (pointer:coarse){.jack:not(.param){position:relative}.jack:after{content:"";border-radius:50%;position:absolute;inset:-12px}.btn.sm{padding:6px 12px}.cable-hit{stroke-width:28px}}.board.pinching{cursor:grabbing}.ip-top{align-items:center;gap:8px;display:flex}.ip-top .ip-search{flex:1;width:auto;min-width:0}.ip-close{flex:none;display:none}.ip-pop.wide>*{flex:none}.ip-pop.wide>.ip-grid{flex:auto;min-height:0}@media (max-width:900px){.ip-close{display:inline-flex}}.fm-presets{width:100%;margin-bottom:6px}.fm-legend{color:#9aa7b5;margin:6px 2px 2px;font-size:11px;line-height:1.45}.fm-legend b{color:#cfd8e1;font-weight:600}.blurb-readmore{align-self:flex-start}.help-drawer{z-index:55;background:var(--panel);border-left:1px solid #44525f;flex-direction:column;width:min(440px,100%);display:flex;position:fixed;top:52px;bottom:0;right:0;box-shadow:-12px 0 32px #0008}.help-head{border-bottom:1px solid #2c3641;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.help-body{color:#c3ccd6;padding:12px 16px 24px;font-size:13px;line-height:1.55;overflow-y:auto}.help-body .help-lead{color:#9aa7b5;margin:0 0 12px}.help-body h4{letter-spacing:.03em;color:#e6ebf0;margin:16px 0 3px;font-size:12px}.help-body p{margin:0}@media (max-width:900px){.help-drawer{top:0;bottom:calc(56px + env(safe-area-inset-bottom));width:100%}}.wdel{cursor:pointer;pointer-events:all;display:none}.wire.selwire .wdel{display:block}.wire.selwire .wlabel{display:none}.wdel circle,.wdel path{transform:scale(var(--wk,1))}.wdel circle{fill:#2a2f36;stroke:var(--t,#888);stroke-width:2px}.wdel path{stroke:#e6ebf0;stroke-width:2px;stroke-linecap:round;fill:none}.wdel:hover circle{fill:#ef5b5b;stroke:#ef5b5b}@media (pointer:coarse){.wdel circle{r:18}.wdel path{transform:scale(calc(var(--wk,1) * 1.3))}}
