:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#141519;--panel-bg:linear-gradient(180deg, #1f2127, #191b20);--panel-border:1px solid transparent;--panel-shadow:0 8px 24px #0009, inset 0 1px 0 #ffffff0f;--row-bg:linear-gradient(180deg, #22242b, #1c1e24);--row-shadow:0 4px 12px #0006;--control-bg:#23252c;--control-fg:#bdbdc7;--control-border:#32353d;--radius:10px;--radius-sm:6px;--inset-bg:#101216;--readout-bg:#101216;--readout-fg:#7fe8c0;--readout-border:1px solid #2a2d34;--readout-shadow:none;--readout-glow:none;--play-bg:linear-gradient(180deg, #ff9440, #f57200);--play-fg:#241200;--play-shadow:0 2px 10px #ff8c3a73;--scope-trace:#ff8c3a;--knob-face:#101014;--knob-stroke:#2a2d34;--knob-pointer-glow:none;--text:#e8e6e3;--muted:#8a8a94;--cursor:#4af;--acc:#ff8c3a;--danger:#ff6b6b;font-family:system-ui,sans-serif}:root[data-theme=fl-classic]{--app-bg:#3a3d42;--panel-bg:linear-gradient(180deg, #53565c, #3e4147);--panel-border:1px solid transparent;--panel-shadow:inset 0 1px 0 #ffffff40, inset 0 -1px 0 #00000080, 0 3px 6px #00000080;--row-bg:linear-gradient(180deg, #484b52, #3b3e44);--row-shadow:inset 0 1px 0 #ffffff2e, inset 0 -1px 2px #0006;--control-bg:linear-gradient(180deg, #5b5e66, #44474e);--control-fg:#e8e6e3;--control-border:transparent;--radius:6px;--radius-sm:4px;--inset-bg:linear-gradient(180deg, #1e2024, #2b2d33);--readout-bg:linear-gradient(180deg, #23252a, #2e3138);--readout-fg:#8fe08f;--readout-border:none;--readout-shadow:inset 0 2px 4px #000000b3, 0 1px 0 #ffffff26;--readout-glow:none;--play-bg:linear-gradient(180deg, #ffa14e, #e06a00);--play-fg:#3a2000;--play-shadow:inset 0 1px 0 #ffffff80, inset 0 -2px 3px #00000073, 0 2px 3px #0009;--scope-trace:#ffb35e;--knob-face:#55585f;--knob-stroke:#35383e;--knob-pointer-glow:drop-shadow(0 0 4px var(--acc));--text:#e8e6e3;--muted:#b5b8bf;--cursor:#6fb7ff;--acc:#ffb35e;--danger:#ff5f5f}:root[data-theme=hardware]{--app-bg:#26221e;--panel-bg:linear-gradient(180deg, #4d4740 0%, #37322c 100%);--panel-border:1px solid #1c1916;--panel-shadow:inset 0 2px 2px #ffffff2e, inset 0 -3px 4px #0000008c, 0 4px 8px #000000b3;--row-bg:linear-gradient(180deg, #3f3a34, #332e28);--row-shadow:inset 0 1px 1px #ffffff1f, inset 0 -2px 3px #00000080;--control-bg:linear-gradient(180deg, #57504a, #423c35);--control-fg:#e8e0d5;--control-border:#211d18;--radius:4px;--radius-sm:2px;--inset-bg:#0d0f0a;--readout-bg:#0d0f0a;--readout-fg:#ff9c3f;--readout-border:2px solid #14110d;--readout-shadow:inset 0 2px 6px #000000e6;--readout-glow:0 0 6px #ff8c3a;--play-bg:linear-gradient(180deg, #d84, #a52);--play-fg:#2a1400;--play-shadow:inset 0 2px 2px #ffffff59, inset 0 -3px 4px #00000080, 0 3px 4px #000c;--scope-trace:#7fdf4f;--knob-face:#1a1a1c;--knob-stroke:#514b44;--knob-pointer-glow:none;--text:#efe8dc;--muted:#9a9184;--cursor:#7fdf4f;--acc:#ff9c3f;--danger:#ff7a6b}body{background:var(--app-bg);color:var(--text);margin:0;padding:1rem}#app{-webkit-user-select:none;user-select:none;max-width:1500px;margin:0 auto}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}.knob-row{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.knob{flex-direction:column;align-items:center;width:64px;font-size:.7rem;display:flex}.knob-sm svg{width:32px;height:32px}.knob-dial{cursor:ns-resize;touch-action:none;position:relative}.knob-body{fill:var(--knob-face);stroke:var(--knob-stroke)}.knob-pointer{stroke:var(--acc);stroke-width:2.5px;stroke-linecap:round;filter:var(--knob-pointer-glow)}.knob.learning .knob-body{stroke:#ffd166;stroke-width:2px}.knob.auto-owned .knob-dial{box-shadow:0 0 0 2px var(--acc);border-radius:50%}.learn{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;margin-top:2px;padding:.05rem .35rem;font-size:.55rem}.knob.learning .learn{color:#16161a;background:#ffd166;border-color:#ffd166}.shape-picker{width:calc(var(--picker-cols,2) * 64px + (var(--picker-cols,2) - 1) * 1rem);flex-direction:column;align-items:center;font-size:.7rem;display:flex;position:relative}.shape-slots{box-sizing:border-box;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);gap:2px;width:100%;padding:2px;display:flex}.shape-slot{min-width:0;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex:1 1 0;justify-content:center;align-items:center;padding:2px;display:flex}.shape-slot:hover{color:var(--text)}.shape-slot svg{width:100%;height:28px;display:block}.shape-slot polyline{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.shape-slot:hover{border-color:var(--acc-base)}.shape-slot.selected{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb, var(--acc) 12%, transparent)}.shape-slot.selected polyline{filter:var(--knob-pointer-glow)}.shape-label{margin-top:2px}.shape-value{color:var(--acc)}.shape-picker.auto-owned .shape-slots{box-shadow:0 0 0 2px var(--acc)}.shape-picker.learning .shape-slots{border-color:#ffd166;box-shadow:0 0 0 1px #ffd166}.shape-picker .link-badge{position:absolute;top:0;right:0}.knob-sm{flex-direction:column;align-items:center;display:flex}.fx-row{border-bottom:1px solid #2a2a30;align-items:center;gap:6px;padding:4px 0;display:flex}.fx-enable.on{background:var(--acc);color:#16161a}.fx-up.disabled,.fx-down.disabled{opacity:.3;pointer-events:none}.fx-empty{color:#8a8a94;padding:.5rem;font-size:.8rem}.fx-gate-grid{grid-template-columns:repeat(16,1fr);gap:2px;margin-left:4px;display:grid}.fx-gate-cell{background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;touch-action:none;border-radius:2px;width:1.1rem;height:1.4rem;padding:0}.fx-gate-cell.on{background:var(--acc);border-color:var(--acc)}.fx-gate-cell:nth-child(4n+1){margin-left:3px}.header-nav{z-index:40;background:var(--row-bg);box-shadow:var(--row-shadow);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .75rem;display:flex;position:sticky;top:0}html{scroll-padding-top:8rem}.header-nav .brand{letter-spacing:.08em;color:var(--text);cursor:pointer;font-weight:700}.header-nav .brand .menu-label{font-weight:inherit;letter-spacing:inherit}.header-nav .brand .menu-mark{flex:none;width:22px;height:19px;display:block}.header-nav .brand{align-items:center;gap:.45rem;display:inline-flex}.header-nav .spacer{flex:1}.header-nav button{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.4rem 1.2rem;font-size:1.2rem}.menu-trigger,#play,#rec{align-items:center;gap:.35rem;display:inline-flex}.menu-trigger svg,#play svg,#rec svg{width:18px;height:18px}@media (max-width:1120px){.header-nav{gap:.4rem}.header-nav button{padding:.3rem .8rem;font-size:1rem}.menu-trigger .menu-label{display:none}.header-nav .brand .menu-label{display:inline}.header-nav .brand{letter-spacing:.06em;font-size:.9rem}.header-nav .jam-btn .menu-label{display:inline}.header-nav .jam-btn{font-size:.9rem}.header-nav .rec-menu .menu-label{display:inline}}.jam-btn[data-state=live]{border-color:var(--acc);color:var(--acc)}.jam-btn[data-state=joining]{opacity:.75;cursor:default;padding-right:1.8rem;position:relative}.jam-btn[data-state=joining]:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:.7rem;height:.7rem;margin-top:-.35rem;animation:.8s linear infinite jam-spin;position:absolute;top:50%;right:.6rem}@keyframes jam-spin{to{transform:rotate(360deg)}}.jam-leave{padding:.3rem .7rem;font-size:.85rem}.jam-note{color:var(--muted);font-size:.7rem;line-height:1.1}.play-gate{color:var(--muted);pointer-events:none;font-size:.7rem;line-height:1.1}.jam-transport{pointer-events:none;flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex;position:absolute;top:100%;left:.75rem;right:.75rem}.jam-transport[hidden]{display:none}:root{--peer-0:#ff6b6b;--peer-1:#ffa94d;--peer-2:#c0e058;--peer-3:#51cf66;--peer-4:#22d3ee;--peer-5:#4dabf7;--peer-6:#9775fa;--peer-7:#f06595}:root[data-theme=fl-classic]{--peer-0:#ff9d9d;--peer-1:#ffc888;--peer-2:#dced8f;--peer-3:#8ee79d;--peer-4:#7fe4f5;--peer-5:#92c9fb;--peer-6:#c1adfd;--peer-7:#f9a3c1}:root[data-theme=hardware]{--peer-0:#ff7a5e;--peer-1:#ffb35e;--peer-2:#d2e06a;--peer-3:#6fd97f;--peer-4:#4fd6dd;--peer-5:#6fb6f0;--peer-6:#a98cf5;--peer-7:#f27ba6}.jam-peers{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.jam-chip{white-space:nowrap;border:1px solid var(--peer,var(--muted));color:var(--muted);border-radius:999px;align-items:center;gap:.25rem;padding:.05rem .4rem;font-size:.65rem;line-height:1.3;display:inline-flex}[data-colour="0"]{--peer:var(--peer-0)}[data-colour="1"]{--peer:var(--peer-1)}[data-colour="2"]{--peer:var(--peer-2)}[data-colour="3"]{--peer:var(--peer-3)}[data-colour="4"]{--peer:var(--peer-4)}[data-colour="5"]{--peer:var(--peer-5)}[data-colour="6"]{--peer:var(--peer-6)}[data-colour="7"]{--peer:var(--peer-7)}[data-peer-focus]{outline:2px solid var(--peer,var(--muted));outline-offset:var(--peer-outline-offset,2px)}.rack-row[data-peer-focus]{box-shadow:var(--peer-rings,var(--row-shadow))}.overlay[data-peer-focus]{box-shadow:var(--peer-rings,var(--panel-shadow))}.step.peer-flash,.sstep.peer-flash,.dcell.peer-flash,.kcell.peer-flash{box-shadow:0 0 0 2px var(--peer,var(--muted))}.step.peer-flash button,.step.peer-flash button.on,.sstep.peer-flash button,.sstep.peer-flash button.on{border-color:var(--peer,var(--muted))}.jam-chip-dot{background:var(--peer,var(--muted));border-radius:50%;flex:none;width:.5rem;height:.5rem}.jam-chip-name{color:var(--text)}.jam-chip-you{color:var(--peer,var(--muted));letter-spacing:.02em;font-size:.55rem}.jam-chip-facts,.jam-chip-sound{color:var(--muted)}.follow-toggle{pointer-events:auto}.header-nav .follow-toggle{border-color:var(--muted);white-space:nowrap;padding:.05rem .4rem;font-size:.7rem;line-height:1.3}.header-nav .follow-toggle[data-mode=follow]{border-color:var(--acc);color:var(--acc)}.room-state{color:var(--muted);font-size:.7rem;line-height:1.1}#play[data-silent="1"]{outline:1px dashed var(--muted);outline-offset:2px}.menu{position:relative}.menu-items{z-index:40;background:linear-gradient(#00000038, #00000038) content-box, var(--panel-bg) padding-box;border:var(--panel-border);border-radius:var(--radius-sm);min-width:11rem;box-shadow:var(--panel-shadow);flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;left:0}.menu-items[hidden]{display:none}.menu-items>button,.menu-items>.menu-link{text-align:left;color:var(--control-fg);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:5px 10px;font-size:.75rem;line-height:1.35}.menu-items>button:hover:not(.disabled):not(:disabled),.menu-items>button:focus-visible,.menu-items>.menu-link:hover,.menu-items>.menu-link:focus-visible{background:var(--acc);color:#16161a}.menu-items>button:disabled{opacity:.45;cursor:default}.menu-items .menu-heading{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);opacity:1;padding:6px 10px 3px;font-size:.58rem}.menu-items .menu-heading:not(:first-child){border-top:1px solid var(--panel-border-color,#ffffff1a);margin-top:4px;padding-top:7px}.theme-pick.active,.keys-target.active{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow)}.banks{gap:4px;display:flex}.bank.active{color:#16161a;background:#ff5c00}.slots{gap:4px;display:flex}.slot-menu{z-index:30;background:var(--panel-bg);border:var(--panel-border);box-shadow:var(--panel-shadow);border-radius:var(--radius-sm);flex-direction:column;display:flex;position:absolute}.slot-menu button{text-align:left;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:4px 12px;font-size:.75rem}.slot-menu button.disabled{opacity:.4;cursor:default}.mode-toggle,.scene-lock{min-width:3.5rem}.slot.on{color:#16161a;background:#ff5c00}.midi-dot{background:#3ddc84;border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px #3ddc84}.keys{color:#8a8a94;align-items:center;gap:4px;font-size:.7rem;display:flex}.qwerty-oct{opacity:.75;margin-left:4px}.arp{align-items:center;gap:.35rem;display:inline-flex}.rec-quant,.arp-mode,.arp-oct,.arp-rate{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:4px;padding:1px 2px;font-size:.7rem}.arp-toggle.on,.arp-latch.on{background:var(--acc);color:#16161a}.overlay{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);box-shadow:var(--panel-shadow);margin-top:1rem;padding:.75rem;display:none}.overlay.open{display:block}.overlay-icon{width:16px;height:16px;color:var(--acc);flex:none;justify-content:center;align-items:center;display:inline-flex}.overlay-icon svg{width:16px;height:16px}.overlay-title{color:var(--acc);margin-right:auto;font-size:.8rem}.overlay-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.overlay-header-right,.overlay-header-controls{align-items:center;gap:.4rem;display:flex}.overlay-presets,.overlay-randomize,.overlay-patterns{background:var(--panel,#222);color:var(--text,#eee);border:1px solid var(--acc-base);font:inherit;cursor:pointer;border-radius:3px;padding:.1rem .45rem;font-size:.7rem}.overlay-presets:hover,.overlay-randomize:hover,.overlay-patterns:hover{border-color:var(--acc)}.overlay-randomize{line-height:1}.fx-pane{border-top:1px solid var(--panel-border-color,#ffffff1f);margin-top:.6rem;padding-top:.5rem}.fx-pane-head{width:100%;color:var(--acc);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.2rem 0;font-size:.72rem;display:flex}.fx-pane-caret{margin-left:auto;transition:transform .12s}.fx-pane.collapsed .fx-pane-caret{transform:rotate(-90deg)}.fx-pane.collapsed .fx-pane-body{display:none}.fx-pane-count{opacity:.7}#status:not(:empty){color:#ff7b72;margin-top:1rem}.grid{grid-template-columns:repeat(var(--steps,16), minmax(2.2rem, 1fr));background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);gap:4px;margin-top:1rem;padding:.75rem;display:grid;overflow-x:auto}.step{flex-direction:column;gap:3px;display:flex}.length-ctl{align-items:center;gap:0;margin:4px 0 0;font-size:.7rem;display:inline-flex}.length-ctl-label{color:#8a8a94;margin-right:.25rem}.len-btn{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;padding:1px 7px;font-size:.7rem}.len-btn.active{background:var(--acc);color:#16161a;border-color:var(--acc)}.step.bar-start{border-left:2px solid var(--acc);opacity:.95;margin-left:2px;padding-left:4px}.dcell.bar-start,.kcell.bar-start{border-left:2px solid var(--acc);margin-left:2px}.step button{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;padding:.3rem 0;font-size:.7rem}.step button.on{background:var(--acc);color:#16161a;border-color:var(--acc)}.step.playing button.gate{outline:2px solid var(--glow,#ffd166)}.step.cursor,.sstep.cursor,.kcell.cursor,.dcell.cursor{outline:2px solid var(--cursor,#4af);outline-offset:-2px}.slicegrid{grid-template-columns:repeat(var(--steps,16), minmax(2.2rem, 1fr));background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);gap:4px;margin-top:1rem;padding:.75rem;display:grid;overflow-x:auto}.sstep{flex-direction:column;gap:3px;display:flex}.sstep.bar-start{border-left:2px solid var(--acc);opacity:.95;margin-left:2px;padding-left:4px}.sstep button{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;padding:.3rem 0;font-size:.7rem}.sstep .slice{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:600}.sstep button.on{background:var(--acc);color:#16161a;border-color:var(--acc)}.sstep .slice.out-of-range{background:var(--inset-bg);color:var(--control-fg);border-style:dashed;border-color:var(--muted,#8a8a94);opacity:.55;font-style:italic}.sstep.playing button.gate{outline:2px solid var(--glow,#ffd166)}.steprec-toolbar{align-items:center;gap:4px;margin:2px 0;font:11px/1.4 monospace;display:flex}.steprec-toolbar button{padding:1px 6px}.steprec-toolbar .sr-step.active{background:var(--acc);color:#000}.steprec-toolbar .sr-readout{opacity:.8;margin-left:4px}.drumgrid{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:4px;margin-top:1rem;padding:.75rem;display:flex;overflow-x:auto}.drow{grid-template-columns:3rem 5rem repeat(var(--steps,16), minmax(1rem, 1fr));align-items:center;gap:4px;display:grid}.dlabel{color:#bdbdc7;font-size:.7rem}.dlevel{width:100%;accent-color:var(--acc)}.dcell{background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;height:1.4rem}.dcell.on{background:var(--acc);border-color:var(--acc)}.dcell.accent{background:#ffd166;border-color:#ffd166}.dcell.playing{outline:2px solid var(--glow,#ffd166)}.kitgrid{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:4px;margin-top:1rem;padding:.75rem;display:flex;overflow-x:auto}.klane{grid-template-columns:8rem 1.2rem 1.2rem 1fr 4rem 4rem 3.2rem;align-items:center;gap:.4rem;display:grid}.kdrop{color:var(--control-fg);background:var(--inset-bg);border:1px solid var(--knob-stroke);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:.3rem .4rem;font-size:.7rem;overflow:hidden}.kdrop[data-state=empty]{opacity:.55;font-style:italic}.kdrop[data-state=missing]{color:#ff6b6b}.kdrop[data-state=assigned]{color:var(--acc)}.kclear{color:#bdbdc7;background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;font-size:.8rem;line-height:1}.kbrowse{color:var(--control-fg);background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;padding:0;font-size:.8rem;line-height:1}.kbrowse:hover{color:var(--acc);border-color:var(--acc)}.kcells{grid-template-columns:repeat(var(--steps,16), minmax(1rem, 1fr));gap:2px;display:grid}.kcell{aspect-ratio:1;background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:2px;height:1.4rem}.kcell.on{background:var(--acc);border-color:var(--acc)}.kcell.accent{background:var(--glow,#b8c2ff);border-color:var(--glow,#b8c2ff)}.kcell.playing{outline:2px solid #fff}.klevel,.kpitch{width:100%;accent-color:var(--acc)}.kchoke{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:4px;font-size:.7rem}.scope-strip{margin-top:.5rem;position:relative}.scope-strip .scope{cursor:pointer;width:100%;height:64px;margin-top:0;display:block}.scope-label{letter-spacing:.08em;opacity:.4;pointer-events:none;font-size:.65rem;transition:opacity .16s;position:absolute;top:6px;left:8px}.scope-label.flash{opacity:.85}.scope-strip .scope-popout-btn{z-index:1;font:inherit;cursor:pointer;color:var(--control-fg);background:var(--inset-bg);border:1px solid var(--knob-stroke);opacity:.5;border-radius:4px;padding:2px 5px;font-size:.75rem;line-height:1;position:absolute;top:6px;right:8px}.scope-strip .scope-popout-btn:hover,.scope-strip .scope-popout-btn:focus-visible{opacity:1}.scope{background:var(--inset-bg);border:1px solid var(--knob-stroke);border-radius:12px;width:100%;height:80px;margin-top:1rem;display:block}.partials{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);gap:6px;margin-top:1rem;padding:.75rem;display:flex}.partial-wrap{color:#bdbdc7;flex-direction:column;flex:1;align-items:center;font-size:.7rem;display:flex}.partial{width:100%;accent-color:var(--acc)}.workspace{align-items:flex-start;gap:1rem;display:flex}.rack{flex:0 0 364px;width:364px;min-width:364px}.rack-row{grid-template-columns:auto  auto  minmax(3.5rem, 1fr)  auto  auto  auto  var(--vol-w,52px)  auto  auto;background:var(--row-bg);box-shadow:var(--row-shadow);border-radius:var(--radius-sm);align-items:center;gap:4px;margin-bottom:8px;padding:6px 8px;display:grid}.rack-row[data-instance=master]{grid-template-columns:auto minmax(0,1fr) auto auto auto auto auto}.rack-icon{width:16px;height:16px;color:var(--acc);justify-content:center;align-items:center;display:inline-flex}.rack-icon svg{width:16px;height:16px}.link-cell{width:16px;display:block}.link-badge{width:16px;height:16px;color:var(--acc);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:none}.link-badge svg{width:14px;height:14px}body.link-mode .link-badge{display:inline-flex}.link-toggle.on{color:var(--acc);background:var(--acc-dim,#2a2a1a)}.link-toggle:disabled{opacity:.4;cursor:not-allowed}.partial-wrap{position:relative}.partial-wrap .link-badge{position:absolute;top:0;right:0}.rack-level{accent-color:var(--acc);width:100%;min-width:0}.rack-row .knob-sm .knob{width:34px}.rack-row[data-instance=master] .knob-sm .knob{width:52px}.rack-row .knob-sm .knob-label,.rack-row .knob-sm .knob-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rack-meter,.pat-strip{grid-column:1/-1}.rack-name{color:var(--acc);text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;padding:1px 3px;font-size:.85rem;font-weight:600;overflow:hidden}.rack-name.active{outline:1px solid var(--acc)}.rack-rename-input{z-index:10;width:10rem;font-size:.7rem;position:absolute}.rack-grip{cursor:grab;color:#55555e;-webkit-user-select:none;user-select:none;font-size:.8rem}.rack-row.dragging{opacity:.4}.rack-row.row-target{outline:2px solid var(--acc);outline-offset:-2px}.rack-row.insert-before:before{content:"";background:var(--acc);z-index:1;border-radius:2px;height:2px;position:absolute;top:-4px;left:0;right:0}.rack-drag-ghost{pointer-events:none;opacity:.85;z-index:1000;position:fixed;top:0;left:0}.rack-row.learning{outline:1px solid #ffd166}.rack-row.learning .learn{color:#16161a;background:#ffd166;border-color:#ffd166}.partial-wrap.learning{outline:1px solid #ffd166}.partial-wrap.learning .learn{color:#16161a;background:#ffd166;border-color:#ffd166}.rack-mute{min-width:1.6rem;color:var(--control-fg);border:1px solid var(--control-border);background:var(--control-bg);border-radius:var(--radius-sm);font-weight:700}.rack-mute.muted{color:#16161a;background:#e5484d;border-color:#e5484d;text-decoration:none}:is(.rack-row:has(.rack-mute.muted) .rack-name,.rack-row:has(.rack-mute.muted) .rack-icon,.rack-row:has(.rack-mute.muted) .rack-level,.rack-row:has(.rack-mute.muted) .knob-sm){opacity:.4}.fx-chip{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--control-fg);cursor:pointer;padding:1px 5px;font-size:.65rem}.fx-chip.fx-live{border-color:var(--acc);color:var(--acc)}.rack-head{justify-content:space-between;align-items:center;gap:4px;padding:0 2px 4px;display:flex}.rack-title{color:#8a8a94;letter-spacing:.1em;font-size:.65rem}.rack-head .rack-switch-lbl{opacity:.6;letter-spacing:.04em;margin-left:auto;font-size:.6rem}.rack.collapsed .rack-switch-lbl{display:none}.rack.collapsed .scene-lock{flex-direction:column;min-width:0}.rack.collapsed .scene-half{padding:.05rem .15rem;font-size:.5rem}.rack-solo{min-width:1.6rem;color:var(--control-fg);border:1px solid var(--control-border);background:var(--control-bg);border-radius:var(--radius-sm);font-weight:700}.rack-solo.soloed{background:var(--acc);border-color:var(--acc);color:#16161a}.rack.compact{flex:0 0 192px;width:192px;min-width:192px}.rack.compact .rack-row:not([data-instance=master]){grid-template-columns:auto minmax(0,1fr) auto auto}.rack.compact .rack-row[data-instance=master]{grid-template-columns:minmax(0,1fr) auto}.rack.compact .rack-icon,.rack.compact .fx-chip,.rack.compact .rack-level,.rack.compact .link-cell,.rack.compact .pan-knob,.rack.compact .knob-sm,.rack.compact .pat-strip{display:none}.rack.compact .rack-row{margin-bottom:3px;padding:3px 8px}.rack.compact .pat-menu{display:none}.rack.collapsed{flex:0 0 28px;width:28px;min-width:28px}.rack.collapsed>:not(.rack-head){display:none}.rack.collapsed .rack-head{flex-direction:column-reverse;align-items:center;gap:8px}.rack.collapsed .rack-title{writing-mode:vertical-rl;letter-spacing:.2em}.rack-meter{background:var(--inset-bg,#222);border-radius:2px;flex-basis:100%;height:4px;position:relative;overflow:hidden}.rack-meter-fill{background:var(--acc);width:0%;position:absolute;top:0;bottom:0;left:0}.rack-meter-peak{background:var(--glow,#ffd166);width:2px;position:absolute;top:0;bottom:0;left:0%}.clip-led{border:1px solid var(--knob-stroke,#444);background:#3a3a42;border-radius:50%;width:10px;height:10px}.clip-led.on{background:#e5484d;box-shadow:0 0 6px #e5484d}.main-col{flex:1;min-width:0}.library{flex-direction:column;flex:0 0 195px;gap:6px;width:195px;display:flex}.lib-title{color:#8a8a94;letter-spacing:.1em;font-size:.65rem}.pl-title{color:#8a8a94;letter-spacing:.1em;margin-right:auto;font-size:.65rem}.lib-head{justify-content:space-between;align-items:center;gap:4px;display:flex}.lib-collapse,.rack-collapse{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:2px 8px;font-size:.75rem;line-height:1}.library.collapsed{flex:0 0 28px;width:28px}.library.collapsed>:not(.lib-head){display:none}.library.collapsed .lib-head{flex-direction:column-reverse;align-items:center;gap:8px}.library.collapsed .lib-title{writing-mode:vertical-rl;letter-spacing:.2em}.lib-tabs{margin-bottom:.4rem;display:flex}.lib-tab{letter-spacing:.06em;cursor:pointer;text-transform:none;border:1px solid #0000;flex:1;margin:0;padding:.3rem .5rem;font-size:.62rem}.lib-panel[hidden]{display:none}.lib-filter{box-sizing:border-box;width:100%;margin:2px 0 4px;font-size:11px}.lib-groups,.lib-group{flex-direction:column;gap:6px;display:flex}.lib-group-head{text-align:left;width:100%;color:var(--control-fg);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;padding:2px 4px;font-size:.7rem;display:block}.lib-entry{background:var(--row-bg);box-shadow:var(--row-shadow);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.lib-entry[draggable=true]{cursor:grab}.lib-entry .lib-name{color:var(--acc);font-size:.8rem;font-weight:600}.lib-entry .lib-blurb{color:#8a8a94;flex:1;font-size:.6rem}.lib-entry.capped{opacity:.45;cursor:default}.lib-entry.dragging{opacity:.4}.lib-add{background:var(--control-bg);min-width:1.6rem;color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.8rem}.rack-dropzone{border:2px dashed var(--acc);text-align:center;color:#8a8a94;border-radius:8px;min-height:3rem;margin-top:6px;padding:22px;font-size:.78rem}.rack-dropzone.over{border-color:var(--acc);color:var(--acc);background:color-mix(in srgb, var(--acc) 12%, transparent)}.smp-notice{opacity:.7;padding:2px 4px;font-size:.85em}.smp-empty{opacity:.65;padding:6px 4px;font-size:.78rem;line-height:1.4}.smp-list{flex-direction:column;gap:10px;display:flex}.sample-browser .sb-card,.smp-list .smp-entry{border:1px solid var(--fg,#888);color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;gap:.25rem;padding:.35rem;display:flex}.sample-browser .sb-card:hover,.sample-browser .sb-card:focus-visible,.smp-list .smp-entry:hover{border-color:var(--acc)}.sample-browser .sb-card-name,.smp-list .smp-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8em;overflow:hidden}.sample-browser .sb-card-meta,.smp-list .smp-dur{opacity:.7;font-size:.8em}.sample-browser .sb-thumb,.smp-list .smp-thumb{border-radius:3px;width:100%;height:32px;display:block}.sample-browser .sb-thumb.placeholder,.smp-list .smp-thumb.placeholder{background:repeating-linear-gradient(90deg,#80808026 0 6px,#0000 6px 12px)}.sample-browser .sb-thumb-wrap,.smp-list .smp-thumb-wrap{cursor:pointer;position:relative}.sample-browser .sb-actions,.smp-list .smp-actions{gap:.1rem;display:flex}.sample-browser .sb-ico,.smp-list .smp-ico{width:24px;height:24px;color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sample-browser .sb-ico:not([disabled]):hover,.smp-list .smp-ico:not([disabled]):hover{opacity:1;color:var(--acc)}.sample-browser .sb-ico[disabled],.smp-list .smp-ico[disabled]{opacity:.3;cursor:not-allowed}.sample-browser .sb-ico svg,.smp-list .smp-ico svg{width:18px;height:18px}.sample-browser .sb-ico.sb-ico-star.active,.smp-list .smp-fav.active,.sample-browser .sb-ico.playing,.smp-list .smp-ico.playing{color:var(--acc);opacity:1}.smp-list .smp-entry{cursor:grab;background:var(--row-bg);box-shadow:var(--row-shadow);border-color:#0000;border-radius:8px;position:relative}.smp-list .smp-entry:hover{border-color:var(--acc);box-shadow:var(--row-shadow), inset 0 0 0 999px var(--acc-soft,transparent)}.smp-list .smp-thumb{height:28px}.smp-list .smp-name{color:var(--text);font-size:.72rem}.smp-list .smp-actions{align-items:center;gap:0}.smp-list .smp-dur{font-variant-numeric:tabular-nums;margin-right:auto;font-size:.62rem}.smp-list .smp-ico{width:22px;height:22px}.smp-list .smp-ico svg{width:15px;height:15px}.smp-rename{z-index:5;box-sizing:border-box;font-size:11px;position:absolute;top:50%;left:.35rem;right:.35rem;transform:translateY(-50%)}.fm-patch-row{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.fm-patch-label{letter-spacing:.08em;opacity:.7;font-size:.65rem}.fm-patch{background:var(--panel,#222);color:var(--text,#eee);border:1px solid var(--acc-base);font:inherit;border-radius:3px;padding:.15rem .4rem}.smp-hint{box-sizing:border-box;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:1px dashed var(--acc);background:0 0;border-radius:4px;margin-bottom:8px;padding:6px 10px;font-size:.9em;display:block}.smp-hint[hidden]{display:none}.smp-hint:hover{background:color-mix(in srgb, var(--acc) 12%, transparent)}.smp-hint[data-state=missing]{color:#ff9a9a;border-color:#ff9a9a}.smp-hint[data-state=missing]:hover{background:#ff9a9a1f}.smp-waveform{margin-bottom:8px}.smp-wave{background:#00000040;border-radius:4px;width:100%;height:72px;display:block}.wave-views{gap:4px;margin-top:4px;display:flex}.wave-views[hidden]{display:none}button.wave-view{border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-fg);cursor:pointer;padding:2px 8px;font-size:10px}button.wave-view:hover{color:var(--text)}button.wave-view.on{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-color:#0000}.rack-row.smp-target{outline:2px dashed var(--acc);outline-offset:-2px}.smp-tools{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.smp-tools button,.smp-fade-len{padding:2px 6px;font-size:10px}.smp-undo{margin-left:auto}.smp-tools button.smp-pick{color:var(--acc);border:1px solid var(--acc);cursor:pointer;background:0 0;border-radius:3px}.smp-tools button.smp-pick:hover{background:color-mix(in srgb, var(--acc) 15%, transparent)}.smp-rec-wrap{align-items:center;gap:4px;display:inline-flex}button.smp-rec{border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-fg);cursor:pointer;padding:2px 6px;font-size:10px}button.smp-rec:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}button.smp-rec[data-phase=writing]{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-color:#0000}button.smp-rec[data-phase=writing]:before{animation:.5s ease-in-out infinite alternate rec-pulse}button.smp-rec[disabled]{opacity:.45;cursor:not-allowed}.smp-rec-meter{background:var(--inset-bg);border-radius:2px;width:56px;height:4px;display:inline-block;position:relative;overflow:hidden}.smp-rec-fill{background:var(--acc);width:0%;position:absolute;top:0;bottom:0;left:0}.smp-rec-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.smp-rec-time.near-cap{color:var(--warn,#e9a13b)}.smp-rec-meter[hidden],.smp-rec-time[hidden]{display:none}.smp-rec-gain{align-items:center;gap:3px;display:inline-flex}.smp-rec-gain-slider{appearance:none;background:var(--inset-bg);cursor:pointer;vertical-align:middle;border-radius:2px;width:44px;height:4px;margin:0;padding:0}.smp-rec-gain-slider::-webkit-slider-thumb{appearance:none;background:var(--acc);cursor:pointer;border:none;border-radius:50%;width:9px;height:9px}.smp-rec-gain-slider::-moz-range-thumb{background:var(--acc);cursor:pointer;border:none;border-radius:50%;width:9px;height:9px}.smp-rec-gain-slider:focus-visible{outline:1px solid var(--acc);outline-offset:2px}.smp-rec-gain-val{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:5ch;font-size:10px}.smp-rec-gain.trimmed .smp-rec-gain-val{color:var(--acc)}.smp-builtin-head,.smp-fav-head{text-align:left;width:100%;color:var(--control-fg);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.7rem;display:block}.smp-builtin .smp-entry,.smp-favorites .smp-entry{margin-left:0}.smp-builtin,.smp-favorites{flex-direction:column;gap:10px;display:flex}.smp-builtin-head,.smp-fav-head{margin-bottom:-4px}.lib-title-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.smp-filter{box-sizing:border-box;width:100%;margin:4px 0 0;font-size:11px}.smp-browse{border:1px solid var(--panel-border-color,#ffffff26);color:var(--control-fg);cursor:pointer;background:0 0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:2px 6px;font-size:.7rem;display:inline-flex}.smp-browse svg{width:16px;height:16px}.sample-browser{flex-direction:column;gap:10px;min-width:320px;display:flex}.smp-entry.smp-pickable{cursor:pointer}.smp-entry.picked{outline:1px solid var(--acc)}.songbar{align-items:center;gap:6px;margin-bottom:.5rem;font-size:.75rem;display:flex}.view-cluster{border-left:1px solid var(--knob-stroke);align-items:center;gap:4px;margin-left:auto;padding-left:.6rem;display:flex}.view-cluster button{font-size:.75rem}.song-dir{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm)}.pl-fs{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.7rem}.songbar .pl-fs{padding:.35rem .7rem;font-size:1.15rem;line-height:1}.songbar[hidden]{display:none}.overlay-host{margin-top:1rem}.welcome-card{z-index:70;background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);width:min(92vw,22rem);box-shadow:var(--panel-shadow);padding:.9rem 1rem;position:fixed;bottom:1rem;right:1rem}.welcome-title{letter-spacing:.04em;margin-bottom:.5rem;font-weight:700}.welcome-hints{opacity:.9;margin:0 0 .75rem;padding-left:1.1rem;font-size:.8rem;line-height:1.5}.welcome-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.welcome-demo,.welcome-help,.welcome-dismiss{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.7rem}.welcome-dismiss{margin-left:auto}.roll-editor{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.5rem;margin-top:1rem;padding:.75rem;display:none}.roll-editor.open{height:var(--roll-h,24rem);max-height:none;display:flex}.roll-header{align-items:center;gap:.5rem;display:flex}.roll-name{flex:1;font-size:.8rem;font-weight:600}.roll-bars,.roll-delete,.roll-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.7rem}.roll-target{max-width:7rem;font-size:.7rem}.roll-grid-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.roll-grid{grid-template-columns:2.75rem calc(var(--subw) * var(--cols));grid-auto-rows:var(--rowh,.9rem);background:var(--inset-bg);--subw:calc(1.4rem / 6);border-radius:8px;flex:1;min-height:0;display:grid;position:relative;overflow:auto}.edge-rail{z-index:5;pointer-events:none;display:flex;position:absolute}.edge-rail[data-axis=x]{justify-content:space-between;height:1.1rem;bottom:0;left:0;right:0}.edge-rail[data-axis=y]{flex-direction:column;justify-content:space-between;width:1.1rem;top:0;bottom:0;right:0}.roll-grid-wrap>.edge-rail[data-axis=x]{right:1.1rem}.roll-grid-wrap>.edge-rail[data-axis=y]{bottom:1.1rem}.edge-rail-btn{pointer-events:auto;background:var(--control-bg);width:1.1rem;height:1.1rem;color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:0;font-size:.7rem;line-height:1;position:relative}.edge-rail[data-axis=x] .edge-rail-btn{margin:0 4px}.edge-rail[data-axis=y] .edge-rail-btn{margin:4px 0}.edge-rail-btn:before{content:"";width:24px;height:24px;position:absolute;inset:50%;transform:translate(-50%,-50%)}.roll-tools{color:#8a8a94;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.65rem;display:flex}.roll-tools label{align-items:center;gap:.25rem;display:flex}.roll-tools select,.roll-tools button{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.65rem}.roll-scalesel{max-width:4.25rem}.tool-group{align-items:center;gap:.35rem;display:inline-flex}.tool-group+.tool-group{border-left:1px solid var(--knob-stroke);padding-left:.4rem}.roll-row{box-sizing:border-box;cursor:pointer;background-image:repeating-linear-gradient(to right, #3a3a42 0 1px, transparent 1px calc(var(--subw) * 96)), repeating-linear-gradient(to right, #232329 0 1px, transparent 1px calc(var(--subw) * var(--div)));border-bottom:1px solid #232329}.roll-row.c-row{background-color:#1c1c22}.roll-notes{grid-area:2/2/span 60;grid-template-columns:repeat(var(--cols), var(--subw));grid-template-rows:repeat(60, var(--rowh,.9rem));pointer-events:none;z-index:1;display:grid}.roll-note{pointer-events:auto;position:relative}.roll-key{z-index:2;box-sizing:border-box;color:#2a2a30;cursor:pointer;-webkit-user-select:none;user-select:none;background:#d8d5cf;border:1px solid #232329;border-color:#232329 #3a3a42 #b9b6b0 #232329;justify-content:flex-end;align-items:center;padding-right:4px;font-size:.55rem;display:flex;position:sticky;left:0}.roll-key.sharp{color:#cfcdc8;background:#23232a;border-bottom-color:#101014;width:72%}.roll-key.c-row{font-weight:700}.roll-note{background:var(--acc);cursor:grab;box-sizing:border-box;border-radius:3px}.roll-note.accent{background:#ffd166}.roll-note.selected{outline-offset:-1px;z-index:2;outline:2px solid #fff}.roll-note.slide:after{content:"";background:inherit;clip-path:polygon(0 0,100% 50%,0 100%);opacity:.85;width:6px;position:absolute;top:2px;bottom:2px;right:-3px}.roll-marquee{pointer-events:none;z-index:3;background:#8a8a941f;border:1px dashed #8a8a94;position:absolute}.lp-pulse{border:2px solid var(--glow,#ffd166);pointer-events:none;z-index:4;border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;animation:.26s ease-out forwards lp-pulse;position:absolute}@keyframes lp-pulse{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1)}}.roll-ruler{z-index:3;color:#8a8a94;background:#1c1c22;border-bottom:1px solid #3a3a42;height:.9rem;font-size:.55rem;display:flex;position:sticky;top:0}.roll-ruler span{width:calc(var(--subw) * 96);box-sizing:border-box;border-left:1px solid #3a3a42;flex:none;padding-left:3px;overflow:hidden}.roll-ruler-corner{z-index:4;background:#1c1c22;border-bottom:1px solid #3a3a42;position:sticky;top:0;left:0}.roll-playhead{background:var(--glow,#ffd166);pointer-events:none;z-index:4;width:2px;position:absolute;top:0}.roll-step-cursor{background:var(--cursor,#4af);pointer-events:none;z-index:3;width:2px;position:absolute;top:0}.roll-take-ghost{opacity:.35;pointer-events:none;z-index:2;background:#f43f3f;position:absolute}.roll-region{z-index:1;border-left:2px solid var(--glow,#ffd166);border-right:2px solid var(--glow,#ffd166);cursor:grab;background:#ffd16629;border-radius:3px;position:absolute;top:0;bottom:0}.roll-region.off{opacity:.4}.roll-region .grip{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.roll-region .grip.l{left:-2px}.roll-region .grip.r{right:-2px}.roll-solo{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.7rem}.roll-solo.on{background:var(--acc);color:#16161a}.roll-row.off-scale{filter:brightness(.55)}.roll-key.off-scale{opacity:.45}.roll-key.lit{background:var(--acc);color:#16161a}.roll-row.lit{background-color:color-mix(in srgb, var(--acc) 18%, transparent)}.roll-snap.on{background:var(--acc);color:#111}.roll-note.ghost{opacity:.25;pointer-events:none;background:#8a8a94}.roll-ghost.on,.roll-audition.on{background:var(--acc);color:#111}.chord-only{align-items:center;gap:.6rem;display:flex}.auto-editor{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.5rem;margin-top:1rem;padding:.75rem;display:none}.auto-editor.open{height:var(--auto-h,24rem);display:flex}.auto-header{align-items:center;gap:.5rem;display:flex}.auto-name{color:inherit;background:0 0;border:1px solid #0000;border-radius:3px;min-width:10rem;padding:.15rem .3rem;font-size:.8rem}.auto-name:focus{border-color:var(--acc);outline:none}.auto-target{opacity:.7;font-size:.7rem}.auto-body{gap:.5rem;display:flex}.auto-axis{opacity:.8;text-align:right;flex-direction:column;justify-content:space-between;min-width:4.5rem;padding:0 .25rem;font-size:.65rem;display:flex}.auto-canvas-outer{flex:1;height:200px;position:relative}.auto-canvas-wrap,.auto-content{width:100%;height:100%;position:relative}.auto-canvas{background:#00000040;border-radius:4px;width:100%;height:100%;display:block}.auto-point{background:var(--acc);cursor:grab;touch-action:none;border:2px solid #00000080;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.auto-point:active{cursor:grabbing}.playlist{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);height:var(--pl-h,auto);margin-top:1rem;padding:.75rem;position:relative}.playlist>.edge-rail[data-axis=x]{bottom:.75rem;left:.75rem;right:.75rem}.pl-scroll{width:100%;height:100%;position:relative;overflow:auto}.pl-ruler{grid-template-columns:4rem repeat(var(--bars), var(--barw,2rem));color:#8a8a94;gap:2px;margin-bottom:4px;font-size:.65rem;display:grid}.pl-lanes{flex-direction:column;gap:2px;display:flex}.pl-lane{grid-template-columns:4rem repeat(var(--bars), var(--barw,2rem));grid-auto-rows:1.6rem;gap:2px;display:grid;position:relative}.pl-lane-name{color:#8a8a94;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:none;grid-area:1/1;padding:0 4px 0 14px;font-size:.6rem;overflow:hidden}.pl-lane-rename{z-index:11;box-sizing:border-box;grid-area:1/1;width:100%;min-width:0;font-size:.65rem}.pl-lane-grip{cursor:grab;color:#55555e;-webkit-user-select:none;user-select:none;z-index:2;font-size:.8rem;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.pl-lane.lane-dragging{opacity:.5}.pl-lane.lane-insert-before{box-shadow:0 -2px 0 0 var(--glow,#ffd166)}.pl-cell{background:var(--inset-bg);border-color:var(--knob-stroke);box-sizing:border-box;cursor:pointer;grid-row:1}.pl-cell.playing{outline:2px solid var(--glow,#ffd166)}.pl-clip{color:#16161a;cursor:grab;box-sizing:border-box;white-space:nowrap;border-radius:4px;grid-row:1;padding:2px 4px;font-size:.65rem;position:relative;overflow:hidden}.pl-clip.p303{background:#ff8c3a}.pl-clip.pdrums{background:#3ddcc0}.pl-clip.psynth{background:#b389ff}.pl-clip.pbass{background:#ff4f9a}.pl-clip.roll{background:#ffd166}.pl-clip[data-instrument]{background:var(--acc)}.pl-clip.auto{color:var(--acc);isolation:isolate;background:#ffffff1a;border:1px solid;overflow:hidden}.pl-clip.auto .auto-sketch{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pl-clip.auto .auto-sketch polyline{fill:none;stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.pl-clip.auto .pl-clip-label{z-index:1;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 8px);position:absolute;top:50%;left:4px;overflow:hidden;transform:translateY(-50%)}.pl-clip.missing{outline:1px dashed #ff7b72}.pl-repeat-mark{background:var(--pl-repeat-mark,#00000047);pointer-events:none;z-index:2;width:1px;position:absolute;top:22%;bottom:22%}.pl-clip.auto .pl-repeat-mark{--pl-repeat-mark:#ffffff4d}.pl-menu{z-index:12;background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--panel-shadow);flex-direction:column;display:flex;position:absolute}.pl-menu button{text-align:left;color:var(--control-fg);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:.65rem}.pl-menu button:hover{background:#ffffff14}.pl-menu button{white-space:nowrap;align-items:baseline;gap:1.25rem;display:flex}.pl-menu-key{color:var(--muted);margin-left:auto;font-size:.6rem}.pl-clip-rename{z-index:12;width:8rem;font-size:.65rem;position:absolute}.pl-addlane,.pl-stamp{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);margin-top:.5rem;font-size:.7rem}.pl-stamp{margin-left:4px}.pl-chooser{z-index:1000;background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.35rem;width:32rem;max-width:92vw;max-height:min(28rem,75vh);padding:.5rem;display:flex;position:fixed;overflow-y:auto}.pl-clip.selected{outline-offset:-1px;outline:2px solid #fff}.pl-marquee{pointer-events:none;z-index:5;background:#8a8a941f;border:1px dashed #8a8a94;position:absolute}.pl-playhead{background:var(--glow,#ffd166);pointer-events:none;z-index:5;width:2px;margin-left:-1px;position:absolute}.pl-playhead-grip{pointer-events:auto;cursor:ew-resize;background:var(--glow,#ffd166);clip-path:polygon(0 0,100% 0,50% 100%);width:13px;height:.72rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.pl-playhead-grip:hover{filter:brightness(1.25)}.pl-region{z-index:4;border-left:2px solid var(--glow,#ffd166);border-right:2px solid var(--glow,#ffd166);cursor:grab;background:#ffd16629;border-radius:3px;grid-row:1;position:relative}.pl-region.off{opacity:.4}.pl-region .grip{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.pl-region .grip.l{left:-2px}.pl-region .grip.r{right:-2px}.chooser-section{flex-direction:column;flex:none;min-height:0;display:flex}.chooser-section--list{flex:0 auto}.chooser-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.35rem .45rem .25rem;font-size:.6rem}.chooser-existing{border-radius:var(--radius-sm);background:linear-gradient(#00000038,#00000038);max-height:17rem;padding:.25rem;overflow-y:auto;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.chooser-group{border-radius:var(--radius-sm);padding:.15rem .35rem .25rem}.chooser-group+.chooser-group{box-shadow:inset 0 1px #ffffff0d}.chooser-group-name{letter-spacing:.09em;text-transform:uppercase;color:var(--acc);padding:.1rem 0 .2rem;font-size:.62rem;font-weight:600}.chooser-patstrip{flex-wrap:wrap;gap:2px;display:flex}.chooser-pat{text-align:center;min-width:1.55rem;color:var(--control-fg);cursor:pointer;background:#00000042;border:1px solid #0000;border-radius:3px;flex:none;padding:.2rem .15rem;font-size:.65rem;line-height:1.1;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.chooser-pat.filled{background:var(--acc);color:#16161a;border-color:var(--acc);box-shadow:none}.chooser-pat:hover{border-color:var(--acc);color:var(--acc)}.chooser-pat.filled:hover{color:#16161a;box-shadow:0 0 0 1px var(--glow,transparent)}.chooser-pat:focus-visible{outline:2px solid var(--glow,#ffd166);outline-offset:1px}.chooser-row{text-align:left;width:100%;color:var(--control-fg);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.3rem .45rem;font-size:.72rem;display:flex}.chooser-row .cr-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}button.chooser-row{cursor:pointer}button.chooser-row:hover,button.chooser-row:focus-visible{background:var(--control-bg);color:var(--text)}button.chooser-row[data-instrument]:hover,button.chooser-row[data-instrument]:focus-visible{background:var(--acc);color:#16161a}button.chooser-row[data-instrument]:hover .cr-kind,button.chooser-row[data-instrument]:hover .cr-meta,button.chooser-row[data-instrument]:hover .cr-target,button.chooser-row[data-instrument]:focus-visible .cr-kind,button.chooser-row[data-instrument]:focus-visible .cr-meta,button.chooser-row[data-instrument]:focus-visible .cr-target{color:#16161a;opacity:.75}.cr-kind,.cr-meta,.cr-target{color:var(--muted);font-size:.62rem}.cr-kind{text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:.05rem .35rem;box-shadow:inset 0 0 0 1px #ffffff24}.cr-target{color:var(--acc)}.chooser-empty{color:var(--muted);padding:.5rem;font-size:.72rem;line-height:1.45}.chooser-row--result .cr-kind{text-align:center;order:-1;min-width:4.6rem}.chooser-row:not(.chooser-row--result) .cr-kind{display:none}.chooser-create{border-radius:var(--radius-sm);background:linear-gradient(#00000038,#00000038);padding:.25rem;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.chooser-row--create{color:var(--control-fg);align-items:center;gap:.4rem;padding:.25rem .45rem;font-size:.72rem;display:flex}.chooser-row--create>select{flex:1 1 0;min-width:0}.chooser-section--create[hidden]{display:none}.cr-plus{width:1.1rem;height:1.1rem;color:var(--control-fg);background:#00000042;border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:inline-flex;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}button.chooser-row--new:hover .cr-plus,button.chooser-row--new:focus-visible .cr-plus{color:var(--text)}.chooser-patterninst,.chooser-patternidx,.chooser-autotarget,.chooser-autoparam{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:3px;max-width:9rem;padding:.15rem .2rem;font-size:.65rem}.chooser-filter{width:100%;font:inherit;color:var(--text);border-radius:var(--radius-sm);background:#00000042;border:1px solid #0000;padding:.35rem .45rem;font-size:.75rem;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.chooser-filter::placeholder{color:var(--muted)}.chooser-filter:focus{box-shadow:inset 0 1px 2px #00000073, inset 0 -1px 0 #ffffff0f, 0 0 0 1px var(--control-border);outline:none}.chooser-tabbar{align-items:center;gap:.5rem;display:flex}.chooser-tabs{border-radius:var(--radius-sm);background:#00000042;padding:2px;display:inline-flex;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.chooser-tab{letter-spacing:.04em;color:var(--control-fg);border-radius:calc(var(--radius-sm) - 1px);cursor:pointer;background:0 0;border:1px solid #0000;padding:.22rem .85rem;font-size:.7rem}.chooser-tab:hover:not(.active){color:var(--text)}.chooser-tab.active{background:var(--play-bg);color:var(--play-fg);box-shadow:inset 0 1px #ffffff47,inset 0 -2px 3px #00000059}.chooser-new{letter-spacing:.04em;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;margin-left:auto;padding:.24rem .85rem;font-size:.7rem}.chooser-new:hover,.chooser-new:focus-visible{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-color:#0000}[data-instrument=x303]{--acc-base:#ff8c3a;--glow-base:#ffb380}[data-instrument=drums]{--acc-base:#3ddcc0;--glow-base:#8ff0dd}[data-instrument=synth]{--acc-base:#b389ff;--glow-base:#d3bcff}[data-instrument=bass]{--acc-base:#ff4f9a;--glow-base:#ff9ec9}[data-instrument=poly]{--acc-base:#59a8ff;--glow-base:#a9d1ff}[data-instrument=supersaw]{--acc-base:#b8e04a;--glow-base:#d9f2a0}[data-instrument=sampler]{--acc-base:#f2a3b3;--glow-base:#f9d3db}[data-instrument=fm]{--acc-base:#ffd24d;--glow-base:#ffe9a3}[data-instrument=wam]{--acc-base:#8ef0e4;--glow-base:#d9fbf5}[data-instrument=kit]{--acc-base:#7c8cff;--glow-base:#b8c2ff}[data-instrument=strings]{--acc-base:#54c46e;--glow-base:#a6e8b4}[data-instrument=slicer]{--acc-base:#d45ad9;--glow-base:#eeaef0}[data-instrument=metal]{--acc-base:#8fb4c8;--glow-base:#cfe2ea}[data-instrument=toxic]{--acc-base:#46e212;--glow-base:#9cf25f}[data-instrument=chip]{--acc-base:#ff3131;--glow-base:#ff8f8f}[data-instrument=osc3]{--acc-base:#c9a227;--glow-base:#ecd98a}[data-instrument=granular]{--acc-base:#1fc4e6;--glow-base:#8fe6f5}[data-instrument=loop]{--acc-base:#ff6f5e;--glow-base:#ffb3a8}[data-instrument=vox]{--acc-base:#bd3cff;--glow-base:#e0a8ff}[data-instrument=wavetable]{--acc-base:#ff90eb;--glow-base:#ffc2f4}[data-instrument=master]{--acc-base:#e8e6e3;--glow-base:#fff}[data-instrument]{--shade-mix:0%;--acc:color-mix(in srgb, var(--acc-base) calc(100% - var(--shade-mix)), white var(--shade-mix));--glow:color-mix(in srgb, var(--glow-base) calc(100% - var(--shade-mix)), white var(--shade-mix));--acc-soft:color-mix(in srgb, var(--acc) 18%, transparent)}[data-shade="1"]{--shade-mix:5%}[data-shade="2"]{--shade-mix:9%}[data-shade="3"]{--shade-mix:14%}[data-shade="4"]{--shade-mix:18%}[data-shade="5"]{--shade-mix:23%}[data-shade="6"]{--shade-mix:27%}[data-shade="7"]{--shade-mix:32%}[data-shade="8"]{--shade-mix:36%}[data-shade="9"]{--shade-mix:41%}[data-shade="10"]{--shade-mix:45%}[data-shade="11"]{--shade-mix:50%}[data-shade="12"]{--shade-mix:54%}[data-shade="13"]{--shade-mix:59%}[data-shade="14"]{--shade-mix:63%}[data-shade="15"]{--shade-mix:68%}@supports (color:oklch(from white l c h)){[data-instrument][data-shade]:not([data-shade="0"]){--acc:oklch(from var(--acc-base) calc(l * .5 + var(--shade-l)) calc(c * var(--shade-c)) h);--glow:oklch(from var(--glow-base) calc(l * .5 + var(--shade-l)) calc(c * var(--shade-c)) h)}[data-shade="1"]{--shade-l:.333;--shade-c:.25}[data-shade="2"]{--shade-l:.441;--shade-c:.42}[data-shade="3"]{--shade-l:.341;--shade-c:.76}[data-shade="4"]{--shade-l:.439;--shade-c:.2}[data-shade="5"]{--shade-l:.335;--shade-c:.5}[data-shade="6"]{--shade-l:.452;--shade-c:.66}[data-shade="7"]{--shade-l:.368;--shade-c:.17}[data-shade="8"]{--shade-l:.414;--shade-c:.79}[data-shade="9"]{--shade-l:.522;--shade-c:.19}[data-shade="10"]{--shade-l:.402;--shade-c:.29}[data-shade="11"]{--shade-l:.525;--shade-c:.62}[data-shade="12"]{--shade-l:.367;--shade-c:.37}[data-shade="13"]{--shade-l:.493;--shade-c:.86}[data-shade="14"]{--shade-l:.376;--shade-c:.64}[data-shade="15"]{--shade-l:.476;--shade-c:.26}}.rack-row{position:relative}.pat-strip{flex-basis:100%;gap:0;padding-bottom:2px;display:flex;overflow-x:auto}.pat-strip .pat{background:var(--inset-bg);min-width:1.5rem;color:var(--control-fg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:3px;flex:none;padding:.15rem 0;font-size:.65rem}.pat-strip .pat.on{background:var(--acc);color:#16161a;border-color:var(--acc)}.pat-grow{flex:none;min-width:1.5rem;font-size:.65rem}.pat-grow:disabled{opacity:.35;cursor:default}.pat-menu{z-index:30;background:var(--panel-bg);border:var(--panel-border);box-shadow:var(--panel-shadow);border-radius:var(--radius-sm);flex-direction:column;display:flex;position:absolute}.pat-menu button{text-align:left;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:4px 12px;font-size:.75rem}.pat-menu button.disabled{opacity:.4;cursor:default}.pat-desc-input{z-index:31;color:#e8e6e3;border:1px solid var(--acc);background:#101014;border-radius:4px;width:14rem;padding:2px 6px;font-size:.7rem;position:absolute}.overlay-patstrip{margin-bottom:6px;position:relative}.ctx-menu{z-index:1000;background:var(--row-bg,#1c1c22);border:1px solid var(--control-border,#333);border-radius:var(--radius-sm);min-width:9rem;padding:2px;position:fixed;box-shadow:0 4px 16px #0006}.ctx-menu .ctx-item{text-align:left;width:100%;color:var(--control-fg,#ddd);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.72rem;display:block}.ctx-menu .ctx-item:hover:not(.disabled){background:var(--acc);color:#16161a}.ctx-menu .ctx-item.disabled{opacity:.4;cursor:default}.ctx-menu .ctx-item.ctx-parent{justify-content:space-between;align-items:center;gap:8px;display:flex}.ctx-caret{opacity:.6;font-size:.7em}.pat-strip .pat{position:relative}.pat-strip .pat.swung:after{content:"";background:var(--acc);border-radius:50%;width:4px;height:4px;position:absolute;top:1px;right:1px}.pat-swing-input{z-index:30;width:4.5rem;position:absolute}.bpm input{background:var(--readout-bg);color:var(--readout-fg);border:var(--readout-border);box-shadow:var(--readout-shadow);text-shadow:var(--readout-glow);border-radius:var(--radius-sm);font-family:monospace}.bpm{position:relative}.bpm.pending:after{content:"";background:var(--acc);pointer-events:none;border-radius:50%;width:5px;height:5px;position:absolute;top:0;right:0}.header-nav .swing{letter-spacing:.06em;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.header-nav .swing input{width:3.2rem}.swing input{background:var(--readout-bg);color:var(--readout-fg);border:var(--readout-border);box-shadow:var(--readout-shadow);text-shadow:var(--readout-glow);border-radius:var(--radius-sm);font-family:monospace}#play{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-radius:var(--radius-sm)}.knob-dial{position:relative}:root[data-theme=modern] .knob-dial:before,:root:not([data-theme]) .knob-dial:before{content:"";background:conic-gradient(from 225deg, var(--acc) calc(var(--frac,.5) * 270deg), #2a2d34 calc(var(--frac,.5) * 270deg) 270deg, transparent 270deg 360deg);pointer-events:none;border-radius:50%;position:absolute;inset:4px;-webkit-mask:radial-gradient(circle,#0000 58%,#000 60%);mask:radial-gradient(circle,#0000 58%,#000 60%)}:root[data-theme=fl-classic] .knob-dial:before{content:"";pointer-events:none;background:radial-gradient(circle at 35% 30%,#71747c,#3c3f45 65%);border-radius:50%;position:absolute;inset:6px;box-shadow:inset 0 1px 1px #fff6,0 3px 5px #0009}:root[data-theme=fl-classic] .knob-body{fill:#0000;stroke:#0000}:root[data-theme=fl-classic] .knob-dial:after{content:"";background:conic-gradient(from 225deg, var(--acc) calc(var(--frac,.5) * 270deg), #23252b calc(var(--frac,.5) * 270deg) 270deg, transparent 270deg 360deg);filter:drop-shadow(0 1px 1px #00000080);pointer-events:none;border-radius:50%;position:absolute;inset:1px;-webkit-mask:radial-gradient(circle closest-side,#0000 76%,#000 78%);mask:radial-gradient(circle closest-side,#0000 76%,#000 78%)}:root[data-theme=hardware] .knob-dial:before{content:"";pointer-events:none;background:radial-gradient(circle at 40% 30%,#2c2c2e,#0e0e10 70%);border:3px solid #514b44;border-radius:50%;position:absolute;inset:4px;box-shadow:0 3px 6px #000c,inset 0 1px 2px #ffffff26}:root[data-theme=hardware] .knob-body{fill:#0000;stroke:#0000}:root[data-theme=hardware] .knob-dial:after{content:"";background:conic-gradient(from 225deg, var(--acc) calc(var(--frac,.5) * 270deg), #17171a calc(var(--frac,.5) * 270deg) 270deg, transparent 270deg 360deg);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--acc) 55%, transparent));pointer-events:none;border-radius:50%;position:absolute;inset:-2px;-webkit-mask:radial-gradient(circle closest-side,#0000 84%,#000 86%);mask:radial-gradient(circle closest-side,#0000 84%,#000 86%)}:root[data-theme=hardware] .rack-row,:root[data-theme=hardware] .overlay{position:relative}:root[data-theme=hardware] .header-nav:before,:root[data-theme=hardware] .header-nav:after,:root[data-theme=hardware] .rack-row:before,:root[data-theme=hardware] .overlay:before{content:"";pointer-events:none;background:radial-gradient(circle at 35% 30%,#8d867d,#4b453e);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;box-shadow:inset 0 1px 1px #000c}:root[data-theme=hardware] .header-nav:before,:root[data-theme=hardware] .rack-row:before,:root[data-theme=hardware] .overlay:before{left:6px}:root[data-theme=hardware] .header-nav:after{right:6px}:root[data-theme=hardware] .rack-row.insert-before:before{background:var(--acc);width:auto;height:2px;box-shadow:none;border-radius:2px;top:-4px;left:0;right:0}body:has(#app[data-fs]){overflow:hidden}#app[data-fs]{flex-direction:column;max-width:none;height:calc(100dvh - 2rem);display:flex}#app[data-fs] #workspace-root{flex-direction:column;flex:1;min-height:0;display:flex}#app[data-fs] .scope-strip,#app[data-fs] .library,#app[data-fs] .rack,#app[data-fs] .overlay-host{display:none}#app[data-fs] .workspace{flex:1;align-items:stretch;min-height:0}#app[data-fs] .main-col{flex-direction:column;min-height:0;display:flex}#app[data-fs=roll] .roll-editor.open{flex:1;min-height:0;max-height:none}#app[data-fs=roll] .roll-grid,#app[data-fs=playlist] .playlist{flex:1;min-height:0}#app[data-fs=playlist] .roll-editor.open,#app[data-fs=playlist] .auto-editor.open{display:none}.resize-grip{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;height:8px;margin-top:2px;position:relative}.resize-grip:after{content:"";background:var(--knob-stroke);height:1px;position:absolute;top:3.5px;left:0;right:0}.resize-grip:hover:after{background:var(--acc)}#app[data-fs] .resize-grip{display:none}.roll-collapse,.auto-collapse{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:2px 8px;font-size:.85rem;line-height:1}#app:not([data-fs]) .roll-editor.open.collapsed{height:auto}#app:not([data-fs]) .roll-editor.collapsed .roll-tools,#app:not([data-fs]) .roll-editor.collapsed .roll-grid-wrap{display:none}#app:not([data-fs]) .auto-editor.open.collapsed{height:auto}#app:not([data-fs]) .auto-editor.collapsed .auto-body,.roll-editor.collapsed+.resize-grip,.auto-editor.collapsed+.resize-grip{display:none}.wam-panel{flex-direction:column;gap:.6rem;display:flex}.wam-status{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.wam-status-text{opacity:.85;font-size:.85rem}.wam-status-text.failed{color:#ff8f8f;opacity:1}.wam-status-text.pending{color:#ffcf8f;opacity:1}.wam-picker-backdrop,.wam-gui-backdrop{z-index:80;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wam-picker,.wam-gui-panel{background:#101418;border:1px solid #2a3138;border-radius:8px;width:min(92vw,34rem);max-height:82vh;padding:1rem;overflow:auto}.wam-picker-title,.wam-gui-head{letter-spacing:.06em;margin-bottom:.6rem;font-size:.95rem}.wam-gui-head{justify-content:space-between;align-items:center;display:flex}.wam-pick-entry{text-align:left;grid-template-columns:1fr auto;gap:0 .6rem;width:100%;margin-bottom:.35rem;padding:.5rem .6rem;display:grid}.wam-pick-name{font-weight:600}.wam-pick-blurb{opacity:.7;grid-column:1;font-size:.8rem}.wam-pick-license{opacity:.6;grid-area:1/2/span 2;align-self:center;font-size:.75rem}.wam-advanced{margin:.6rem 0}.wam-warning{color:#ffcf8f;margin:.4rem 0;font-size:.8rem}.wam-url{width:100%;margin-bottom:.4rem}.wam-url.invalid{outline:1px solid #ff8f8f}.wam-gui-panel{width:min(94vw,56rem)}.help-backdrop,.notices-backdrop{z-index:80;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.notices-backdrop{z-index:85}.help-panel,.notices-panel{background:#101418;border:1px solid #2a3138;border-radius:8px;flex-direction:column;width:min(92vw,34rem);max-height:82vh;padding:1rem;display:flex}.help-head,.notices-head{letter-spacing:.06em;flex:none;justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.95rem;display:flex}.help-close,.notices-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.9rem}.help-body{flex:auto;overflow:auto}.help-group{letter-spacing:.05em;opacity:.75;margin:.7rem 0 .3rem;font-size:.8rem}.help-row{justify-content:space-between;gap:.6rem;padding:.15rem 0;font-size:.8rem;display:flex}.help-keys{opacity:.9;font-family:monospace}.help-desc{opacity:.75}.help-footer{border-top:1px solid #2a3138;flex:none;margin-top:.6rem;padding-top:.5rem}.help-notices{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.7rem}.notices-panel{width:min(94vw,56rem)}.notices-body{white-space:pre-wrap;word-break:break-word;background:var(--inset-bg,#101014);border-radius:6px;flex:auto;margin:0;padding:.6rem;font-size:.75rem;line-height:1.4;overflow:auto}.sb-backdrop{z-index:80;opacity:0;pointer-events:none;background:#0000008c;justify-content:center;align-items:center;transition:opacity .16s;display:flex;position:fixed;inset:0}.sb-backdrop.open{opacity:1;pointer-events:auto}.sb-modal{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);box-shadow:var(--panel-shadow);max-width:min(1100px,96vw);max-height:88vh;padding:.75rem;overflow:auto}.sb-modal-head{letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;display:flex}.sb-modal-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.9rem}@media (prefers-reduced-motion:reduce){.sb-backdrop{transition:none}}.wam-consent-url{opacity:.75;word-break:break-all;flex-basis:100%;font-size:.78rem}.bounce-dialog{z-index:90;background:var(--panel,#1a1a1e);border:1px solid var(--edge,#333);border-radius:6px;flex-direction:column;gap:.5rem;min-width:22rem;padding:1rem 1.2rem;font-size:.8rem;display:flex;position:fixed;top:20%;left:50%;transform:translate(-50%)}.bounce-title{letter-spacing:.08em;font-weight:700}.bounce-wam,.bounce-guard{color:var(--warn,#e9a13b)}.bounce-progress{background:#ffffff14;border-radius:3px;height:.9rem;position:relative;overflow:hidden}.bounce-progress-fill{background:var(--acc);width:0;position:absolute;inset:0 auto 0 0}.bounce-progress-text{padding-left:.4rem;font-size:.7rem;position:relative}.bounce-actions{justify-content:flex-end;gap:.5rem;display:flex}.menu-items #proj-bounce.disabled{opacity:.4;cursor:default}.rec{align-items:center;gap:.35rem;display:inline-flex}#rec.armed{color:#f43f3f;border-color:#f43f3f}#rec.disabled{opacity:.45;cursor:not-allowed}#rec[data-phase=countin]{animation:.5s ease-in-out infinite alternate rec-pulse}#rec[data-phase=writing]{color:#fff;background:#f43f3f}@keyframes rec-pulse{0%{opacity:.45}to{opacity:1}}[data-menu=rec] .menu-items{min-width:17rem}[data-menu=rec] .rec-startmode{flex-direction:column;display:flex}[data-menu=rec] .rec-sm{text-align:left;border-radius:4px}[data-menu=rec] .rec-mode,[data-menu=rec] .rec-sm{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);cursor:pointer;padding:5px 10px;font-size:.75rem}[data-menu=rec] .rec-mode{text-align:center;border-radius:var(--radius-sm);align-self:flex-start;min-width:3.5rem}[data-menu=rec] .rec-startmode .rec-sm{border-radius:0}[data-menu=rec] .rec-startmode .rec-sm:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}[data-menu=rec] .rec-startmode .rec-sm:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}[data-menu=rec] .rec-startmode .rec-sm+.rec-sm{border-top:none;border-left:1px solid var(--control-border)}[data-menu=rec] .menu-items>.rec-lbl,[data-menu=rec] .menu-items>.rec-quant,[data-menu=rec] .menu-items>.rec-startmode,[data-menu=rec] .menu-items>.rec-mode,[data-menu=rec] .menu-items>.rec-click{margin:0 4px 5px}[data-menu=rec] .menu-items>.menu-heading:first-child{display:none}[data-menu=rec] .menu-items>.rec-lbl{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);opacity:1;margin:0;padding:6px 10px 3px;font-size:.58rem}[data-menu=rec] .menu-items>.rec-quant{align-self:flex-start;min-width:7rem}[data-menu=rec] .menu-items>.rec-click{color:var(--control-fg);align-items:center;gap:6px;padding:3px 6px;font-size:.75rem;display:flex}.rec-menu[hidden]{display:none}#rec[data-phase=waiting]{animation:1.1s ease-in-out infinite alternate rec-wait-pulse}@keyframes rec-wait-pulse{0%{opacity:.5;box-shadow:none}to{opacity:1;box-shadow:0 0 0 2px #f43f3f66}}.rec-lbl{opacity:.75;font-size:.85em}.rec-startmode{display:inline-flex}.rec-startmode .rec-sm{border-radius:0;margin:0}.rec-startmode .rec-sm:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.rec-startmode .rec-sm:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.rec-startmode .rec-sm+.rec-sm{border-left:none}.rec-startmode .rec-sm.active{background:var(--acc);color:#16161a}.mode-toggle,.scene-lock,.roll-tool{padding:0;display:inline-flex;overflow:hidden}.mode-half,.scene-half,.tool-half{font-size:inherit;padding:.4rem .8rem;line-height:1.2}@media (max-width:900px){.mode-half,.scene-half,.tool-half{padding:.3rem .5rem}}.roll-tools .tool-half{padding:.25rem .6rem}button.mode-toggle,button.scene-lock,button.roll-tool{border:1px solid #0000;overflow:visible}button.mode-toggle,button.scene-lock,button.roll-tool,.lib-tabs{border-radius:var(--radius-sm);background:#00000042;box-shadow:inset 0 1px 2px #00000073,inset 0 -1px #ffffff0f}.mode-half,.scene-half,.tool-half,.lib-tab{border-radius:var(--radius-sm)}.mode-half.active,.scene-half.active,.tool-half.active,.lib-tab.active{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow)}.mode-half:not(.active),.scene-half:not(.active),.tool-half:not(.active),.lib-tab:not(.active){color:var(--muted);box-shadow:none;background:0 0}.pat-grow{margin-left:.35rem}.length-ctl .len-btn,.pat-strip .pat{border-radius:0;margin:0}.length-ctl .len-btn:first-of-type,.pat-strip .pat:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}.length-ctl .len-btn:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.pat-strip .pat:not(:has(~.pat)){border-top-right-radius:4px;border-bottom-right-radius:4px}.length-ctl .len-btn+.len-btn,.pat-strip .pat+.pat{border-left:none}.arp-field{align-items:center;gap:.25rem;display:inline-flex}.arp-lbl{color:#8a8a94;letter-spacing:.04em;font-size:.65rem}.fx-wam-status{opacity:.85;overflow-wrap:anywhere;max-width:18rem;font-size:.72rem}.fx-wam-status.failed{color:#f66}.fx-wam-status.pending{color:var(--warn,#e9a13b)}.fx-row-pending{align-items:center}.fx-wam-retry,.fx-wam-consent,.fx-wam-gui{font-size:.72rem}.fx-comp-meter{background:#ffffff1f;border-radius:3px;align-self:center;width:48px;height:6px;overflow:hidden}.fx-comp-meter-fill{background:#e6a13a;width:0%;height:100%;transition:width 60ms linear}.sample-browser .sb-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.sample-browser .sb-title{letter-spacing:.04em;font-weight:600}.sample-browser .sb-upload{align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.sample-browser .sb-upload-input{display:none}.sample-browser .sb-search{box-sizing:border-box;width:160px;max-width:40vw;font:inherit;border:1px solid var(--fg,#888);color:inherit;background:0 0;border-radius:6px;padding:.3rem .5rem;font-size:.85em}.sample-browser .sb-search:focus{border-color:var(--acc);outline:none}.sample-browser .sb-aim{border:1px solid var(--acc);background:color-mix(in srgb, var(--acc) 12%, transparent);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.35rem .6rem;font-size:.85em;display:flex}.sample-browser .sb-aim[hidden]{display:none}.sample-browser .sb-aim-text{color:var(--acc);flex:1}.sample-browser .sb-aim-clear{font:inherit;color:inherit;border:1px solid var(--acc);cursor:pointer;background:0 0;border-radius:4px;padding:0 .3rem;line-height:1}.sample-browser .sb-body{max-height:68vh;overflow-y:auto}.sample-browser .sb-grid{gap:.5rem;display:grid}.sample-browser .sb-grid.sb-root{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.sample-browser .sb-grid.sb-samples{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.sample-browser .sb-card[disabled]{opacity:.5;cursor:default}.sample-browser .sb-source{align-items:flex-start}.sample-browser .sb-src-name{font-weight:600}.sample-browser .sb-src-meta{opacity:.7;font-size:.8em}.sample-browser .sb-sweep{background:var(--glow,#ffd166);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:0}.sample-browser .sb-back{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-bottom:.5rem;display:inline-flex}.sample-browser .sb-back svg{width:16px;height:16px}.sample-browser .sb-packs-notice{opacity:.7;margin-top:.5rem;font-size:.85em}.sample-browser .sb-card.sb-premium{border-color:var(--premium-acc,#e0b84c)}.sample-browser .sb-card.sb-source.sb-premium .sb-src-name:after{content:" ★";color:var(--premium-acc,#e0b84c)}.sample-browser .sb-card.sb-premium-upsell{border-style:dashed;border-color:var(--premium-acc,#e0b84c);color:var(--premium-acc,#e0b84c);text-align:center;justify-content:center;align-items:center;min-height:64px}.sample-browser .sb-card.sb-premium-upsell:hover,.sample-browser .sb-card.sb-premium-upsell:focus-visible{border-color:var(--premium-acc,#e0b84c);background:#e0b84c14}.account-control{align-items:center;gap:6px;margin-left:auto;display:flex;position:relative}.account-control button{font:inherit;cursor:pointer;padding:3px 9px}.account-pro{padding:0 .4rem;font-weight:600}.account-portal-off{opacity:.55;cursor:default;font-style:italic}.pro-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pro-panel{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.6rem;width:min(420px,92vw);max-height:88vh;padding:1rem 1.2rem;display:flex;position:relative;overflow:auto}.pro-panel .auth-close{position:absolute;top:.5rem;right:.6rem}.pro-title{letter-spacing:.04em;margin:0 1.6rem 0 0;font-weight:700}.pro-includes{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-size:.85rem;display:flex}.pro-checkout{font:inherit;cursor:pointer;background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-radius:var(--radius-sm);border:none;align-self:flex-start;padding:.5rem 1rem;font-weight:600}.pro-checkout:hover{opacity:.9}.auth-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-panel{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);box-shadow:var(--panel-shadow);color:var(--text);box-sizing:border-box;flex-direction:column;gap:.6rem;width:min(420px,92vw);max-height:88vh;padding:1rem 1.2rem;display:flex;overflow:auto}.auth-head{justify-content:space-between;align-items:center;display:flex}.auth-title{letter-spacing:.04em;font-weight:700}.auth-subtitle{color:var(--muted);margin-bottom:.1rem;font-size:.8rem}.auth-close{font:inherit;cursor:pointer;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.9rem;line-height:1}.auth-panel input{font:inherit;box-sizing:border-box;background:var(--inset-bg);width:100%;color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:var(--radius-sm);padding:.45rem .5rem;font-size:.85rem}.auth-panel input::placeholder{color:var(--muted)}.auth-panel input:focus{border-color:var(--acc);outline:none}.auth-error{color:var(--danger);font-size:.8rem}.auth-submit{font:inherit;cursor:pointer;background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-radius:var(--radius-sm);border:none;padding:.5rem;font-size:.85rem;font-weight:600}.auth-submit:disabled{opacity:.6;cursor:default}.auth-swap{color:var(--acc);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.auth-swap:hover{text-decoration:underline}.auth-verify{font:inherit;cursor:pointer;background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border-radius:var(--radius-sm);border:none;padding:.5rem;font-size:.85rem;font-weight:600}.auth-verify:disabled{opacity:.6;cursor:default}.auth-link{color:var(--acc);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.auth-link:hover{text-decoration:underline}.auth-panel [hidden]{display:none!important}.auth-otp-request{font:inherit;cursor:pointer;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.5rem;font-size:.85rem;font-weight:600}.auth-otp-request:hover{border-color:var(--acc)}.auth-otp-request:disabled{opacity:.6;cursor:default}.auth-or{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.6rem;margin:.1rem 0;font-size:.75rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--knob-stroke);flex:1;height:1px}.auth-note{color:var(--text);font-size:.8rem;line-height:1.4}.auth-info{color:var(--acc);font-size:.8rem}.auth-code{letter-spacing:.28em;text-align:center;padding:.55rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem}.auth-code::placeholder{letter-spacing:normal;font-size:.85rem}.cloud-panel{width:min(480px,94vw)}.cloud-upgrade{font-size:14px}.cloud-upgrade-btn{cursor:pointer;padding:7px}.cloud-error{color:var(--danger);font-size:13px}.cloud-save-row{gap:8px;display:flex}.cloud-save-row .cloud-name{font:inherit;flex:1;padding:6px 8px}.cloud-save,.cloud-saveover{cursor:pointer;padding:6px 10px}.cloud-saveover{background:#2a2a2a}.cloud-saveover[hidden]{display:none}.cloud-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.cloud-row{border-bottom:1px solid #80808033;align-items:center;gap:8px;padding:6px 4px;display:flex}.cloud-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cloud-row button{font:inherit;cursor:pointer;padding:3px 8px}.info-popover{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);z-index:90;flex-direction:column;gap:.5rem;width:min(22rem,90vw);max-height:60vh;padding:.75rem;display:flex;position:fixed;top:1rem;left:1rem;overflow-y:auto}.info-popover[hidden]{display:none}.info-head{justify-content:space-between;align-items:center;display:flex}.info-title{color:var(--acc);letter-spacing:.02em;font-size:.8rem}.info-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer}.info-topic-title{color:var(--acc);margin:0 0 .25rem;font-size:.9rem}.info-topic-body,.info-empty{color:var(--text);margin:0;font-size:.8rem;line-height:1.4}body.info-mode [data-help]:hover{outline:1px dashed var(--acc);outline-offset:-1px;cursor:help}.info-toggle.active{color:var(--acc);border-color:var(--acc)}.toast{z-index:300;pointer-events:none;background:var(--panel-bg);border:var(--panel-border);color:var(--text);border-radius:4px;padding:.5rem .9rem;font-size:.8rem;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.share-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.share-list-empty{color:#e8e6e399;padding:.75rem 0;font-size:13px}.share-list-error{color:var(--danger);padding:.75rem 0;font-size:13px}.share-row{border-bottom:1px solid #80808033;align-items:center;gap:.6rem;padding:6px 4px;display:flex}.share-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.share-terms{opacity:.7;min-width:80px;font-size:.75rem}.share-row button{font:inherit;cursor:pointer;padding:3px 8px}.share-visibility[data-listed=true]{color:var(--acc,#6cf)}.share-visibility[data-listed=false]{opacity:.75}.share-visibility[hidden]{display:none}.share-modal-blurb{margin:0 0 .75rem;line-height:1.45}.share-modal-options{flex-direction:column;gap:.5rem;display:flex}.share-modal-option{cursor:pointer;border:1px solid color-mix(in srgb, currentColor 28%, transparent);border-radius:var(--radius-sm,4px);align-items:flex-start;gap:.6rem;padding:.6rem;display:flex}.share-modal-option input[type=radio]{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.share-modal-option:has(input:checked){border-color:var(--acc,#6cf);background:color-mix(in srgb, var(--acc,#6cf) 12%, transparent)}.share-modal-option:has(input:focus-visible){outline:2px solid var(--acc,#6cf);outline-offset:2px}.share-modal-option strong{display:block}.share-modal-option small{opacity:.75;line-height:1.35;display:block}.share-modal-option.is-disabled{opacity:.5;cursor:not-allowed}.share-modal-name{flex-direction:column;gap:.3rem;margin:0 0 .75rem;display:flex}.share-modal-name-label{opacity:.8;font-size:.85em}.share-modal-name-input{font:inherit;box-sizing:border-box;background:var(--inset-bg);width:100%;color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:var(--radius-sm);padding:.45rem .5rem;font-size:.85rem}.share-modal-name-input::placeholder{color:var(--muted)}.share-modal-name-input:focus{border-color:var(--acc);outline:none}.share-modal-why{margin:.75rem 0 0;line-height:1.45}.share-modal-note{opacity:.8;margin:.75rem 0 0;line-height:1.45}.share-modal-jam{border-top:1px solid color-mix(in srgb, currentColor 20%, transparent);margin:1rem 0 0;padding:.85rem 0 0}.share-modal-jam-head{margin:0 0 .25rem;font-size:.95em;font-weight:600}.share-modal-jam-note{opacity:.8;margin:0 0 .6rem;font-size:.9em;line-height:1.4}.share-modal-jam-actions{gap:.5rem;margin:0;display:flex}.share-modal-actions{justify-content:flex-end;gap:.6rem;margin:1rem 0 0;display:flex}.share-modal-actions button,.share-modal-jam-actions button,.share-modal-copy{font:inherit;cursor:pointer;white-space:nowrap;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.4rem .9rem;font-size:.85rem;font-weight:600}.share-modal-actions button:hover,.share-modal-jam-actions button:hover,.share-modal-copy:hover{border-color:var(--acc)}.share-modal-actions .share-modal-confirm{background:var(--play-bg);color:var(--play-fg);box-shadow:var(--play-shadow);border:none}.share-modal-actions .share-modal-confirm:hover{opacity:.9}.share-modal-actions button:disabled,.share-modal-jam-actions button:disabled{opacity:.6;cursor:default}.share-modal-actions button:disabled:hover,.share-modal-jam-actions button:disabled:hover{border-color:var(--control-border)}.share-modal-jam-leave:hover{border-color:var(--danger);color:var(--danger)}.share-modal-link-row{gap:.5rem;margin:.75rem 0 0;display:flex}.share-modal-url{min-width:0;font:inherit;background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:var(--radius-sm);flex:1;padding:.45rem .5rem;font-size:.85rem}.share-modal-error{color:var(--danger,#e66);margin:.75rem 0 0;line-height:1.45}.share-limit-msg{margin-bottom:10px;font-size:13px;line-height:1.4}.share-limit-list,.share-limit-pro{cursor:pointer;margin-top:4px;padding:6px 10px}.share-listed-label{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.share-listed-hint{color:var(--muted);margin:4px 0 10px;font-size:.75rem;line-height:1.4}.share-listed-confirm{cursor:pointer;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);margin-top:4px;padding:6px 10px}.share-banner{z-index:90;background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);max-width:min(92vw,32rem);box-shadow:var(--panel-shadow);align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.8rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.share-banner-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.share-banner-credit{color:var(--muted);white-space:nowrap;text-decoration:none}.share-banner-credit:hover{color:var(--acc)}.share-banner-remix{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;margin-left:auto;padding:.25rem .5rem;font-size:.75rem}.share-banner-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:.1rem .4rem;font-size:.85rem;line-height:1}.pb-backdrop{z-index:80;opacity:0;pointer-events:none;background:#0000008c;justify-content:center;align-items:center;transition:opacity .16s;display:flex;position:fixed;inset:0}.pb-backdrop.open{opacity:1;pointer-events:auto}.pb-modal{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc);border-radius:var(--radius);box-shadow:var(--panel-shadow);width:min(560px,96vw);max-height:88vh;padding:.75rem;overflow:auto}@media (prefers-reduced-motion:reduce){.pb-backdrop{transition:none}}.pb-modal-head{letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;display:flex}.pb-close{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.9rem}.pb-target-wrap{margin-bottom:.6rem}.pb-target{font:inherit;border-radius:var(--radius-sm);background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);padding:.25rem .4rem;font-size:.85em}.pb-target-note{opacity:.7;margin-top:.3rem;font-size:.8em;display:none}.pb-body{flex-direction:column;gap:.4rem;display:flex}.pb-empty{color:var(--muted,#999);padding:.5rem .25rem;font-size:.85em}.pb-group{border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.3rem .5rem}.pb-group summary{cursor:pointer;letter-spacing:.03em;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.pb-pro-chip{letter-spacing:.05em;border-radius:var(--radius-sm);color:var(--premium-acc,#e0b84c);border:1px solid var(--premium-acc,#e0b84c);padding:.05rem .35rem;font-size:.65rem;font-weight:600}.pb-row{border-top:1px solid #80808026;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.pb-row:first-of-type{border-top:none}.pb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85em;overflow:hidden}.pb-preview,.pb-apply,.pb-lock{font:inherit;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:.15rem .5rem;font-size:.8em}.pb-bars{color:var(--muted,#9aa);white-space:nowrap;border:1px solid #8080804d;border-radius:.6rem;flex:none;padding:.05rem .35rem;font-size:.7em}.pb-preview[disabled],.pb-apply[disabled]{opacity:.4;cursor:default}.pb-locked{opacity:.55}.pb-lock{color:var(--premium-acc,#e0b84c);border-color:var(--premium-acc,#e0b84c)}.pb-playing .pb-preview{color:var(--acc);border-color:var(--acc)}.roll-grid,.pl-scroll{touch-action:pan-x pan-y}.roll-note,.pl-clip,.roll-ruler,.pl-ruler,.roll-region,.pl-region,.rack-grip,.pl-lane-grip,.pl-playhead-grip{touch-action:none}#app{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pl-clip:after,.roll-note:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#16161a8c 1px,#0000 1.4px) 50%/4px 5px;border-radius:0 3px 3px 0;width:7px;transition:opacity 80ms;position:absolute;top:1px;bottom:1px;right:1px}.pl-clip:hover:after,.pl-clip.selected:after,.roll-note:hover:after,.roll-note.selected:after{opacity:1}.pl-dup{z-index:5;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--muted) 45%, transparent);background:var(--inset-bg);width:.95rem;height:.95rem;color:var(--muted);font:inherit;text-align:center;cursor:pointer;opacity:0;pointer-events:none;border-radius:3px;grid-row:1;place-self:center start;margin-left:-2px;padding:0;font-size:.72rem;line-height:.8rem;transition:opacity 80ms}.pl-clip:hover+.pl-dup,.pl-clip.selected+.pl-dup,.pl-dup:hover,.pl-dup:focus-visible{opacity:1;pointer-events:auto}.pl-dup:focus-visible{outline:1px solid var(--acc);outline-offset:1px}.pl-dup:not(.disabled):hover{color:var(--acc);border-color:var(--acc)}.pl-dup.disabled{cursor:default;color:var(--muted);background:0 0;border-style:dashed}.pl-clip:hover+.pl-dup.disabled,.pl-clip.selected+.pl-dup.disabled,.pl-dup.disabled:hover,.pl-dup.disabled:focus-visible{opacity:.55}.demos-intro{color:var(--muted);margin:0 0 10px;font-size:13px;line-height:1.4}.demos-empty{color:var(--muted);padding:.75rem 0;font-size:13px}.demo-list{flex-direction:column;gap:6px;max-height:380px;display:flex;overflow-y:auto}.demo-card{text-align:left;width:100%;font:inherit;cursor:pointer;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--text);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.demo-card:hover{border-color:var(--acc)}.demo-card-head{align-items:baseline;gap:.6rem;display:flex}.demo-card-name{flex:1;font-size:13px;font-weight:600}.demo-card-meta{opacity:.7;white-space:nowrap;font-size:.75rem}.demo-card-blurb{opacity:.8;font-size:.75rem;line-height:1.35}.pro-checkout-yearly{font:inherit;cursor:pointer;color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:0 0;align-self:flex-start;margin-top:.5rem;padding:.4rem .9rem;font-size:.85rem}.pro-checkout-yearly:hover{border-color:var(--acc);color:var(--acc)}.menu-items>.menu-link{cursor:pointer;text-decoration:none;display:block}.rack-col{flex:0 0 364px;min-width:364px}.macro-pad{flex-direction:column;gap:.4rem;max-width:240px;display:flex}.macro-surface{aspect-ratio:1;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:crosshair;touch-action:none;width:100%;position:relative;overflow:hidden}.macro-surface:before,.macro-surface:after{content:"";background:var(--control-border);position:absolute}.macro-surface:before{width:1px;top:0;bottom:0;left:50%}.macro-surface:after{height:1px;top:50%;left:0;right:0}.macro-dot{background:var(--acc);width:12px;height:12px;box-shadow:0 0 0 2px color-mix(in srgb, var(--acc) 35%, transparent);pointer-events:none;border-radius:50%;margin:0 0 -6px -6px;position:absolute}.macro-peer-dot{background:var(--peer,var(--muted));border:1.5px solid var(--app-bg);pointer-events:none;border-radius:50%;width:9px;height:9px;margin:0 0 -4.5px -4.5px;position:absolute}@keyframes macro-arm-pulse{50%{background:color-mix(in srgb, var(--acc) 18%, var(--control-bg))}}body.macro-arming .link-badge{border-radius:var(--radius-sm);animation:1.1s ease-in-out infinite macro-arm-pulse}@media (prefers-reduced-motion:reduce){.controller-assign.arming,body.macro-arming .link-badge{background:color-mix(in srgb, var(--acc) 18%, var(--control-bg));animation:none}}.controller-card{background:var(--panel-bg,var(--control-bg));border:1px solid var(--control-border);border-radius:var(--radius);margin-top:.5rem;padding:.55rem .7rem .7rem}.controller-card+.controller-card{margin-top:.5rem}.controller-card-head{align-items:center;gap:.35rem;margin-bottom:.45rem;display:flex}.controller-icon{text-align:center;width:1.1rem;color:var(--acc);flex:none;font-size:.85rem}.controller-name{background:var(--control-bg);min-width:0;color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-sm);font:inherit;flex:auto;padding:.15rem .4rem;font-size:.72rem}.controller-name:focus{border-color:var(--acc);outline:none}.controller-enable,.controller-collapse,.controller-remove{color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;padding:.15rem .35rem;font-size:.65rem;line-height:1}.controller-enable.on{color:var(--acc);border-color:var(--acc)}.controller-collapse:hover,.controller-remove:hover{color:var(--acc)}.controller-remove svg{width:12px;height:12px;display:block}.controller-card.disabled{opacity:.6}.controller-body{flex-direction:column;gap:.4rem;display:flex}.controller-body[hidden],.controller-kind-body:empty{display:none}.controller-rows{flex-direction:column;gap:.2rem;display:flex}.controller-row{align-items:center;gap:.3rem;display:flex}.controller-assign{text-overflow:ellipsis;white-space:nowrap;text-align:left;background:var(--control-bg);min-width:0;color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-sm);font:inherit;cursor:pointer;flex:auto;padding:.15rem .4rem;font-size:.7rem;overflow:hidden}.controller-assign:hover{border-color:var(--acc)}.controller-assign.unassigned{color:var(--muted);font-style:italic}.controller-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 .2rem;font-size:.8rem;line-height:1}.controller-clear:disabled{opacity:.3;cursor:default}.controller-clear:not(:disabled):hover{color:var(--acc)}.controller-assign.arming{color:var(--acc);border-color:var(--acc);font-style:normal;animation:1.1s ease-in-out infinite macro-arm-pulse}.controller-hint{color:var(--acc);margin:0;font-size:.65rem}.controller-row.superseded{opacity:.5}.controller-row.superseded .controller-assign{cursor:default;font-style:italic}.controller-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.68rem;overflow:hidden}.lfo-body{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.lfo-wave{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);width:100%;height:64px;display:block}.lfo-rate-row{align-items:center;gap:.5rem;display:flex}.lfo-rate-row [hidden]{display:none}.lfo-knob-row{align-items:flex-end;gap:.8rem;display:flex}.lfo-toggle{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:.25rem .5rem;font-size:.68rem;line-height:1}.lfo-toggle.on{color:var(--acc);border-color:var(--acc)}.follower-body{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.follower-source{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:4px;padding:2px 4px;font-size:.7rem}.follower-meter{background:var(--inset-bg);border-radius:3px;height:6px;position:relative;overflow:hidden}.follower-meter-fill{background:var(--acc);width:0%;position:absolute;top:0;bottom:0;left:0}.follower-knob-row{align-items:flex-end;gap:.8rem;display:flex}.follower-toggle{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:.25rem .5rem;font-size:.68rem;line-height:1}.follower-toggle.on{color:var(--acc);border-color:var(--acc)}.macro-body{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:320px;display:flex}.controller-targets{flex-wrap:wrap;gap:.3rem;display:flex}.controller-targets:empty{display:none}.controller-target{background:var(--inset-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);align-items:center;gap:.3rem;padding:.2rem .3rem .2rem .45rem;font-size:.66rem;line-height:1;display:inline-flex}.controller-target-name{overflow-wrap:anywhere}.controller-target-remove{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;padding:0 .1rem;line-height:1}.controller-target-remove:hover{color:var(--acc)}.controller-range{width:3.2em;font:inherit;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);-moz-appearance:textfield;border-radius:2px;padding:0 .15rem;font-size:.95em}.controller-range::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.controller-range::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.controller-range-arrow{opacity:.7;padding:0 .1rem}.controller-range-reset{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:0;padding:0 .1rem;line-height:1}.controller-range-reset:hover{color:var(--acc)}.macro-taper-row{gap:.35rem;display:flex}.macro-taper,.step-toggle,.random-toggle,.random-reseed{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:.25rem .5rem;font-size:.68rem;line-height:1}.macro-taper.on,.step-toggle.on,.random-toggle.on{color:var(--acc);border-color:var(--acc)}.step-body{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.step-lane{background:var(--inset-bg);touch-action:none;border-radius:4px;grid-template-columns:repeat(16,1fr);gap:2px;height:64px;padding:2px;display:grid}.step-cell{background:var(--control-bg);cursor:ns-resize;border-radius:2px;position:relative}.step-fill{background:var(--acc);border-radius:2px;height:0%;position:absolute;bottom:0;left:0;right:0}.step-cell.is-inactive{opacity:.32}.step-cell.is-playing{outline:1px solid var(--acc);outline-offset:1px}.step-knob-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.step-length,.step-rate,.random-rate{background:var(--inset-bg);color:var(--control-fg);border:1px solid var(--knob-stroke);border-radius:4px;padding:2px 4px;font-size:.7rem}.random-body{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:320px;display:flex}.random-readout{background:var(--inset-bg);border-radius:3px;width:100%;height:6px;position:relative;overflow:hidden}.random-readout-fill{background:var(--acc);width:0%;position:absolute;top:0;bottom:0;left:0}.random-knob-row{flex-wrap:wrap;align-items:flex-end;gap:.8rem;display:flex}.gate-body{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.gate-button{font:inherit;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:var(--control-bg);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:1.1rem .75rem;font-weight:600}.gate-button.held{background:var(--acc);color:var(--bg);border-color:var(--acc)}.gate-knob-row{align-items:flex-end;gap:.8rem;display:flex}.gate-toggle{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:.25rem .5rem;font-size:.68rem;line-height:1}.gate-toggle.on{color:var(--acc);border-color:var(--acc)}.pads-body{flex-direction:column;gap:.5rem;max-width:320px;display:flex}.pads-grid{touch-action:none;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.pad{aspect-ratio:1;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.62rem}.pad.held{background:var(--acc);color:var(--bg);border-color:var(--acc)}.pads-row{align-items:center;gap:.4rem;display:flex}.pads-base{text-align:center;opacity:.8;min-width:2.5em;font-size:.7rem}.pads-oct,.pads-toggle{background:var(--control-bg);color:var(--muted);border:1px solid var(--control-border);border-radius:var(--radius-sm);cursor:pointer;padding:.25rem .5rem;font-size:.68rem;line-height:1}.pads-toggle.on{color:var(--acc);border-color:var(--acc)}.lib-group-head.static{cursor:default}.lib-pro{letter-spacing:.04em;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--acc) 20%, transparent);color:var(--acc);flex:none;padding:1px 4px;font-size:.55rem;font-weight:700}.emailtrack{border-top:1px solid var(--edge,#333);flex-direction:column;gap:.45rem;margin-top:.6rem;padding-top:.7rem;display:flex}.emailtrack-form{flex-direction:column;gap:.45rem;display:flex}.emailtrack-title{font-weight:600}.emailtrack-blurb{color:var(--dim,#9a9aa2);font-size:.75rem;line-height:1.4}.emailtrack-email{background:var(--sunk,#121215);color:inherit;border:1px solid var(--edge,#333);font:inherit;border-radius:4px;padding:.4rem .5rem}.emailtrack-consent-row{color:var(--dim,#9a9aa2);cursor:pointer;align-items:flex-start;gap:.4rem;font-size:.75rem;line-height:1.4;display:flex}.emailtrack-consent{flex:none;margin-top:.15rem}.emailtrack-send{align-self:flex-start;padding:.35rem .8rem}.emailtrack-msg{color:var(--dim,#9a9aa2);font-size:.75rem}.bounce-finished{margin-top:.2rem}.bounce-done{align-self:flex-end;margin-top:.6rem;padding:.35rem .9rem}
