: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;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,#ff8c3a));--text:#e8e6e3;--muted:#b5b8bf}: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}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,#ff5c00);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:after{content:"";border:2px solid var(--acc,#7bd88f);pointer-events:none;border-radius:50%;position:absolute;inset:-3px}.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}.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,#ff5c00);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,#ff5c00);border-color:var(--acc,#ff5c00)}.fx-gate-cell:nth-child(4n+1){margin-left:3px}.header-nav{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:relative}.header-nav .brand{letter-spacing:.08em;color:var(--text);font-weight:700}.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,#share{align-items:center;gap:.35rem;display:inline-flex}.menu-trigger svg,#play svg,#rec svg,#share 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}}.menu{position:relative}.menu-items{z-index:40;background:var(--panel-bg);border:var(--panel-border);box-shadow:var(--panel-shadow);border-radius:var(--radius-sm);flex-direction:column;min-width:8rem;display:flex;position:absolute;top:100%;left:0}.menu-items[hidden]{display:none}.menu-items button{text-align:left;background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.75rem}.menu-items .menu-heading{letter-spacing:.08em;text-transform:uppercase;opacity:.6;padding:4px 12px 2px;font-size:.6rem}.theme-pick.active{background:var(--acc,#ff5c00);color:#16161a}.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}.keys-target.active{color:#16161a;background:#ff5c00}.qwerty-oct{opacity:.75;margin-left:4px}.arp{align-items:center;gap:4px;display:flex}.arp-toggle.on,.arp-latch.on{background:var(--acc,#ff5c00);color:#16161a}.overlay{background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc,#ff5c00);border-radius:var(--radius);box-shadow:var(--panel-shadow);margin-top:1rem;padding:.75rem;display:none}.overlay.open{display:block}.overlay-title{color:var(--acc);text-transform:uppercase;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{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{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);text-transform:uppercase;letter-spacing:.04em;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{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);grid-template-columns:repeat(16,1fr);gap:4px;margin-top:1rem;padding:.75rem;display:grid;overflow-x:auto}.step{flex-direction:column;gap:3px;display:flex}.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,#ff5c00);color:#16161a;border-color:var(--acc,#ff5c00)}.step.playing button.gate{outline:2px solid var(--glow,#ffd166)}.step.cursor,.kcell.cursor,.dcell.cursor{outline:2px solid var(--acc,#4af);outline-offset:-2px}.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,#4af);color:#000}.steprec-toolbar button:disabled{opacity:.4}.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(16,1fr);align-items:center;gap:4px;display:grid}.dlabel{color:#bdbdc7;font-size:.7rem}.dlevel{width:100%;accent-color:var(--acc,#ff5c00)}.dcell{background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;height:1.4rem}.dcell.on{background:var(--acc,#ff5c00);border-color:var(--acc,#ff5c00)}.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 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,#7c8cff)}.kclear{color:#bdbdc7;background:var(--inset-bg);border:1px solid var(--knob-stroke);cursor:pointer;border-radius:4px;font-size:.8rem;line-height:1}.kcells{grid-template-columns:repeat(16,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,#7c8cff);border-color:var(--acc,#7c8cff)}.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,#7c8cff)}.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}.scope-strip .scope{width:100%;height:64px;margin-top:0;display:block}.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,#ff5c00)}.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,60px)  auto  auto;background:var(--row-bg);box-shadow:var(--row-shadow);border-radius:var(--radius-sm);align-items:center;gap:4px 6px;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,#e8e6e3);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,#ffd166);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,#ffd166);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-meter,.pat-strip{grid-column:1/-1}.rack-name{color:var(--acc,#e8e6e3);text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;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,#8a8a94);outline-offset:-2px}.rack-row.insert-before:before{content:"";background:var(--acc,#ff5c00);z-index:1;border-radius:2px;height:2px;position:absolute;top:-4px;left:0;right: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-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,#ffd166);border-color:var(--acc,#ffd166);color:#16161a}.rack.compact{flex:0 0 190px;width:190px;min-width:190px}.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,#ff5c00);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 180px;gap:6px;width:180px;display:flex}.lib-title{color:#8a8a94;letter-spacing:.1em;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-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;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;padding:2px 4px;font-size:.7rem;display:block}.lib-entry{cursor:grab;background:var(--row-bg);box-shadow:var(--row-shadow);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.lib-entry .lib-name{color:var(--acc,#e8e6e3);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,#ff5c00);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)}.lib-samples{border-top:1px solid #ffffff14;margin-top:10px;padding-top:8px}.smp-notice{opacity:.7;padding:2px 4px;font-size:.85em}.smp-list{flex-direction:column;gap:2px;display:flex}.smp-entry{cursor:grab;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;display:flex}.smp-entry:hover{background:#ffffff0d}.smp-entry .smp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.smp-entry .smp-dur{opacity:.6;font-size:.85em}.smp-rename{z-index:5;position:absolute}.smp-favorites .smp-fav{color:var(--acc,#f2a3b3);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 .25rem;display:inline-flex}.smp-favorites .smp-fav svg{width:14px;height:14px}.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{border:1px dashed var(--acc);border-radius:4px;margin-bottom:8px;padding:6px 10px;font-size:.9em}.smp-hint[data-state=missing]{color:#ff9a9a;border-color:#ff9a9a}.smp-waveform{margin-bottom:8px}.smp-wave{background:#00000040;border-radius:4px;width:100%;height:72px;display:block}.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-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:.6rem}.lib-title-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.smp-browse{border:1px solid var(--panel-border-color,#ffffff26);color:var(--control-fg);cursor:pointer;background:0 0;border-radius:6px;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,.song-split{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.7rem}.song-split.on{background:var(--acc,#ff5c00);color:#16161a}.songbar[hidden]{display:none}.song-name{color:#e8e6e3;min-width:6rem}.roll-back{margin-bottom:.5rem;font-size:.7rem}.overlay-host{margin-top:1rem}.welcome-card{z-index:70;background:var(--panel-bg);border:var(--panel-border);border-top:2px solid var(--acc,#ff5c00);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;max-height:24rem;margin-top:1rem;padding:.75rem;display:none}.roll-editor.open{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{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;display:grid;position:relative;overflow:auto}.roll-tools{color:#8a8a94;align-items:center;gap:.6rem;font-size:.65rem;display:flex}.roll-tools label{align-items:center;gap:.25rem;display:flex}.roll-tools select,.roll-tools button,.roll-zoom button,.pl-zoom,.auto-zoom-btn{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.65rem}.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:#8a8a94;background:#1c1c22;border:1px solid #232329;border-right-color:#3a3a42;justify-content:flex-end;align-items:center;padding-right:4px;font-size:.55rem;display:flex;position:sticky;left:0}.roll-key.sharp{color:#5f5f68;background:#101014}.roll-key.c-row{color:#e8e6e3;font-weight:600}.roll-note{background:var(--acc,#ff5c00);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}.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(--acc,#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,#ff5c00);color:#16161a}.ed-split{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.7rem}.ed-split.on{background:var(--acc,#ff5c00);color:#16161a}.roll-row.off-scale{filter:brightness(.55)}.roll-key.off-scale{opacity:.45}.roll-snap.on{background:var(--acc,#ff5c00);color:#111}.roll-note.ghost{opacity:.25;pointer-events:none;background:#8a8a94}.roll-ghost.on,.roll-audition.on{background:var(--acc,#ff5c00);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{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,#888);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-wrap{flex:1;height:200px;position:relative}.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,#7bd88f);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);margin-top:1rem;padding:.75rem;position:relative;overflow-x: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;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-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,#7bd88f);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-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:10;background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.4rem;padding:.5rem;display:flex;position:absolute}.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-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-kinds{gap:4px;display:flex}.chooser-kinds button{font-size:.65rem}.chooser-kinds button.active{color:#16161a;background:#ff5c00}.chooser-slot,.chooser-pattern,.chooser-roll,.chooser-auto,.chooser-autotarget,.chooser-autoparam{background:var(--inset-bg);color:var(--control-fg);border-color:var(--knob-stroke);border-radius:4px;max-width:8rem}.chooser-confirm,.chooser-newroll,.chooser-newauto{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);border-radius:var(--radius-sm);font-size:.65rem}[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=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=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:22%}[data-shade="2"]{--shade-mix:38%}[data-shade="3"]{--shade-mix:52%}[data-shade="4"]{--shade-mix:64%}.rack-row{position:relative}.pat-strip{flex-basis:100%;gap:3px;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,#ff5c00);color:#16161a;border-color:var(--acc,#ff5c00)}.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,#ff5c00);background:#101014;border-radius:4px;width:14rem;padding:2px 6px;font-size:.7rem;position:absolute}.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,#ff5c00);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,#e90);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}.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,#ff8c3a) 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=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] .header-nav,: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,#ff5c00);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{flex:1;min-height:0}#app[data-fs=playlist] .playlist{flex:1;overflow-y:auto}#app[data-fs=playlist] .roll-editor.open,#app[data-fs=playlist] .auto-editor.open{display:none}#app[data-split]{flex-direction:column;height:calc(100dvh - 2rem);display:flex}#app[data-split] #workspace-root{flex-direction:column;flex:1;min-height:0;display:flex}#app[data-split] .workspace{flex:1;align-items:stretch;min-height:0}#app[data-split] .rack,#app[data-split] .library{min-height:0;max-height:100%;overflow-y:auto}#app[data-split] .main-col{flex-direction:column;min-height:0;display:flex}#app[data-split=stack] .playlist{flex-grow:var(--split,.4);flex-basis:0;min-height:8rem;overflow-y:auto}#app[data-split=stack] .roll-editor.open{flex-grow:calc(1 - var(--split,.4));flex-basis:0;min-height:12rem;max-height:none}#app[data-split=stack] .roll-editor.open .roll-grid{flex:1;min-height:0}#app[data-split=stack] .auto-editor.open{flex:none}#app[data-split=stack]:has(.auto-editor.open) .playlist{flex-grow:1}.pane-divider{touch-action:none;-webkit-user-select:none;user-select:none;flex:none;display:none;position:relative}.pane-divider:after{content:"";background:var(--knob-stroke);position:absolute}#app[data-split] .pane-divider:not([hidden]){display:block}#app[data-split=stack] .pane-divider{cursor:row-resize;height:8px}#app[data-split=stack] .pane-divider:after{height:1px;top:3.5px;left:0;right:0}#app[data-split=row] .pane-divider{cursor:col-resize;width:8px}#app[data-split=row] .pane-divider:after{width:1px;top:0;bottom:0;left:3.5px}#app[data-split=row] .main-col{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(18rem, calc(var(--split,.5) * 100%)) 8px minmax(24rem, 1fr);display:grid}#app[data-split=row] .songbar{grid-area:1/1/auto/-1}#app[data-split=row] .playlist{grid-area:2/1;min-height:0;overflow-y:auto}#app[data-split=row] .pane-divider{grid-area:2/2;height:auto}#app[data-split=row] .roll-editor.open,#app[data-split=row] .auto-editor.open{grid-area:2/3;min-height:0;max-height:none;overflow-y:auto}#app[data-split=row] .roll-editor.open .roll-grid{flex:1;min-height:0}.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,#f2a3b3);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,#e90);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.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}}.rec-strip{align-items:center;gap:.4rem;font-size:.85em;display:inline-flex}.rec-strip select,.rec-strip button{font-size:inherit}#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,#f43f3f);color:#fff}.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,#f2a3b3);outline:none}.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{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{border-color:var(--acc,#f2a3b3)}.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-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8em;overflow:hidden}.sample-browser .sb-card-meta{opacity:.7;font-size:.8em}.sample-browser .sb-thumb{border-radius:3px;width:100%;height:32px;display:block}.sample-browser .sb-thumb.placeholder{background:repeating-linear-gradient(90deg,#80808026 0 6px,#0000 6px 12px)}.sample-browser .sb-thumb-wrap{cursor:pointer;position:relative}.sample-browser .sb-sweep{background:var(--glow,#ffd166);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:0}.sample-browser .sb-actions{gap:.1rem;display:flex}.sample-browser .sb-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:hover{opacity:1;color:var(--acc,#f2a3b3)}.sample-browser .sb-ico svg{width:18px;height:18px}.sample-browser .sb-ico.sb-ico-star.active{color:var(--acc,#f2a3b3);opacity:1}.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{z-index:50;align-items:center;gap:6px;display:flex;position:fixed;top:6px;right:8px}.account-control button{font:inherit;cursor:pointer;padding:3px 9px}.account-pro{padding:0 .4rem;font-weight:600}.upgrade-nudge{border-radius:var(--radius-sm);z-index:40;background:var(--control-bg);color:var(--control-fg);box-shadow:var(--panel-shadow);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:12px;display:flex;position:fixed;bottom:12px;right:12px}.upgrade-nudge-msg{flex:1}.upgrade-nudge-btn{font:inherit;cursor:pointer;background:var(--acc,#ff5c00);color:#16161a;border-radius:var(--radius-sm);border:none;padding:3px 9px}.upgrade-nudge-btn:hover{opacity:.9}.upgrade-nudge-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;padding:2px;font-size:14px;line-height:1}.upgrade-nudge-dismiss:hover{opacity:.7}.auth-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-panel{background:var(--panel,#1b1b1b);color:var(--fg,#eee);border-radius:8px;flex-direction:column;gap:10px;min-width:280px;padding:16px;display:flex}.auth-head{justify-content:space-between;align-items:center;display:flex}.auth-title{font-weight:600}.auth-close{color:inherit;cursor:pointer;background:0 0;border:none;font-size:20px}.auth-panel input{font:inherit;padding:6px 8px}.auth-error{color:#ff6b6b;font-size:13px}.auth-submit{cursor:pointer;padding:7px}.auth-swap{color:var(--accent,#6cf);cursor:pointer;background:0 0;border:none;font-size:13px}.cloud-panel{min-width:360px;max-width:480px}.cloud-upgrade{font-size:14px}.cloud-upgrade-btn{cursor:pointer;padding:7px}.cloud-error{color:#ff6b6b;font-size:13px}.cloud-save-row{gap:8px;display:flex}.cloud-save-row .cloud-name{font:inherit;flex:1;padding:6px 8px}.cloud-save{cursor:pointer;padding:6px 10px}.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-sidebar{background:var(--panel-bg);border:var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.info-sidebar[hidden]{display:none}.info-head{justify-content:space-between;align-items:center;display:flex}.info-title{color:var(--acc);text-transform:uppercase;letter-spacing:.1em;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}.info-sidebar{flex:0 0 300px;align-self:stretch}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)}@media (max-width:1120px){.info-sidebar{z-index:90;flex:none;width:min(340px,90vw);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}}
