:root{--bg:#242933;--panel:#2e3440eb;--panel2:#343a46;--line:#434c5e;--txt:#eceff4;--dim:#8590a2;--acc:#81a1c1;--gen:#81a1c1;--mod:#ebcb8b;--fx:#b48ead;--mixc:#d08770;--out:#bf616a;--field:#1e222a;--track:#545d6f;--btn:#363c48;--headA:#414651;--headB:#303642;--portline:#677183;--portbg:#1f232b;--accsoft:#81a1c147;--accring:#81a1c173;--accfaint:#81a1c11a;--gridline:#eceff433;--kofi:#577c85;--hover:#eceff412;--danger:#cf898f;--sc1:#bf8400;--sc2:#3897d4;--sc3:#00916a;--sc4:#c060a0}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-700-latin.woff2)format("woff2")}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--acc) 55%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--acc) 50%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--acc);background-clip:padding-box}html,body{background:var(--bg);height:100%;color:var(--txt);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font:11.5px/1.45 IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}input,textarea,[contenteditable],#err,.gcard{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#stage{touch-action:none;background:#000;width:100%;height:100%;display:block;position:fixed;inset:0}#freeze{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scrim{z-index:2;background:var(--bg);pointer-events:none;display:none;position:fixed;inset:0}#scrim.on{display:block}#patch{z-index:5;touch-action:none;-webkit-touch-callout:none;background:0 0;position:fixed;inset:0;overflow:hidden}#patch.hidden{display:none}#patch.linking{cursor:crosshair}#grid{pointer-events:none;background-image:radial-gradient(circle at 1px 1px, var(--gridline) 1px, transparent 1.7px);position:absolute;inset:0}#grid.off{background-image:none}#brand{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--kofi);opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:.55em;font-size:clamp(18px,2.5vw,30px);line-height:1;transition:opacity .4s;display:flex;position:absolute;inset:0}#brand.on{opacity:1}.bmark{aspect-ratio:860/401;background:currentColor;width:4.6em;-webkit-mask:url(/img/mark.png) 50%/contain no-repeat;mask:url(/img/mark.png) 50%/contain no-repeat}.bword{letter-spacing:.46em;text-indent:.46em;white-space:nowrap;font-weight:400}.bcap{letter-spacing:.3em;text-indent:.3em;white-space:nowrap;font-size:max(9px,.3em)}@media (width<=460px){.bcap{display:none}}#svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}#svg g{pointer-events:none}#layer{transform-origin:0 0;position:absolute;top:0;left:0}.cable{fill:none;stroke-width:2px;stroke-linecap:round;pointer-events:none;opacity:.85}.cable.tex{stroke:var(--gen)}.cable.num{stroke:var(--mod)}.cable.temp{opacity:.6;stroke-dasharray:4 4}.cable.temp.snap{opacity:.85;stroke-dasharray:none}.cable.hit{stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.node{background:var(--panel2);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:7px;width:224px;position:absolute;box-shadow:0 8px 26px #0000008c}.node.w12{width:336px}.node.w14{width:392px}.node.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--accsoft),0 8px 26px #0009}.node.bypassed{opacity:.5}.node.collapsed .nbody{display:none}.nhead{cursor:move;border-bottom:1px solid var(--line);background:linear-gradient(var(--headA),var(--headB));touch-action:none;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:5px 7px;display:flex}.ntitle{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10.5px;overflow:hidden}.cat-generator .nhead{border-left:3px solid var(--gen)}.cat-modulator .nhead{border-left:3px solid var(--mod)}.cat-effect .nhead{border-left:3px solid var(--fx)}.cat-mix .nhead{border-left:3px solid var(--mixc)}.cat-output .nhead{border-left:3px solid var(--out)}.ntools{opacity:0;will-change:opacity;z-index:2;gap:3px;transition:opacity .12s;display:flex;position:relative}.node:hover .ntools,.node.sel .ntools,.node.bypassed .ntools{opacity:1}.tbtn{color:var(--dim);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 2px;line-height:1;display:inline-flex}.tbtn svg{display:block}.node.collapsed .tbtn.fold svg{transform:rotate(-90deg)}.tbtn:hover{color:var(--acc);background:var(--hover)}.tbtn.del:hover{color:var(--danger)}.tbtn.off{color:var(--danger);opacity:.85}.tbtn.lock.on{color:var(--danger);opacity:1}.node.locked .nbody input,.node.locked .nbody select,.node.locked .nadv input,.node.locked .nadv select,.node.locked .knob{pointer-events:none}.node.locked .crow{opacity:.62}.node.locked .ntools{opacity:1}.bbtn.inert{opacity:.55}.node.bypassed .ntools{opacity:1}.nbody{padding:6px 8px 10px;position:relative}.prow{align-items:center;gap:6px;height:20px;margin:2px 0;display:flex;position:relative}.plabel{color:var(--txt);font-size:11px}.crow{align-items:center;gap:6px;margin:5px 0 0;display:flex;position:relative}.crow label{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.crow.wide select{flex:1.2}body.learn .crow.mbind,body.learn .crow.mteach{outline:1px dashed var(--line);outline-offset:2px;cursor:crosshair;border-radius:3px}body.learn .crow.mbind:hover,body.learn .crow.mteach:hover{outline-color:var(--acc)}.node.armed{outline:1px solid var(--acc);outline-offset:2px;animation:1.1s ease-in-out infinite marm}@media (prefers-reduced-motion:reduce){.node.armed{animation:none}}body.learn .crow.bound{outline-color:var(--mod)}.crow.armed,body.learn .crow.armed:hover{outline:1px solid var(--acc);background:var(--accsoft);animation:1.1s ease-in-out infinite marm}@keyframes marm{50%{outline-color:#0000}}@media (prefers-reduced-motion:reduce){.crow.armed{animation:none}}.mlearn{background:var(--mod);color:var(--portbg);letter-spacing:.02em;white-space:nowrap;border-radius:3px;flex:none;margin-left:2px;padding:0 3px;font-size:9px;line-height:13px}.bbtn[disabled]{opacity:.45;cursor:default}.modlive{color:var(--mod);letter-spacing:.04em;font-size:10px;display:none}.modlive.on{display:block}.crow .modlive.on{margin-left:auto;display:inline}.bbtn.pick{white-space:nowrap;text-overflow:ellipsis;text-align:left;background:var(--field);border:1px solid var(--line);min-width:0;max-width:112px;color:var(--txt);border-radius:4px;flex:1.2;padding:2px 16px 2px 4px;font-size:12px;position:relative;overflow:hidden}.bbtn.pick:hover{background:var(--field);border-color:var(--acc);color:var(--txt)}.bbtn.pick:focus-visible{border-color:var(--acc);box-shadow:0 0 0 3px var(--accsoft);outline:2px solid #0000}.bbtn.pick:after{content:"";opacity:.6;pointer-events:none;border:3.5px solid #0000;border-top-color:currentColor;margin-top:-1px;position:absolute;top:50%;right:5px}.ptext{background:var(--field);width:100%;color:var(--txt);border:1px solid var(--line);font:inherit;border-radius:4px;padding:3px 6px;font-size:11px}.pgroup{position:relative}.srow{margin:0 0 3px;position:relative}input[type=range]{appearance:none;--fill:color-mix(in srgb,var(--acc) 60%,var(--track));--modfill:color-mix(in srgb,var(--mod) 70%,var(--track));--bg:var(--track);background:0 0;width:100%;height:14px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--bg);border-radius:2px;height:3px}input[type=range]::-moz-range-track{background:var(--bg);border:none;border-radius:2px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--acc);cursor:pointer;border-radius:50%;width:9px;height:9px;margin-top:-3px}input[type=range]::-moz-range-thumb{background:var(--acc);cursor:pointer;border:none;border-radius:50%;width:9px;height:9px}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accsoft)}input[type=range]:hover::-moz-range-thumb{box-shadow:0 0 0 3px var(--accsoft)}input[type=checkbox]{--cb:13px;appearance:none;width:var(--cb);height:var(--cb);border:1.5px solid var(--portline);background:var(--portbg);cursor:pointer;border-radius:50%;place-content:center;margin:0;transition:border-color .12s,box-shadow .12s;display:inline-grid}input[type=checkbox]:before{content:"";width:calc(var(--cb) * .385);height:calc(var(--cb) * .385);background:var(--acc);border-radius:50%;transition:transform .14s;transform:scale(0)}input[type=checkbox]:hover{border-color:var(--acc);box-shadow:0 0 0 3px var(--accsoft)}input[type=checkbox]:checked{border-color:var(--acc)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media (prefers-reduced-motion:reduce){input[type=checkbox],input[type=checkbox]:before{transition:none}}.kbank{background:var(--field);border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(4,1fr);gap:8px 3px;margin:6px 0 2px;padding:8px 5px;display:grid}.kcell{border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:3px 0 4px;display:flex}.kcell.on{background:var(--hover);box-shadow:inset 0 0 0 1px var(--mod)}.kcell.past{opacity:.32}.kbank .knob{flex:none;width:88px;height:88px}.klab{-webkit-user-select:none;user-select:none;pointer-events:none;align-items:baseline;gap:5px;font-size:10.5px;line-height:1;display:flex}.kidx{color:var(--dim)}.knum{text-align:left;min-width:42px;color:var(--txt);font-variant-numeric:tabular-nums}.knum.modulated{color:var(--mod)}.krow{gap:9px;min-height:88px;margin:4px 0}.knob{cursor:ns-resize;touch-action:none;outline:none;flex:0 0 88px;width:88px;height:88px;overflow:visible}.ktrack{fill:none;stroke:var(--track);stroke-width:1.9px;stroke-linecap:round}.kfill{fill:none;stroke:var(--acc);stroke-width:1.9px;stroke-linecap:round}.kmod{fill:none;stroke:var(--mod);stroke-width:1.2px;stroke-linecap:round;opacity:.95}.kdial{fill:var(--field);stroke:var(--line);stroke-width:.7px}.kptr{stroke:var(--txt);stroke-width:1.2px;stroke-linecap:round}.knob:hover .kptr,.knob.dragging .kptr,.knob.dragging .kdial,.knob:focus-visible .kdial{stroke:var(--acc)}select,input[type=text],input[type=email]{background:var(--field);border:1px solid var(--line);color:var(--txt);font:inherit;border-radius:4px;padding:2px 4px}select:focus-visible,input[type=text]:focus-visible,input[type=email]:focus-visible{outline-offset:1px;border-color:var(--acc);box-shadow:0 0 0 3px var(--accsoft);outline:2px solid #0000}span.num{text-align:right;width:58px;color:var(--txt);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:none;padding:2px 4px}span.num.modulated{color:var(--mod)}select{max-width:112px}.advtoggle{color:var(--dim);cursor:pointer;letter-spacing:.06em;border-top:1px dashed var(--line);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;margin-top:8px;padding-top:5px;font-size:10.5px;display:flex}.advtoggle svg{flex:none;display:block}.advtoggle:hover{color:var(--acc)}.nadv{display:none}.nadv.open{display:block}.pcol{appearance:none;border:1px solid var(--line);cursor:pointer;border-radius:4px;flex:none;width:34px;height:16px;padding:0}.pcol:hover{border-color:var(--acc)}.pcol:focus-visible{border-color:var(--acc);box-shadow:0 0 0 3px var(--accsoft);outline:2px solid #0000}.cpick{z-index:60;background:var(--panel2);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:7px;width:232px;font-size:11px;position:fixed;box-shadow:0 8px 26px #0000008c}.cpbody{flex-direction:column;gap:7px;padding:8px;display:flex}.cpsv,.cphue{border:1px solid var(--line);cursor:crosshair;touch-action:none;border-radius:4px;width:100%;display:block}.cpsv{height:132px}.cphue{height:12px}.cprow{align-items:center;gap:6px;display:flex}.cpchip{border:1px solid var(--line);border-radius:4px;flex:none;width:22px;height:22px}.cphex{text-transform:lowercase;flex:1 1 0;min-width:0}.bbtn.cpeye{border-color:var(--line);border-radius:4px;flex:none;padding:3px 6px}.cpslab{color:var(--dim);letter-spacing:.03em;margin:3px 0 0;font-size:10px}.cprowsw{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.cpsw{border:1px solid var(--line);cursor:pointer;border-radius:3px;width:18px;height:18px;padding:0}.cpsw:hover{border-color:var(--acc)}body.eyedrop,body.eyedrop *{cursor:crosshair!important}.crow.idle{opacity:.45}.crow.idle:hover{opacity:.8}.num.hex{font-variant-numeric:normal;letter-spacing:.02em}.xypad{aspect-ratio:1;background:var(--field);border:1px solid var(--line);cursor:crosshair;touch-action:none;border-radius:6px;width:100%;margin:6px 0 4px;position:relative;overflow:hidden}.xypad.dragging{border-color:var(--acc)}.xycross{background:linear-gradient(var(--line), var(--line)) center/1px 100% no-repeat, linear-gradient(var(--line), var(--line)) center/100% 1px no-repeat;opacity:.7;position:absolute;inset:0}.xytrail{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.xydot,.xyghost{pointer-events:none;border-radius:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;position:absolute}.xydot{background:var(--acc);box-shadow:0 0 0 3px var(--accsoft)}.xyghost{border:1.5px solid var(--mod);background:0 0}.trow{gap:5px;margin:7px 0 5px;display:flex}.tkey{color:var(--dim);background:var(--btn);border:1px solid var(--line);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;padding:7px 0;display:flex}.tkey:hover{color:var(--txt);border-color:var(--acc)}.tkey.on{color:var(--acc);border-color:var(--acc);background:var(--accsoft)}.tkey.rec.on{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--out) 22%, transparent)}.tkey.rec.waiting{animation:1.6s ease-in-out infinite recpulse}.tkey.rec.rolling{background:color-mix(in srgb, var(--out) 45%, transparent);animation:none}.tkey.inert{opacity:.35}.gatebtn{background:var(--field);border:2px solid var(--line);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:88px;height:88px;margin:6px auto 8px;padding:0;transition:border-color .1s,box-shadow .1s,transform 60ms;display:block;position:relative;box-shadow:inset 0 2px 7px #0006}.glamp{background:var(--track);border-radius:50%;transition:background 80ms,box-shadow 80ms;position:absolute;inset:13px}.gatebtn:hover{border-color:var(--acc)}.gatebtn:active{transform:scale(.96)}.gatebtn.on{border-color:var(--acc);box-shadow:0 0 0 4px var(--accsoft), inset 0 2px 7px #0003}.gatebtn.on .glamp{background:var(--acc);box-shadow:0 0 14px var(--acc)}.gatebtn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.port.outport.multi{top:0}.prow.inon .plabel{color:var(--mod)}.prow.inon .port.in{border-color:var(--mod);background:var(--mod)}.prow.inoff{opacity:.4}.outtag{color:var(--dim);letter-spacing:.06em;pointer-events:none;margin-top:-1px;font-size:9.5px;line-height:11px;position:absolute;right:12px}.pbtn{background:var(--btn);border:1px solid var(--line);border-radius:4px;width:100%;padding:3px 6px}.npanel{background:var(--field);border:1px solid var(--line);border-radius:4px;width:100%;margin:6px 0 2px;display:block}.panelbox{margin:6px 0 2px;position:relative}.panelbox .npanel{width:100%;height:100%;margin:0}.node.rsz{width:auto;min-width:224px}.readout{background:var(--field);border:1px solid var(--line);color:var(--mod);text-align:right;border-radius:4px;margin-top:6px;padding:3px 5px}.node.vp{width:auto;box-shadow:none;background:0 0}.node.vp .nhead{background:var(--panel2);box-shadow:0 6px 20px #00000080}.node.vp .nbody{background:0 0;padding:0}.node.vp .crow{background:var(--panel2);margin:0;padding:4px 8px 6px;box-shadow:0 6px 20px #00000080}.node.vp .prow{background:var(--panel2);margin:0;padding:0 8px}.vpscreen{border:1px solid var(--line);background:0 0;border-radius:0 0 6px 6px;position:relative;box-shadow:0 8px 26px #0000008c}.vph{touch-action:none;position:absolute}.vph-n,.vph-s{cursor:ns-resize;height:9px;left:12px;right:12px}.vph-n{top:0}.vph-s{bottom:0}.vph-e,.vph-w{cursor:ew-resize;width:9px;top:12px;bottom:12px}.vph-w{left:0}.vph-e{right:0}.vph-nw,.vph-ne,.vph-sw,.vph-se{z-index:2;width:15px;height:15px}.vph-nw{cursor:nwse-resize;top:0;left:0}.vph-ne{cursor:nesw-resize;top:0;right:0}.vph-sw{cursor:nesw-resize;bottom:0;left:0}.vph-se{cursor:nwse-resize;bottom:0;right:0}@media (pointer:coarse){.vph-n,.vph-s{height:16px;left:20px;right:20px}.vph-e,.vph-w{width:16px;top:20px;bottom:20px}.vph-nw,.vph-ne,.vph-sw,.vph-se{width:22px;height:22px}}.port{z-index:1;border:1.5px solid var(--portline);background:var(--portbg);cursor:crosshair;touch-action:none;border-radius:50%;flex:none;width:11px;height:11px;position:absolute}.port.in{left:var(--portx,-15px);margin:-5.5px 0 0;position:absolute;top:50%}.node.vp .crow,.node.vp .prow{--portx:-7px}.port.tex{border-color:var(--gen)}.port.num{border-color:var(--mod)}.port.linked{background:currentColor}.port.tex.linked{background:var(--gen)}.port.num.linked{background:var(--mod)}.port.modport{width:9px;height:9px;left:calc(var(--portx,-15px) + 1px);margin-top:-4.5px}.port.outport{background:var(--portbg);position:absolute;top:9px;right:-6px}.port:hover{box-shadow:0 0 0 3px var(--accsoft)}.port.magnet{box-shadow:0 0 0 3px var(--accring)}.palette{z-index:40;width:min(278px,100vw - 16px);max-height:min(530px, calc(100vh - var(--barh,45px) - 44px));max-height:min(530px, calc(100dvh - var(--barh,45px) - 44px));background:var(--panel2);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:8px;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0009}.plist{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.ppreview{z-index:40;background:var(--panel2);border:1px solid var(--line);pointer-events:none;border-radius:8px;width:264px;padding:7px;position:fixed;box-shadow:0 12px 40px #00000080}.pcanvas{aspect-ratio:16/9;background:var(--field);border:1px solid var(--line);border-radius:5px;width:100%;display:block}.pvdesc{color:var(--txt);margin-top:6px;font-size:10.5px;line-height:1.55}.pnote:empty{display:none}.pnote{color:var(--dim);margin-top:4px;font-size:9.5px;line-height:1.5}.ppreview.empty .pcanvas{display:none}.pvrole{letter-spacing:.12em;text-transform:uppercase;color:var(--mod);padding:4px 6px 0;font-size:9px}.pvrole:empty{display:none}.pvrole.r-processor{color:var(--acc)}.pvrole.r-hand{color:var(--gen)}.pvrole.r-world{color:var(--dim)}.pvshape{border-top:1px solid var(--line);margin:7px 0 0;padding:7px 6px 2px;font-size:10.5px;line-height:1.65}.pvshape:empty{display:none}.pvneed{color:var(--txt)}.pvout{color:var(--dim)}.ppreview.empty .pvdesc{margin-top:0;padding:4px 6px 0}.ppreview.empty .pnote{margin:4px 0 0;padding:0 6px 4px;line-height:1.7}.phint{border-top:1px solid var(--line);color:var(--dim);flex:none;min-height:2.7em;margin-top:6px;padding-top:6px;font-size:10px;line-height:1.35}.psearch{width:100%;margin-bottom:6px}.pcat{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin:10px 0 3px;font-size:10px}.pcat:first-child{margin-top:0}.pitem{cursor:pointer;border-left:3px solid #0000;border-radius:4px;padding:4px 6px}.pitem:hover{background:var(--hover)}.pitem:focus-visible{background:var(--hover);outline:2px solid var(--acc);outline-offset:-2px}.pitem.cat-generator{border-left-color:var(--gen)}.pitem.cat-modulator{border-left-color:var(--mod)}.pitem.cat-effect{border-left-color:var(--fx)}.pitem.cat-mix{border-left-color:var(--mixc)}.pitem.cat-output{border-left-color:var(--out)}.fpick{width:min(320px,100vw - 16px)}.fitem{cursor:pointer;border-radius:4px;align-items:baseline;gap:8px;padding:5px 6px;display:flex}.fitem:hover{background:var(--hover)}.fitem:focus-visible{background:var(--hover);outline:2px solid var(--acc);outline-offset:-2px}.fitem.on{background:var(--accsoft)}.fname{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:17px;line-height:1.5;overflow:hidden}.fcat{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;flex:none;font-size:9.5px}#bar{bottom:12px;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;overscroll-behavior:contain;border-radius:11px;align-items:center;gap:3px;padding:5px 6px;display:flex;position:fixed;overflow:auto hidden;transform:translate(-50%);box-shadow:0 10px 34px #00000080}#bar::-webkit-scrollbar{display:none}#bar.dim{opacity:.22}#bar.dim:hover{opacity:1}.bbtn{color:var(--txt);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 9px}.bbtn:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.bbtn.iconbtn{justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}.bbtn svg{flex:none;display:block}#bar .bbtn:has(svg):not(.iconbtn){align-items:center;gap:5px;display:inline-flex}.bbtn:hover{background:var(--hover);color:var(--acc)}.bbtn.on{border-color:var(--mod);color:var(--mod)}.bbtn.recording{color:var(--out);border-color:var(--out);animation:1.6s ease-in-out infinite recpulse}@keyframes recpulse{50%{background:color-mix(in srgb, var(--out) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.bbtn.recording{background:color-mix(in srgb, var(--out) 18%, transparent);animation:none}}.bbtn.open{background:var(--hover);border-color:var(--line)}.bbtn.scoped{color:var(--acc);border-color:var(--acc)}.node.flash{animation:.42s ease-out flash}@keyframes flash{0%{box-shadow:0 0 0 2px var(--acc)}to{box-shadow:0 0 0 2px #0000}}.bsep{background:var(--line);opacity:.7;flex:none;align-self:stretch;width:1px;margin:1px 5px}.bgrp{flex:none;align-items:center;gap:2px;display:flex}.blab{color:var(--dim);letter-spacing:.05em;pointer-events:none;-webkit-user-select:none;user-select:none;padding:0 4px 0 2px;font-size:11px}.bbtn.pname{text-overflow:ellipsis;flex:0 auto;max-width:24ch;overflow:hidden}.blab.stats{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;flex:none;padding-right:6px}.bbtn.icon{color:var(--dim);padding:4px 8px}.bbtn.icon:hover{color:var(--acc)}.pop{left:50%;bottom:calc(var(--barh,45px) + 20px);bottom:calc(var(--barh,45px) + 20px + env(safe-area-inset-bottom));z-index:41;background:var(--panel2);border:1px solid var(--line);max-height:calc(100vh - var(--barh,45px) - 40px);max-height:calc(100dvh - var(--barh,45px) - 40px - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:10px;padding:10px 12px 11px;display:none;position:fixed;overflow:auto;transform:translate(-50%);box-shadow:0 12px 40px #0009}.pop.open{display:block}#menu{width:min(344px,100vw - 16px)}#capture{width:min(252px,100vw - 16px)}.mtabs{border-bottom:1px solid var(--line);gap:2px;margin:-4px -12px 14px;padding:0 12px;display:flex}.mshut{align-self:center;margin-left:auto}.mtab{color:var(--dim);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:4px 8px;font-size:11px}.mtab:hover{color:var(--txt)}.mtab.on{color:var(--txt);border-bottom-color:var(--acc)}.mpanes{display:grid}.mpane{visibility:hidden;overscroll-behavior:contain;grid-area:1/1;align-self:start;max-height:min(46vh,340px);margin-inline:-4px;padding-inline:4px;overflow-y:auto}.mpane.on{visibility:visible}#patches{width:min(268px,100vw - 16px);left:0;transform:none}#patches .pitem{border-radius:5px;padding:6px 8px}#patches .plist{max-height:34vh}.poplab{color:var(--dim);letter-spacing:.06em;margin:0 0 4px 2px;font-size:10.5px}.pop .mrow{align-items:center;gap:6px;min-width:0;margin:5px 0;display:flex}.pop .mrow>span{color:var(--dim);white-space:nowrap;flex:0 0 92px}.pop .mrow .bbtn,.pop .mrow select{border-color:var(--line);background:var(--btn);text-align:center;flex:1 1 0;width:auto;min-width:0;max-width:none;padding:4px 6px}.pop .mrow .bbtn{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pop .mrow.mchk>span{white-space:normal;flex:auto}.pop .mrow.mchk input[type=checkbox]{flex:none;margin-left:auto}.pop .mrow.mgap{margin-top:12px}.pop hr{border:0;border-top:1px solid var(--line);margin:7px 0}.kofinote svg{vertical-align:-.24em;width:1.2em;height:1.2em;color:var(--out)}.kofinote{color:var(--dim);margin:0 0 14px;padding:0 4px;font-size:11px;line-height:1.85}.credits{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.credlab{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-size:9.5px}.credrow{color:var(--txt);align-items:baseline;gap:10px;padding:2px 0;font-size:10.5px;line-height:1.5;display:flex}.credrow>span{flex:1;min-width:0}.credrow a{color:var(--dim);white-space:nowrap;border-bottom:1px solid #0000;text-decoration:none;transition:color .12s,border-color .12s}.credrow a:hover,.credrow a:focus-visible{color:var(--acc);border-bottom-color:var(--acc)}.buglab{color:var(--acc);letter-spacing:.04em;margin:10px 0 3px;padding:0 2px;font-size:11px;display:block}.bughint{color:var(--dim);padding:0 2px 3px;font-size:10px;display:block}.bugtext{background:var(--field);width:100%;color:var(--txt);border:1px solid var(--line);font:inherit;resize:none;border-radius:4px;padding:5px 6px;font-size:11px;line-height:1.5}.bugtext::placeholder,#bugWho::placeholder{color:var(--dim);opacity:.75}.bugtext:focus-visible{outline-offset:1px;border-color:var(--acc);box-shadow:0 0 0 3px var(--accsoft);outline:2px solid #0000}.bugsend{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-top:14px;display:flex}.bugsend .bugsay{text-align:left;flex:1 1 0}.bugsend .bbtn{border-color:var(--line);background:var(--btn);flex:none;padding:6px 14px}.bugsend .bbtn:hover{background:var(--btn);border-color:var(--acc)}.bugsay{min-width:0;color:var(--dim);margin:0;font-size:10.5px;line-height:1.4}.bugsay.good{color:var(--acc)}.bugsay.warn{color:var(--danger)}.kofibox{text-align:center;margin-top:22px}.kofi{text-align:center;border:1px solid var(--line);background:var(--btn);max-width:100%;color:var(--txt);border-radius:7px;padding:7px 18px;text-decoration:none;display:inline-block}.kofi:hover,.kofi:focus-visible{border-color:var(--acc);color:var(--acc)}#hud{left:calc(10px + env(safe-area-inset-left));top:calc(8px + env(safe-area-inset-top));z-index:31;color:var(--dim);opacity:.45;pointer-events:none;letter-spacing:.04em;align-items:center;gap:4px;transition:opacity .2s;display:flex;position:fixed}#hud:empty{display:none}#help{left:50%;bottom:calc(var(--barh,45px) + 20px);bottom:calc(var(--barh,45px) + 20px + env(safe-area-inset-bottom));z-index:31;color:var(--dim);background:var(--panel2);border:1px solid var(--line);width:max-content;max-width:min(420px,100vw - 16px);max-height:calc(100vh - var(--barh,45px) - 40px);max-height:calc(100dvh - var(--barh,45px) - 40px - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:8px;padding:12px 15px 13px;display:none;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 40px #0009}#help.open{display:block}.kgroup{grid-template-columns:max-content 1fr;align-items:baseline;gap:3px 12px;margin-top:12px;line-height:1.45;display:grid}.kgroup.first{margin-top:1px}.kgroup .poplab{grid-column:1/-1;margin:0 0 1px 1px}.kbkey{color:var(--txt);font-weight:400}.kgroup>span{color:var(--dim)}.kcap{border:1px solid var(--line);background:var(--field);min-width:16px;color:var(--txt);font:inherit;text-align:center;white-space:nowrap;border-radius:3px;padding:0 4px;font-size:10.5px;line-height:15px;display:inline-block}.kplus{color:var(--dim);padding:0 2px;font-size:9.5px;font-style:normal}.kfoot{border-top:1px solid var(--line);color:var(--dim);margin-top:14px;padding-top:8px;font-size:10.5px}#help{line-height:1.45}@media (width>=740px) and (height>=480px){#help{column-count:2;column-gap:26px;width:700px;max-width:calc(100vw - 16px)}#help .kgroup{break-inside:avoid;margin-top:0;margin-bottom:13px}#help .kfoot{column-span:all;margin-top:2px}}.dlg{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.12s ease-out dlgin;display:flex;position:fixed;inset:0}@keyframes dlgin{0%{opacity:0}}.dcard{background:var(--panel2);border:1px solid var(--line);border-radius:11px;width:min(360px,100%);padding:15px 16px 14px;box-shadow:0 18px 50px #0000008c}.dmsg{color:var(--txt);margin:0 0 6px;line-height:1.6}.dmsg+.dmsg{color:var(--dim);font-size:11.5px}.dinput{background:var(--field);border:1px solid var(--line);width:100%;color:var(--txt);font:inherit;border-radius:6px;margin-top:10px;padding:6px 8px}.dinput:focus{border-color:var(--acc);outline:none}.drow{justify-content:flex-end;gap:7px;margin-top:14px;display:flex}.dbtn{border-color:var(--line);background:var(--btn);padding:5px 13px}.dbtn.ok{border-color:var(--acc);color:var(--acc)}.dbtn.ok.danger{border-color:var(--danger);color:var(--danger)}.dbtn:focus-visible{outline:2px solid var(--acc);outline-offset:1px}#err{inset:auto 0 calc(var(--barh,45px) + 20px + env(safe-area-inset-bottom)) 0;color:#ffd9dc;white-space:pre-wrap;z-index:50;cursor:pointer;background:#3a1216;max-height:40%;padding:10px;font-size:11px;display:none;position:fixed;overflow:auto}#err:after{content:" (click to dismiss)";opacity:.55}#gate{z-index:60;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}#gate.open{display:flex}#gate .gcard{background:var(--panel2);border:1px solid var(--line);max-width:440px;color:var(--dim);border-radius:12px;padding:18px 20px;line-height:1.7;box-shadow:0 18px 60px #000000b3}#gate h1{color:var(--txt);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:13px;font-weight:400}#gate p{margin:0 0 9px}#gate ul{margin:0;padding-left:17px}#gate .gwhy,#gate #gone{display:none}#gate .gwhy{background:var(--field);border-left:3px solid var(--acc);color:var(--txt);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 4px 4px 0;margin:0 0 9px;padding:7px 9px;font-size:11px;line-height:1.5}#gate b{color:var(--txt);font-weight:400}#tiny{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:#06080bb8;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#tiny.open{display:flex}#tiny .tcard{background:var(--panel2);border:1px solid var(--line);width:min(334px,100%);max-height:calc(100dvh - 24px);color:var(--dim);border-radius:12px;padding:15px 17px 13px;line-height:1.75;overflow:auto;box-shadow:0 18px 60px #000000b3}#tiny h1{color:var(--txt);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:400}#tiny p{margin:0 0 8px}#tiny b{color:var(--txt);font-weight:400}#tiny .bbtn{border-color:var(--line);background:var(--btn);width:100%;margin-top:11px;padding:6px 10px;display:block}#intro{z-index:45;padding:calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 16px calc(16px + env(safe-area-inset-left));background:#06080b6b;justify-content:center;align-items:flex-start;display:none;position:fixed;inset:0}#intro.open{display:flex}#intro .icard{background:var(--panel2);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;width:min(720px,100%);padding:10px 12px;display:flex;box-shadow:0 14px 44px #0009}.iask{min-width:0;color:var(--dim);flex:14em;margin:0;font-size:12.5px;line-height:1.5}#intro .bbtn{border-color:var(--line);background:var(--btn);flex:none;padding:7px 12px}#intro .itour{border-color:var(--mod);background:var(--btn);color:var(--mod);letter-spacing:.04em;flex:none;padding:7px 12px}#intro .itour:hover{background:var(--hover);border-color:var(--mod);color:var(--mod)}#intro .itour:focus-visible{outline-color:var(--mod);outline-offset:0}@media (hover:none){.ntools{opacity:1}#bar.dim{opacity:.6}}@media (pointer:coarse){.tbtn{min-width:26px;height:24px;padding:0 4px}.knob{cursor:default}.cable.hit{stroke-width:26px}.port:after{content:"";position:absolute;inset:-8px}.port.in:after{inset:-8px -1px -8px -14px}.port.outport:after{inset:-8px -14px -8px -1px}input[type=range]{height:26px}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-6px}input[type=range]::-moz-range-thumb{width:15px;height:15px}input[type=checkbox]{--cb:17px}.pitem{padding:7px 6px}.fitem{padding:8px 6px}.pop .mrow .bbtn,.pop .mrow select{padding:7px 6px}.bbtn{padding:7px 10px}.advtoggle{padding-top:8px;padding-bottom:4px}}@media (width<=640px){.node.w14{width:336px}.kbank .knob{width:74px;height:74px}#bar{max-width:none;padding:5px calc(6px + env(safe-area-inset-right)) 5px calc(6px + env(safe-area-inset-left));flex-wrap:wrap;justify-content:center;gap:4px 6px;left:8px;right:8px;overflow:visible;transform:none}#bar .bsep,#bar .blab:not(.stats){display:none}#bar .blab.stats{padding-right:2px}}@media (width<=360px){#bar{padding-left:calc(4px + env(safe-area-inset-left));padding-right:calc(4px + env(safe-area-inset-right));gap:3px 4px}.bbtn{padding-left:7px;padding-right:7px}}@media (height<=460px){#help{padding:7px 11px;line-height:1.5}#intro .icard{padding:10px 12px;line-height:1.6}#tiny .tcard{padding:11px 15px 10px;line-height:1.6}#tiny h1{margin-bottom:6px}.palette{max-height:calc(100dvh - 16px)}}.amark{aspect-ratio:860/401;background:var(--kofi);width:96px;margin:30px auto 6px;-webkit-mask:url(/img/mark.png) 50%/contain no-repeat;mask:url(/img/mark.png) 50%/contain no-repeat}.tour{left:50%;top:calc(10px + env(safe-area-inset-top));z-index:46;background:var(--panel2);border:1px solid var(--line);opacity:0;border-radius:9px;align-items:center;gap:12px;width:min(720px,100vw - 32px);min-height:30px;padding:10px 12px;transition:opacity .28s,transform .28s;display:none;position:fixed;transform:translate(-50%,-10px);box-shadow:0 14px 44px #0009}.tour.on{opacity:1;display:flex;transform:translate(-50%)}body.touring #hud{top:calc(56px + env(safe-area-inset-top))}.tstep{width:5ch;color:var(--mod);font-variant-numeric:tabular-nums;flex:none;margin-right:4px;font-size:11px}.ttext{flex:auto;align-items:center;min-width:0;min-height:4.5em;display:flex}.ttext>span{font-size:12.5px;line-height:1.5}.ttext span b{color:var(--acc);font-weight:500}.tour .bbtn{border-color:var(--line);background:var(--btn);flex:none}.tour .tdone{color:var(--dim);flex:none}.tour .tback:disabled{opacity:.35;cursor:default}input[type=range].tourwant::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accring);animation:1.4s ease-in-out infinite tourwant}input[type=range].tourwant::-moz-range-thumb{box-shadow:0 0 0 4px var(--accring);animation:1.4s ease-in-out infinite tourwant}.knob.tourwant{box-shadow:0 0 0 4px var(--accring);border-radius:50%;animation:1.4s ease-in-out infinite tourwant}.crow.tourwant{outline:2px solid var(--acc);outline-offset:1px;border-radius:4px;animation:1.4s ease-in-out infinite tourwant}.port.tourwant{z-index:3;box-shadow:0 0 0 5px var(--accsoft);animation:1.4s ease-in-out infinite tourwant}@keyframes tourwant{50%{box-shadow:0 0 0 9px var(--accfaint)}}@media (prefers-reduced-motion:reduce){.port.tourwant,.crow.tourwant,.knob.tourwant{animation:none}input[type=range].tourwant::-webkit-slider-thumb{animation:none}input[type=range].tourwant::-moz-range-thumb{animation:none}}.tour.ask .ttext span b{color:var(--acc)}.ttext span .got{color:var(--gen);font-weight:500}.ttext span .sig{color:var(--mod);font-weight:500}.ttext span .pic{color:var(--gen);font-weight:500}.tour.end .tdone{color:var(--mod)}.tourrow{border-bottom:1px solid var(--line);margin:4px 0 16px;padding-bottom:14px}.tourrow .bbtn{border-color:var(--mod);background:var(--btn);color:var(--mod);letter-spacing:.04em;flex:auto;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-size:12px;display:inline-flex}.tourrow .bbtn:hover{background:var(--hover);border-color:var(--mod);color:var(--mod)}.tourrow .bbtn svg{flex:none}@media (width<=640px){.tour{flex-wrap:wrap}.ttext{flex:100%;order:-1}}
