.pr-svg.svelte-1lr8grb{display:block;width:100%;flex:1;min-height:0;background:#050505;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.pr-svg.svelte-1lr8grb:active{cursor:grab}.bg.svelte-1lr8grb{fill:#050505}.neg-zone.svelte-1lr8grb{fill:#0000008c;pointer-events:none}.scale-row.svelte-1lr8grb{stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.2}.scale-row.svelte-1lr8grb.tonic{stroke-width:1;opacity:.5}.vline.svelte-1lr8grb{stroke:#1a1a1a;stroke-width:1}.vline.svelte-1lr8grb.beat{stroke:#232323;stroke-width:1}.vline.svelte-1lr8grb.bar{stroke:#2c2c2c;stroke-width:1.5}path.svelte-1lr8grb{fill:none;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.9;cursor:pointer;transition:opacity .1s ease}path.svelte-1lr8grb.selected{stroke-width:4;filter:drop-shadow(0 0 4px currentColor)}path.svelte-1lr8grb.active{filter:drop-shadow(0 0 6px #fff)}path.svelte-1lr8grb.dim{opacity:.25}.roll-body.svelte-1lr8grb{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.ladder-panel.svelte-1lr8grb{position:absolute;z-index:5;pointer-events:none;background:#0006;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:4px;box-shadow:0 4px 16px #00000040}.transform-hud.svelte-1lr8grb{position:absolute;z-index:6;top:8px;left:50%;transform:translate(-50%);pointer-events:none;padding:.3rem .7rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;letter-spacing:.05em;color:#0f8;background:#00000080;border-radius:4px;text-transform:uppercase}.transform-hud.svelte-1lr8grb .th-hint:where(.svelte-1lr8grb){margin-left:.6rem;color:#777;text-transform:none}.ladder-seg.svelte-1lr8grb{position:absolute;width:3px;border-radius:1px;pointer-events:none}.ladder-label.svelte-1lr8grb{position:absolute;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px rgba(0,0,0,.9)}.ov-label.svelte-1lr8grb{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:10px;pointer-events:none;-webkit-user-select:none;user-select:none;fill:#fff;stroke:#000;stroke-width:3px;paint-order:stroke}.preview.svelte-1lr8grb{fill:none;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 4px currentColor)}.preview-pt.svelte-1lr8grb{fill:#fff;pointer-events:none}.pt.svelte-1lr8grb{fill:#fff;stroke:#000;stroke-width:1.5;cursor:grab}.pt.svelte-1lr8grb.anchor{fill:#0d0d0d;stroke:#0fc;stroke-width:2;r:5}.pt.svelte-1lr8grb.anchor.active{fill:#0fc}.pt.svelte-1lr8grb.ghost{opacity:.45}.playhead.svelte-1lr8grb{stroke:#00e0ff;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.brush-oval.svelte-1lr8grb{fill:none;stroke:#0fc;stroke-width:1.5;stroke-dasharray:6 4;pointer-events:none}.snap-dot.svelte-1lr8grb{fill:none;stroke:#00e0ff;stroke-width:2;pointer-events:none}.snap-guide.svelte-1lr8grb{stroke:#00e0ff;stroke-width:1;stroke-dasharray:5 4;opacity:.6;pointer-events:none}.lasso.svelte-1lr8grb{fill:#00e0ff14;stroke:#00e0ff;stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.env-wrap.svelte-1530tt7{display:flex;align-items:center;gap:.7rem}.env-svg.svelte-1530tt7{background:#000;border:1px solid #1a1a1a;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.env-svg.svelte-1530tt7 .env-grid:where(.svelte-1530tt7){stroke:#171717;stroke-width:1;vector-effect:non-scaling-stroke}.env-svg.svelte-1530tt7 .env-grid:where(.svelte-1530tt7).v{stroke:#0f0f0f}.env-svg.svelte-1530tt7 .handle-line:where(.svelte-1530tt7){stroke:#3a3a3a;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}.env-svg.svelte-1530tt7 .env-curve:where(.svelte-1530tt7){fill:none;stroke:#0fc;stroke-width:2.5;vector-effect:non-scaling-stroke;pointer-events:none}.env-svg.svelte-1530tt7 .env-pt:where(.svelte-1530tt7){fill:#fff;stroke:#000;stroke-width:1.5}.env-svg.svelte-1530tt7 .env-pt:where(.svelte-1530tt7).handle{fill:#0fc;cursor:grab}.preset-trigger .select-frame{font-size:.72rem;color:#bbb}.sound-panel.svelte-gwi2hu{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem;padding:.5rem;border-top:1px solid #1a1a1a;background:#070707}.mini-label.svelte-gwi2hu{color:#666;font-size:.8rem}.sound-left.svelte-gwi2hu{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rec-btn.svelte-gwi2hu{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;color:#bbb;border-color:#333}.rec-btn.svelte-gwi2hu:hover{color:#fff;border-color:#fff}.rec-btn.svelte-gwi2hu.recording{color:#f44;border-color:#f44;animation:svelte-gwi2hu-rec-pulse 1.2s ease-in-out infinite}.rec-dot.svelte-gwi2hu{width:.6rem;height:.6rem;border-radius:50%;background:currentColor}.btn-midi.svelte-gwi2hu{padding:.4rem .7rem;color:#888;font-size:.8rem}.btn-midi.svelte-gwi2hu:hover{color:#fff;border-color:#fff}.synth-stack.svelte-gwi2hu{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.synth-stack.svelte-gwi2hu .synth-card:where(.svelte-gwi2hu){position:relative;display:flex;align-items:center;gap:.35rem;padding:.3rem .5rem;border:1px solid #222;border-radius:.3rem;background:#0d0d0d;font-size:.75rem}.synth-stack.svelte-gwi2hu .synth-card:where(.svelte-gwi2hu).active{border-bottom:2px solid var(--synth-c)}.synth-stack.svelte-gwi2hu .synth-dot:where(.svelte-gwi2hu){width:.7rem;height:.7rem;border-radius:50%;background:var(--synth-c);flex:none;border:none;padding:0;cursor:pointer}.synth-stack.svelte-gwi2hu .synth-dot:where(.svelte-gwi2hu):hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--synth-c) 55%,transparent)}.synth-stack.svelte-gwi2hu .synth-wave .select-frame{font-size:.7rem;color:#aaa}.synth-stack.svelte-gwi2hu .adsr-btn:where(.svelte-gwi2hu){padding:.15rem .4rem;font-size:.68rem;color:#888}.synth-stack.svelte-gwi2hu .adsr-btn:where(.svelte-gwi2hu).open{color:#fff;border-color:var(--synth-c)}.synth-stack.svelte-gwi2hu .partials-btn:where(.svelte-gwi2hu){padding:.15rem .4rem;font-size:.68rem;color:#888}.synth-stack.svelte-gwi2hu .partials-btn:where(.svelte-gwi2hu):hover{color:#fff;border-color:var(--synth-c)}.synth-stack.svelte-gwi2hu .synth-remove:where(.svelte-gwi2hu){padding:.15rem .4rem;font-size:.68rem;color:#555;border-color:transparent}.synth-stack.svelte-gwi2hu .synth-remove:where(.svelte-gwi2hu):hover{color:#f44;border-color:#f44}.synth-stack.svelte-gwi2hu .adsr-editor:where(.svelte-gwi2hu){position:absolute;bottom:calc(100% + .35rem);left:0;padding:.4rem;border:1px solid #222;border-radius:.3rem;background:#101010;z-index:20;box-shadow:0 -6px 18px #00000080;display:flex;flex-direction:column;gap:.3rem}.synth-stack.svelte-gwi2hu .adsr-svg:where(.svelte-gwi2hu){background:#000;border:1px solid #1a1a1a;border-radius:.2rem;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.synth-stack.svelte-gwi2hu .adsr-svg:where(.svelte-gwi2hu) .adsr-grid:where(.svelte-gwi2hu){stroke:#171717;stroke-width:1;vector-effect:non-scaling-stroke}.synth-stack.svelte-gwi2hu .adsr-svg:where(.svelte-gwi2hu) .adsr-curve:where(.svelte-gwi2hu){fill:none;stroke:#ff9f5f;stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.synth-stack.svelte-gwi2hu .adsr-svg:where(.svelte-gwi2hu) .adsr-pt:where(.svelte-gwi2hu){fill:#fff;stroke:#000;stroke-width:1.5;cursor:grab}.synth-stack.svelte-gwi2hu .adsr-svg:where(.svelte-gwi2hu) .adsr-pt:where(.svelte-gwi2hu).fixed{fill:#666;cursor:default}.synth-stack.svelte-gwi2hu .adsr-readout:where(.svelte-gwi2hu){display:flex;gap:.5rem}.synth-stack.svelte-gwi2hu .adsr-readout:where(.svelte-gwi2hu) .adsr-cell:where(.svelte-gwi2hu){display:flex;align-items:center;gap:.25rem;min-width:3.4rem}.synth-stack.svelte-gwi2hu .adsr-readout:where(.svelte-gwi2hu) .adsr-label:where(.svelte-gwi2hu){color:#777;font-size:.65rem;text-transform:uppercase}.synth-stack.svelte-gwi2hu .adsr-readout:where(.svelte-gwi2hu) .adsr-val:where(.svelte-gwi2hu){color:#ccc;font-size:.65rem}.synth-stack.svelte-gwi2hu .synth-add:where(.svelte-gwi2hu){padding:.3rem .6rem;font-size:.9rem;color:#888;border-color:#2a2a2a;line-height:1}.synth-stack.svelte-gwi2hu .synth-add:where(.svelte-gwi2hu):hover{color:#fff;border-color:#fff}.modal-overlay.svelte-gwi2hu{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-gwi2hu{background:#0d0d0d;border:1px solid #2a2a2a;border-radius:.5rem;padding:.8rem;display:flex;flex-direction:column;gap:.5rem;max-width:min(30rem,92vw)}.modal-head.svelte-gwi2hu{display:flex;align-items:center;justify-content:space-between;color:#ddd;font-size:.85rem}.modal-note.svelte-gwi2hu{color:#555;font-size:.7rem}@keyframes svelte-gwi2hu-rec-pulse{0%,to{opacity:1}50%{opacity:.45}}.transport.svelte-1habbmu{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;padding:.35rem .5rem;border-bottom:1px solid #1a1a1a;font-family:Inter}.play-group.svelte-1habbmu{display:flex;align-items:center;gap:.4rem}.btn-play.svelte-1habbmu{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem .9rem}.btn-rewind.svelte-1habbmu{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem .7rem}.btn-reset.svelte-1habbmu{color:#888;padding:.3rem .6rem;font-size:.8rem}.btn-reset.svelte-1habbmu:hover:not(:disabled){border-color:#fff;color:#fff}.btn-reset.svelte-1habbmu:disabled{opacity:.4;cursor:default}.btn-analyzer.svelte-1habbmu{color:#888;padding:.3rem .6rem;font-size:.8rem}.btn-analyzer.svelte-1habbmu:hover{border-color:#fff;color:#fff}.btn-analyzer.svelte-1habbmu.active{color:#0f8;background:#000;border-color:#0f8}.slider-control.svelte-1habbmu{display:flex;align-items:center;gap:.4rem}.slider-control.svelte-1habbmu .bpm-slider:where(.svelte-1habbmu){width:110px}.slider-control.svelte-1habbmu .vol-slider:where(.svelte-1habbmu){width:100px}.slider-control.svelte-1habbmu .bpm-val:where(.svelte-1habbmu){min-width:2.2em;font-weight:700;color:#fff}.grid-control.svelte-1habbmu .grid .select-frame{font-size:.8rem;height:24px;width:52px}.sig-control.svelte-1habbmu .sig .select-frame{font-size:.8rem;height:24px;width:44px}.mini-label.svelte-1habbmu{color:#666;font-size:.8rem}.actions.svelte-1habbmu{margin-left:auto;display:flex;gap:.4rem}main.svelte-13g9dyb{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;width:100%;height:calc(100dvh - var(--site-header-h, 0px));box-sizing:border-box;overflow:hidden;background:#000;color:#eee;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.hud.svelte-13g9dyb{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.3rem .5rem;background:#0a0a0a;border:1px solid #1a1a1a;font-size:.78rem}.hud.svelte-13g9dyb .hud-chord:where(.svelte-13g9dyb){display:flex;align-items:baseline;gap:.6rem;white-space:nowrap}.hud.svelte-13g9dyb .hud-chord:where(.svelte-13g9dyb) .chord-label:where(.svelte-13g9dyb){font-size:1rem;font-weight:700;color:#fff}.hud.svelte-13g9dyb .hud-chord:where(.svelte-13g9dyb) .chord-name:where(.svelte-13g9dyb){color:#888}.hud.svelte-13g9dyb .hud-chord:where(.svelte-13g9dyb) .chord-count:where(.svelte-13g9dyb){color:#555}.hud.svelte-13g9dyb .hud-chord:where(.svelte-13g9dyb) .dim:where(.svelte-13g9dyb){color:#444}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb){display:flex;gap:1.2rem}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb) .gauge:where(.svelte-13g9dyb){display:flex;align-items:center;gap:.4rem}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb) .gauge:where(.svelte-13g9dyb) .g-label:where(.svelte-13g9dyb){color:#777}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb) .gauge:where(.svelte-13g9dyb) .g-bar:where(.svelte-13g9dyb){width:90px;height:.5rem;background:#151515;border-radius:2px;overflow:hidden}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb) .gauge:where(.svelte-13g9dyb) .g-bar:where(.svelte-13g9dyb) .g-fill:where(.svelte-13g9dyb){height:100%;transition:width .15s ease}.hud.svelte-13g9dyb .hud-gauges:where(.svelte-13g9dyb) .gauge:where(.svelte-13g9dyb) .g-val:where(.svelte-13g9dyb){min-width:2em;text-align:right;color:#fff;font-weight:700;background:#00ff8814}.ctx-backdrop.svelte-13g9dyb{position:fixed;inset:0;z-index:50;background:transparent}.ctx-menu.svelte-13g9dyb{position:fixed;z-index:51;min-width:9rem;background:#0d0d0d;border:1px solid #2a2a2a;border-radius:4px;padding:.3rem;box-shadow:0 6px 24px #0009}.ctx-menu.svelte-13g9dyb .ctx-title:where(.svelte-13g9dyb){font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#555;padding:.2rem .4rem}.ctx-menu.svelte-13g9dyb .ctx-item:where(.svelte-13g9dyb){display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:none;color:#ccc;text-align:left;font-size:.78rem;padding:.3rem .5rem;border-radius:3px;cursor:pointer}.ctx-menu.svelte-13g9dyb .ctx-item:where(.svelte-13g9dyb):hover{background:#1a1a1a;color:#fff}.ctx-menu.svelte-13g9dyb .ctx-item:where(.svelte-13g9dyb).synth{font-family:inherit}.ctx-menu.svelte-13g9dyb .ctx-item:where(.svelte-13g9dyb) .dot:where(.svelte-13g9dyb){width:.7rem;height:.7rem;border-radius:50%;flex:none}.ctx-menu.svelte-13g9dyb .ctx-sep:where(.svelte-13g9dyb){height:1px;background:#1e1e1e;margin:.3rem 0}.env-overlay.svelte-13g9dyb{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.env-modal.svelte-13g9dyb{background:#0d0d0d;border:1px solid #2a2a2a;border-radius:.5rem;padding:.8rem;display:flex;flex-direction:column;gap:.5rem}.env-modal-head.svelte-13g9dyb{display:flex;align-items:center;justify-content:space-between;color:#ddd;font-size:.85rem}.env-modal-note.svelte-13g9dyb{color:#555;font-size:.7rem}.roll.svelte-13g9dyb{--strip-h: 20px;flex:1;min-height:0;display:grid;grid-template-columns:3.2rem 1fr}.roll.svelte-13g9dyb .pitch-axis:where(.svelte-13g9dyb){position:relative;height:100%;min-height:0;overflow:hidden;background:#080808;border-right:1px solid #1a1a1a}.roll.svelte-13g9dyb .pitch-axis:where(.svelte-13g9dyb) .axis-row:where(.svelte-13g9dyb){position:absolute;right:.3rem;transform:translateY(-50%);font-size:.68rem;color:#3a3a3a;pointer-events:none;line-height:1}.roll.svelte-13g9dyb .pitch-axis:where(.svelte-13g9dyb) .axis-row:where(.svelte-13g9dyb) .axis-oct:where(.svelte-13g9dyb){color:#fff}.roll.svelte-13g9dyb .pitch-axis:where(.svelte-13g9dyb) .axis-row:where(.svelte-13g9dyb).in-scale{color:#9a9a9a}.roll.svelte-13g9dyb .pitch-axis:where(.svelte-13g9dyb) .axis-row:where(.svelte-13g9dyb).tonic{color:#fff;font-weight:700}.roll.svelte-13g9dyb .editor-col:where(.svelte-13g9dyb){display:flex;flex-direction:column;min-width:0;height:100%;min-height:0}.roll.svelte-13g9dyb .editor-col:where(.svelte-13g9dyb) .tension-strip:where(.svelte-13g9dyb){position:relative;height:var(--strip-h);background:#050505;border-bottom:1px solid #1a1a1a;overflow:hidden}.roll.svelte-13g9dyb .editor-col:where(.svelte-13g9dyb) .strip-cell:where(.svelte-13g9dyb){position:absolute;top:50%;transform:translateY(-50%);height:5px;opacity:.85}@media(max-width:720px){.hud.svelte-13g9dyb{grid-template-columns:1fr;gap:.4rem}}
