@font-face{font-family:Berkeley Mono;font-weight:400;src:url(/fonts/BerkeleyMono-Regular.woff2)format("woff2")}@font-face{font-family:Berkeley Mono;font-weight:500 700;src:url(/fonts/BerkeleyMono-Bold.woff2)format("woff2")}:root{--bg:#fff;--fg:#000;--border:#e5e5e5;--muted:#666;--fg-rgb:0,0,0;--bg-rgb:255,255,255;--accent:var(--fg);--accent-rgb:var(--fg-rgb);--cols:4;color-scheme:light dark;--m1:var(--accent);--m2:var(--accent);--m3:var(--accent);--m4:var(--accent);--band-lo:#a8a8a8;--band-mid:#5a5a5a;--band-hi:#000}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=mono]){--bg:#121214;--fg:#fff;--border:#262626;--muted:#999;--fg-rgb:255,255,255;--bg-rgb:18,18,20;--band-lo:#5c5c5c;--band-mid:#b0b0b0;--band-hi:#fff}}:root[data-theme=dark]{--bg:#121214;--fg:#fff;--border:#262626;--muted:#999;--fg-rgb:255,255,255;--bg-rgb:18,18,20;--band-lo:#5c5c5c;--band-mid:#b0b0b0;--band-hi:#fff;color-scheme:dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=mono]{--bg:#131313;--fg:#e8e8e8;--border:#2e2e2e;--muted:#8a8a8a;--fg-rgb:232,232,232;--bg-rgb:19,19,19;--accent:#e8e8e8;--accent-rgb:232,232,232;--m1:#3fae4e;--m2:#d8c02e;--m3:#ef8c2a;--m4:#e0402c;--band-lo:#6b7075;--band-mid:#b9bcc0;--band-hi:#fff;color-scheme:dark}:root[data-theme=mono] .pad .name{font-weight:400}:root[data-meters=colour]{--m1:#3fae4e;--m2:#d8c02e;--m3:#ef8c2a;--m4:#e0402c}*{box-sizing:border-box}html,body{height:100%;margin:0}body{letter-spacing:-.01em;background:var(--bg);color:var(--fg);-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:Berkeley Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.3;overflow:hidden}#app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--head-h,44px) var(--fx-h,36px) minmax(0, 1fr);height:100dvh;display:grid;position:relative}:root[data-full]{--head-h:0px}:root[data-full] header{opacity:0;border-bottom-color:#0000;transition:opacity .14s;overflow:hidden}:root[data-full][data-peek] header{opacity:1;border-bottom-color:var(--border)}header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;min-width:0;padding:0 8px;font-size:11px;display:grid}header .left,header .transport,header .right{align-items:center;gap:4px;min-width:0;display:flex}header .left{padding-left:4px}:root[data-shell=mac] header .left{padding-left:78px}:root[data-shell=mac][data-full] header .left{padding-left:4px}header .left .spacer,header .right .spacer{flex:1}header .transport{gap:6px}header .title{margin-right:8px}header button{color:var(--muted);border-color:#0000}header button:hover:not(:disabled),header button:focus-visible{color:var(--fg)}header button:disabled{color:var(--border)}#play{color:var(--accent)}header #random{color:var(--fg);border-color:var(--border)}header #random:hover:not(:disabled){border-color:var(--fg)}header #random:disabled{color:var(--border);border-color:var(--border)}header button.solid:disabled{color:var(--border);border-color:var(--border);background:0 0}header button.active,header button.active:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg)}#record.active,#record.active:hover:not(:disabled){color:#e0402c;background:0 0;border-color:#0000}#record.active svg:not(.loop) circle{fill:currentColor}@media (prefers-reduced-motion:no-preference){#record.active svg:not(.loop){animation:1.4s ease-in-out infinite rec-pulse}}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.45}}#record{position:relative}#record .loop{pointer-events:none;width:auto;height:auto;position:absolute;inset:1px;overflow:visible}#record .loop circle{stroke-linecap:butt;fill:none!important}#record .loop .trk{stroke:rgba(var(--fg-rgb), .16);stroke-width:1.5px}#record .loop .pos{stroke:rgba(var(--fg-rgb), .55);stroke-width:1.5px;transition:stroke .16s}#record.has .loop .pos{stroke:var(--accent)}#record.active .loop .pos{stroke:rgba(var(--fg-rgb), .9)}#record .loop .cov{stroke:rgba(var(--fg-rgb), .3);stroke-width:4px}#record:not(.rolling) .loop{opacity:0}#record .loop{transition:opacity .16s}#play:disabled{color:var(--muted)}header button.text{align-items:center;gap:6px;min-width:0;padding:0 6px;display:inline-flex}header button.text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dd,.pop{align-items:center;display:inline-flex;position:relative}.dd .ddb{align-items:center;gap:6px;padding:0 6px 0 8px;display:inline-flex}.menu{background:var(--bg);border:1px solid var(--border);z-index:6;border-radius:3px;flex-direction:column;min-width:100%;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 4px 16px #00000047}.menu[hidden]{display:none}.menu button{text-align:left;height:26px;color:var(--fg);border-color:#0000;padding:0 4px}.menu button.cur{font-weight:500}.menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.menu .pick{height:26px;font:inherit;color:var(--fg);border:1px solid var(--border);background:0 0;border-radius:3px;padding:0 3px;font-size:11px}.menu .pick:focus{border-color:var(--fg);outline:0}#route-menu{gap:4px;min-width:200px}.hostmark{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);cursor:default;border-radius:2px;padding:1px 4px;font-size:9px}.hostmark.on{color:var(--fg);border-color:rgba(var(--fg-rgb), .45)}.dd .menu{min-width:calc(100% + 24px);left:-1px;right:auto}.pop .menu{right:-1px}#settings-menu{gap:6px;min-width:440px;padding:8px}#settings-menu .set{white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;min-height:26px;font-size:11px;display:flex}#settings-menu .set i{margin-left:6px;font-style:normal}#settings-menu .seg{flex-wrap:wrap;justify-content:flex-end;gap:2px;max-width:350px;display:inline-flex}#settings-menu .seg button{height:22px;color:var(--muted);text-align:center;border:1px solid #0000;border-radius:3px;padding:0 6px}#settings-menu .seg button:hover{border-color:var(--border);color:var(--fg)}#settings-menu .seg button.cur{border-color:var(--border);color:var(--fg);font-weight:500}.dd[hidden]{display:none}#share-menu{font-variant-numeric:tabular-nums;gap:4px;min-width:240px;padding:8px}.menu.wide{min-width:280px}.menu .note{color:var(--muted);padding:4px;font-size:11px}.saverow{gap:4px;padding:0 0 6px;display:flex}.saverow input{min-width:0;height:28px;font:inherit;color:var(--fg);border:1px solid var(--border);background:0 0;border-radius:3px;flex:auto;padding:0 8px;font-size:11px}.saverow input:focus{border-color:var(--fg);outline:0}.saverow button{height:28px;padding:0 12px}#kit-list{flex-direction:column;max-height:260px;display:flex;overflow-y:auto}#kit-list .empty{padding:6px 4px 8px;font-size:11px}.kit{align-items:center;gap:2px;display:flex}.kit .load{text-align:left;min-width:0;height:auto;color:var(--fg);cursor:pointer;border:1px solid #0000;border-radius:3px;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;padding:6px 4px;font-size:11px;transition:background .12s;display:flex}.kit .load:hover{background:rgba(var(--fg-rgb), .08)}.kit .load:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.kit .load .kn-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:500;overflow:hidden}.kit .load .meta{font-variant-numeric:tabular-nums;font-size:9px}.kit.other .load .kn-name{color:var(--muted)}.kit .del,.kit .ren{width:24px;height:24px;color:var(--muted);opacity:0;border-color:#0000;flex:none;transition:opacity .12s}.kit:hover :is(.del,.ren),.kit:focus-within :is(.del,.ren){opacity:1}.kit :is(.del,.ren):hover{color:var(--fg);border-color:var(--border)}.editing{outline:1px solid var(--border);outline-offset:2px;cursor:text;-webkit-user-select:text;user-select:text;border-radius:2px}.kit .load .kn-name.editing{text-overflow:clip;max-width:none;overflow:visible}.pad .knobs .name{cursor:text}.pad .knobs .name.editing{text-overflow:clip;color:var(--fg);display:block;overflow:visible}#share-url{cursor:copy;-webkit-user-select:all;user-select:all;word-break:break-all}header .title{white-space:nowrap;margin-right:4px;font-weight:700}header button.title{height:auto;color:var(--fg);font-size:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0;font-family:inherit}header button.title:hover:not(:disabled){color:var(--muted);background:0 0}header #status{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.spacer{flex:1}.muted{color:var(--muted)}#app .tempo{align-items:center;gap:2px;font-size:11px;display:inline-flex}#app .tempo input{width:42px;height:28px;font:inherit;font-variant-numeric:tabular-nums;color:var(--fg);text-align:right;cursor:ns-resize;-moz-appearance:textfield;appearance:textfield;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 2px 0 4px;font-size:11px}#app .tempo input:hover{border-color:var(--border)}#app .tempo.amount input{text-align:right;cursor:ns-resize;width:30px;padding:0 2px}#app .tempo input::-webkit-outer-spin-button,#app .tempo input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#app .tempo input:focus{border-color:var(--fg);outline:0}header .sep{background:var(--border);flex:none;width:1px;height:16px;margin:0 4px}#record{margin-left:2px}#app .timecode{font-variant-numeric:tabular-nums;color:var(--muted);min-width:44px;margin-left:8px;margin-right:2px;font-size:11px}#app .timecode.on{color:var(--fg)}header .meter{align-items:center;margin:0 8px;display:flex}header .meter .fader{width:120px;height:14px}button,select{font:inherit;color:var(--fg);cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:1px solid;border-radius:3px;height:28px;padding:0 10px;font-size:11px;transition:background .12s,color .12s}button.text{border:0;height:auto;padding:0;font-size:11px;text-decoration:underline}header button.text{height:28px;text-decoration:none}header #folder-prompt:empty{display:none}header #folder-prompt{white-space:nowrap;align-items:center;display:inline-flex}button.solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}button:disabled{color:var(--muted);cursor:default}@media (hover:hover){button:hover:not(:disabled){background:rgba(var(--fg-rgb), .08)}}button.solid:hover:not(:disabled){background:var(--fg);opacity:.85}button:focus-visible,select:focus-visible,input:focus-visible{outline:1px solid var(--fg);outline-offset:2px}button.icon{justify-content:center;align-items:center;width:28px;padding:0;display:inline-flex}button[hidden]{display:none}select{padding-right:4px}#grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-auto-rows:minmax(0,1fr);gap:8px;min-height:0;padding:8px;display:grid}.pad{background:var(--bg);border:1px solid var(--border);border-radius:3px;grid-template-rows:auto minmax(0,1fr) auto auto auto;min-width:0;min-height:0;transition:border-color .12s;display:grid;position:relative}.pad.empty{cursor:pointer;border-style:dashed}.pad{container-type:size}.pad .head{cursor:pointer;align-items:center;gap:6px;min-width:0;height:48px;padding:0 8px;display:flex;position:relative}.pad .head .actions{display:none;position:absolute;inset:0 8px}.pad:hover .head .key,.pad:focus-within .head .key,.pad:hover .head .badge,.pad:focus-within .head .badge{display:none}.pad:hover .head .actions,.pad:focus-within .head .actions{display:flex}:root[data-controls=always] .pad:not(.empty) .head .key,:root[data-controls=always] .pad:not(.empty) .head .badge{display:none}:root[data-controls=always] .pad:not(.empty) .head .actions{display:flex}.pad .knobs{flex-wrap:wrap;grid-area:2/1/5;justify-content:flex-end;align-items:flex-start;gap:2px 6px;padding:4px 10px 2px;display:none;position:absolute;bottom:0;left:0;right:0}.pad.oneshot .knobs{grid-row:2/4}.pad .knobs .name{flex:1 1 0;align-self:flex-end;min-width:0;max-height:2.4em;margin-right:6px;line-height:1.2}.pad:hover .knobs,.pad:focus-within .knobs,:root[data-controls=always] .pad:not(.empty) .knobs{display:flex}.pad .knob{width:clamp(19px,min(9.5cqw,13cqh),42px);height:clamp(19px,min(9.5cqw,13cqh),42px)}.pad .kn{min-width:0}.pad .kn em{font-size:clamp(7px,1.6cqw,11px);line-height:1.1}.pad .dl>em{font-size:clamp(7px,1.6cqw,11px)}.pad .dl{align-items:center;display:flex;position:relative}.pad .dl>em{white-space:nowrap;pointer-events:none;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:1px;font-size:8px;font-style:normal;line-height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.pad .dl:has(button[hidden]){display:none}.pad .key{text-align:center;border-radius:2px;flex:none;width:15px;height:15px;font-size:11px;line-height:15px}.pad.on .key{color:var(--fg)}.pad.solo .key{background:var(--accent);color:var(--bg)}.pad .badge{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:9px;line-height:9px}.pad .badge:empty{display:none}.pad .namerow{height:15px}.pad .name{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;color:var(--fg);text-align:left;direction:ltr;-webkit-box-orient:vertical;font-size:11px;font-weight:500;transition:color .12s;display:-webkit-box;overflow:hidden}.pad:not(.on):not(.empty) .name{color:var(--muted)}@media (pointer:coarse){.pad .name{opacity:1}.pad .head .actions,.pad .knobs{display:flex}.pad .head .key,.pad .head .badge{display:none}.pad .namerow{visibility:hidden}}.kn{flex-direction:column;flex:none;align-items:center;gap:1px;min-width:30px;display:flex}.kn em{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:8px;font-style:normal;line-height:8px;transition:color .12s}.kn:hover em,.kn:has(.knob.set) em{color:var(--fg)}.pad .wave{cursor:pointer;touch-action:none;min-height:0;position:relative}:root:not([data-slotview=wave]) .pad.part .wave{cursor:pointer}.pad.part .wave{cursor:ew-resize}.pad .wave canvas{width:100%;height:100%;transition:opacity .12s;display:block;position:absolute;inset:0}.pad .wave .hint{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-size:11px;display:none;position:absolute;inset:0}.pad.empty .wave .hint,.pad.busy .wave .hint,.pad.error .wave .hint{display:flex}.pad:not(.on) .wave canvas{opacity:.3}.pad.empty .wave canvas,.pad.busy .wave canvas,.pad.error .wave canvas{opacity:0}.pad.empty .namerow,.pad.empty .bottom{visibility:hidden}.pad .seq{visibility:hidden;flex-direction:column;gap:4px;margin:6px 10px 0;display:flex}.pad .seq .row{flex-direction:column;gap:2px;display:flex}.pad .steps{grid-template-columns:repeat(var(--sc,16), minmax(0, 1fr));touch-action:none;gap:2px;height:8px;display:grid}.pad .locks{grid-template-columns:repeat(var(--sc,16), minmax(0, 1fr));gap:2px;height:4px;display:grid}.pad .seq.long .steps,.pad .seq.long .locks{gap:1px}.pad .bottom{align-items:center;min-width:0;padding:8px 10px 10px;display:flex}.fader{--lv:0;--meter-scale:linear-gradient(90deg, var(--m1) 0 62%, var(--m2) 62% 80%, var(--m3) 80% 91%, var(--m4) 91% 100%);--meter-cover:linear-gradient(90deg, transparent calc(var(--lv) * 100%), var(--border) 0);--meter-peak:linear-gradient(90deg, transparent calc(var(--pk,0) * 100%), rgba(var(--fg-rgb), .5) 0, rgba(var(--fg-rgb), .5) calc(var(--pk,0) * 100% + 2px), transparent 0);-webkit-appearance:none;appearance:none;cursor:ew-resize;background:0 0;margin:0}.fader::-webkit-slider-runnable-track{background:var(--meter-peak), var(--meter-cover), var(--meter-scale);border-radius:1px;height:2px}.fader::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);border:1px solid var(--bg);border-radius:2px;width:8px;height:12px;margin-top:-5px}.fader::-moz-range-track{background:var(--meter-peak), var(--meter-cover), var(--meter-scale);border-radius:1px;height:2px}.fader::-moz-range-thumb{background:var(--fg);border:1px solid var(--bg);border-radius:2px;width:8px;height:12px}.fader:focus-visible{outline:1px solid var(--fg);outline-offset:2px}.pad .gain{width:100%;height:16px}.pad:not(.on) .gain::-webkit-slider-thumb{background:var(--muted)}.pad:not(.on) .gain::-moz-range-thumb{background:var(--muted)}.pad.oneshot .seq{visibility:visible}input[type=range].auto{background:linear-gradient(90deg, transparent var(--a0,0%), rgba(var(--accent-rgb), .45) 0, rgba(var(--accent-rgb), .45) var(--a1,0%), transparent 0) no-repeat left 1px / 100% 2px}.pad .steps span{background:var(--border);cursor:pointer;border-radius:1px;transition:background .12s;display:block}.pad .steps span.beat{background:rgba(var(--fg-rgb), .1)}.pad .steps span.hit{background:rgba(var(--accent-rgb), .64)}.pad .steps span.hit.acc{background:var(--accent)}.pad .steps span.hit.ghost{background:rgba(var(--accent-rgb), .42)}.pad .steps span.hit.soft{background:rgba(var(--accent-rgb), .52)}.pad .steps span.cur{outline:1px solid var(--accent);outline-offset:1px}.pad:not(.on) .steps span.hit{background:rgba(var(--fg-rgb), .25)}.pad .locks span{pointer-events:none;background:0 0;border-radius:1px;transition:background .12s;display:block}.pad .locks span.hit{background:rgba(var(--fg-rgb), .08);cursor:pointer;pointer-events:auto}.pad .locks span.hit:hover{background:rgba(var(--fg-rgb), .25)}.pad .locks span.hit.on{background:var(--fg)}.pad:not(.on) .locks span.hit.on{background:rgba(var(--fg-rgb), .35)}.knob{cursor:ns-resize;touch-action:none;-webkit-tap-highlight-color:transparent;flex:none;width:26px;height:26px}button.dial{touch-action:none}.knob svg{width:100%;height:100%;display:block;overflow:visible}.knob circle{fill:none}.knob .trk{stroke:rgba(var(--fg-rgb), .22);stroke-width:1.5px}.knob .val{stroke:rgba(var(--accent-rgb), .75);stroke-width:2.25px;transition:stroke .12s}.knob .dot{fill:var(--accent);stroke:none;transition:fill .12s}.knob .aut{stroke:rgba(var(--accent-rgb), .55);stroke-width:1.5px;stroke-linecap:butt}.pad .kn.auto{opacity:1}.kn.auto em{color:var(--fg)}.knob:hover .val,.knob:focus-visible .val,.knob.set .val{stroke:var(--accent)}.knob:focus-visible{outline:1px solid var(--fg);outline-offset:2px;border-radius:50%}.pad:not(.on) .knob .val{stroke:var(--muted)}.pad:not(.on) .knob .dot{fill:var(--muted)}.pad .actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px}.pad .actions button{border-color:#0000;flex:none;width:clamp(19px,min(7cqw,10cqh),32px);height:clamp(19px,min(7cqw,10cqh),32px);padding:0}.pad .actions button svg{width:58%;height:58%}@media (hover:hover){.pad .actions button:hover:not(:disabled){border-color:var(--border)}}.pad .actions .rate{font-variant-numeric:tabular-nums;width:auto;min-width:clamp(22px,min(8cqw,11cqh),38px);color:var(--muted);flex:none;padding:0 5px;font-size:clamp(10px,2cqw,14px)}.actions .dial{cursor:ew-resize}.actions button{isolation:isolate;position:relative}.actions :is(.lit,.dial.on){color:var(--bg)}.actions :is(.lit,.dial.on):before{content:"";background:var(--accent);z-index:-1;border-radius:2px;transition:opacity .12s;position:absolute;inset:12%}.actions button:is(.lit,.dial.on):hover:not(:disabled){background:0 0;border-color:#0000}.actions :is(.lit,.dial.on):hover:before{opacity:.8}.actions .lit[data-act=lock] svg{fill:currentColor}:root[data-cols="6"] .pad .head,:root[data-cols="8"] .pad .head{gap:4px;height:auto;min-height:40px;padding:0 6px}:root[data-cols="6"] .pad .namerow,:root[data-cols="8"] .pad .namerow{height:13px}:root[data-cols="6"] .pad .knobs,:root[data-cols="8"] .pad .knobs{padding:4px 8px 2px}:root[data-cols="6"] .pad .steps,:root[data-cols="8"] .pad .steps{margin:5px 8px 0}:root[data-cols="6"] .pad .locks,:root[data-cols="8"] .pad .locks{margin:2px 8px 0}:root[data-cols="6"] .pad .bottom,:root[data-cols="8"] .pad .bottom{padding:6px 8px 8px}.pad.shot .wave{cursor:pointer}.pad.shot:active{border-color:var(--accent)}#fx{align-items:flex-start;gap:calc(16px + var(--fx-open,0) * 16px);padding:calc(10px + var(--fx-open,0) * 4px) calc(16px + var(--fx-open,0) * 4px) 4px;border-bottom:1px solid var(--border);min-height:0;display:flex;position:relative;overflow:hidden}#fx.shut{border-bottom:0;padding:0}#fx-grip.shut:after{opacity:0}#fx-grip.shut:hover:after{opacity:1}#fx-grip:after{transition:background .12s,opacity .12s}:root{--fx-h:36px}#fx-grip{left:0;right:0;top:calc(var(--head-h,44px) + var(--fx-h,36px));z-index:4;cursor:ns-resize;touch-action:none;height:9px;margin-top:-4px;position:absolute}#fx-grip:after{content:"";background:var(--border);border-radius:1px;width:36px;height:2px;margin-left:-18px;transition:background .12s;position:absolute;top:3px;left:50%}#fx-grip:hover:after{background:var(--muted)}#fx .sub{height:calc(var(--fx-open,0) * 45px);opacity:var(--fx-open,0);pointer-events:none;align-items:flex-start;gap:12px;display:flex;overflow:hidden}#fx.open .sub{pointer-events:auto}#fx .sub .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;font-size:9px;line-height:1.35}#fx .sub .p{flex-direction:column;flex:1 1 0;gap:5px;min-width:0;display:flex}#fx .sub .note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-style:normal;line-height:1.35;overflow:hidden}#fx .ctl{container:fxctl/inline-size}#fx .sub .p{container:fxsub/inline-size}@container fxsub (width<=68px){#fx .sub .p em i{display:none}}@container fxsub (width<=26px){#fx .sub .p em b{display:none}}@container fxctl (width<=118px){#fx .sub .lbl{display:none}}#fx .sub .p em{color:var(--muted);white-space:nowrap;justify-content:center;gap:4px;font-size:9px;font-style:normal;line-height:1.35;display:flex;overflow:hidden}#fx .sub .p em b{font-weight:inherit;letter-spacing:.06em;text-transform:uppercase;text-overflow:ellipsis;overflow:hidden}#fx .sub .p em i{font-variant-numeric:tabular-nums;flex:none;font-style:normal}#fx .ctl:hover .sub .p em,#fx .ctl:focus-within .sub .p em,#fx .ctl:hover .sub .lbl,#fx .ctl:focus-within .sub .lbl,#fx .ctl:hover .sub .note,#fx .ctl:focus-within .sub .note{color:var(--fg)}#fx .ctl{align-items:stretch;gap:calc(6px + var(--fx-open,0) * 6px);min-width:0;color:var(--muted);flex-direction:column;flex:1 1 0;display:flex}#fx .ctl .row{align-items:center;gap:10px;display:flex}#fx .ctl:hover,#fx .ctl:focus-within{color:var(--fg)}#fx .ico{flex:none;display:inline-flex}#fx input{-webkit-appearance:none;appearance:none;cursor:ew-resize;background:0 0;flex:auto;min-width:0;height:16px;margin:0}#fx input::-webkit-slider-runnable-track{background:var(--border);border-radius:1px;height:2px}#fx input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);border:1px solid var(--bg);border-radius:2px;width:8px;height:12px;margin-top:-5px}#fx input::-moz-range-track{background:var(--border);height:2px}#fx input::-moz-range-thumb{background:var(--fg);border:1px solid var(--bg);border-radius:2px;width:8px;height:12px}.drop,.pad.over{outline:2px solid var(--accent);outline-offset:-2px}#app.drop:has(.pad.over){outline-color:#0000}#overlay{background:var(--bg);z-index:3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#overlay[hidden]{display:none}#overlay button{height:44px;padding:0 20px;font-size:16px}#browse{background:rgba(var(--bg-rgb), .82);z-index:7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#browse[hidden]{display:none}#browse .panel{background:var(--bg);border:1px solid var(--border);border-radius:3px;flex-direction:column;width:min(560px,92vw);height:min(520px,80vh);font-size:12px;display:flex}#browse .bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}#browse .crumbs{flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}#browse .crumbs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}#browse .crumbs button:last-of-type,#browse .crumbs button:hover{color:var(--fg)}#browse .crumbs .sl{color:var(--muted)}#browse .find{border:1px solid var(--border);width:140px;height:22px;color:var(--fg);font:inherit;background:0 0;border-radius:2px;flex:none;padding:0 6px}#browse .find:focus{border-color:var(--fg);outline:none}#browse .list{flex:auto;padding:4px 0;overflow:auto}#browse .row{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 12px;display:flex}#browse .row .ic{color:var(--muted);flex:none;display:flex}#browse .row .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}#browse .row .mk{flex:none;font-size:10px}#browse .row.dir .nm{color:var(--fg)}#browse .row:not(.dir) .nm{color:var(--muted)}#browse .row.used .ic{color:var(--fg)}#browse .row.cur,#browse .row:hover{background:rgba(var(--fg-rgb), .07)}#browse .row.cur .nm,#browse .row:hover .nm{color:var(--fg)}#browse .none{padding:12px;display:block}#browse .foot{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 12px;font-size:10px;display:flex}#browse .foot>span{align-items:center;gap:12px;display:flex}#browse .foot .open{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}#browse .foot .open:hover{color:var(--fg)}#about{background:rgba(var(--bg-rgb), .82);z-index:6;cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#about[hidden]{display:none}#about .panel{background:var(--bg);border:1px solid var(--border);cursor:default;border-radius:3px;flex-direction:column;gap:6px;min-width:220px;padding:22px 26px 24px;font-size:12px;line-height:1.3;display:flex}#about .t{font-weight:700}#about .what{max-width:280px;color:var(--fg);margin:2px 0 10px;line-height:1.45}#about .row{gap:12px;display:flex}#about .row .muted{min-width:42px}@media (width<=1200px){header{grid-template-columns:minmax(0,auto) auto minmax(0,1fr);gap:2px}header .left{min-width:0}header #status{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}header .right{justify-content:flex-end}header .right .spacer,header .meter{display:none}}:root[data-nolib] #bar .amount,:root[data-nolib] #undo{display:none}:root[data-host=device] header .meter{display:flex}:root[data-host=device] header .meter .fader{width:84px}@media (width<=800px){#fx{gap:16px;padding:0 8px}header{gap:6px;padding:0 8px}#app .timecode,header .title,header #status,header .meter,header .sep,header .step,header #folder-prompt,header .dd[data-for=temper]{display:none}:root{--cols:2!important}#grid{gap:6px;padding:6px}.pad .head{height:42px;padding:0 6px 0 10px}.pad .namerow{padding:0 10px}.pad .steps{margin:6px 10px 0}.pad .locks{margin:2px 10px 0}.pad .bottom{padding:6px 10px 10px}}@media (width<=560px){:root{--cols:1!important}#grid{overscroll-behavior:contain;grid-auto-rows:minmax(150px,1fr);overflow-y:auto}#fx .sub{display:none}#fx{gap:10px}.pad .knobs{flex-wrap:nowrap;gap:2px 4px;padding:4px 8px 2px}.pad .knobs .name{-webkit-line-clamp:1;line-clamp:1;flex:100%;order:-1;margin:0 0 2px}}#tip{z-index:20;max-width:280px;color:var(--fg);background:var(--bg);border:1px solid var(--border);pointer-events:none;border-radius:3px;padding:6px 8px;font-size:11px;line-height:1.4;position:fixed;top:0;left:0;box-shadow:0 4px 16px #00000040}#tip[hidden]{display:none}#joy{pointer-events:none;z-index:5;position:fixed}#joy .home,#joy .puck{border-radius:50%;position:absolute;top:50%;left:50%}#joy .home{background:var(--fg);opacity:0;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;transition:opacity .16s}#joy.away .home{opacity:.3}#joy .puck{pointer-events:auto;cursor:grab;touch-action:none;width:30px;height:30px}#joy .puck:before{content:"";background:var(--fg);width:20px;height:20px;box-shadow:0 0 0 2px var(--bg);opacity:.3;border-radius:50%;margin:-10px 0 0 -10px;transition:opacity .16s,transform .2s cubic-bezier(.22,.61,.36,1);position:absolute;top:50%;left:50%}#joy .puck:hover:before,#joy.away .puck:before,#joy.live .puck:before{opacity:1}#joy .puck:hover:before{transform:scale(1.1)}#joy .puck:focus-visible{outline:none}#joy .puck:focus-visible:before{opacity:1;box-shadow:0 0 0 2px var(--bg), 0 0 0 5px rgba(var(--fg-rgb), .25)}#joy.live .puck{cursor:grabbing}#joy.live .puck:before{transform:scale(1.35)}.pad.on:not(.empty):not(.busy):not(.error) .wave canvas{opacity:var(--mix,1)}header .step{align-items:center;gap:2px;display:flex}header .step .val{text-align:center;min-width:56px;color:var(--muted);font-variant-numeric:tabular-nums}header .step button{width:20px;height:20px}header .step button:disabled{opacity:.25;cursor:default}@media (prefers-reduced-motion:no-preference){button.icon,.pad .actions button,header button,#fx .ico,.step button{transition:transform .14s cubic-bezier(.22,.61,.36,1),background .12s,border-color .12s,opacity .12s}button.icon:active,.pad .actions button:active,header button:active,.step button:active:not(:disabled){transition-duration:60ms;transform:scale(.88)}.knob .val{transition:stroke-dasharray 90ms linear}.knob .dot{transition:cx 90ms linear,cy 90ms linear}.kn.auto .knob .val,.kn.auto .knob .dot{transition:none}.knob{transition:transform .16s cubic-bezier(.22,.61,.36,1)}.knob:active{transform:scale(1.12)}.pad{animation:.26s cubic-bezier(.22,.61,.36,1) both pad-in;animation-delay:calc(var(--i,0) * 18ms)}@keyframes pad-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.pad.busy .wave .hint{animation:1.1s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}.pad{transition:border-color .12s,box-shadow .16s}.pad.solo{box-shadow:inset 0 0 0 1px var(--accent)}}html.native{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none}html.native input,html.native [contenteditable]{-webkit-user-select:text;user-select:text}html.native #app{height:100dvh;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}:root{--tap:32px;--head-h:48px;--bar-h:52px}@media (pointer:coarse){:root{--tap:44px;--head-h:56px;--bar-h:64px}}:root[data-full][data-peek]{--head-h:48px}header,#bar{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0 8px;font-size:11px;display:flex}header .left,header .right,#bar .left,#bar .right{align-items:center;gap:4px;min-width:0;display:flex}header .right,#bar .right{justify-content:flex-end}#bar{border-top:1px solid var(--border)}header .title{height:var(--tap);padding:0 8px 0 4px;display:inline}#bar button{color:var(--muted);border-color:#0000}#bar button:hover:not(:disabled){color:var(--fg)}#bar button:disabled{color:var(--border)}#bar button.active,#bar button.active:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg)}#bar button.active:after{color:var(--bg)}header button.icon,#bar button.icon{width:auto;min-width:var(--tap);height:var(--tap);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 4px;display:inline-flex}header button.icon svg,#bar button.icon svg{flex:none;width:18px;height:18px}button[data-label]:after{content:attr(data-label);letter-spacing:.02em;color:var(--muted);white-space:nowrap;font-size:9px;line-height:9px}#bar #play{min-width:calc(var(--tap) + 12px);background:var(--fg);color:var(--bg);border-radius:8px}#bar #play:disabled{background:var(--border);color:var(--muted)}#bar #play svg{width:18px;height:18px}#record .loop{margin:-13px 0 0 -13px;inset:50% auto auto 50%;width:26px!important;height:26px!important}#bar .timecode{text-align:center;min-width:52px;margin:0 4px;font-size:13px}.vbox{height:var(--tap);box-sizing:border-box;border:1px solid var(--border);border-radius:8px;grid-template-rows:auto auto;grid-auto-flow:column;place-content:center start;column-gap:4px;padding:0 10px;display:inline-grid;position:relative}.vbox:before{content:attr(data-cap);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-area:1/1/auto/span 2;font-size:8px;line-height:10px}.vbox>*{grid-row:2}#app .vbox input{width:48px;height:18px;font:inherit;font-variant-numeric:tabular-nums;color:var(--fg);text-align:left;cursor:ns-resize;background:0 0;border:0;border-radius:0;padding:0;font-size:14px}#app .vbox input:hover,#app .vbox input:focus{border:0;outline:0}#app .tempo.amount.vbox input{width:30px}.vbox .muted{align-self:end;font-size:11px}.vbox.dd .ddb{height:18px;color:var(--fg);background:0 0;border:0;gap:4px;padding:0;font-size:14px}.vbox.dd .ddb:hover:not(:disabled){background:0 0}.vbox.dd .menu{min-width:calc(100% + 2px);left:-1px}#bar .menu{top:auto;bottom:calc(100% + 6px)}#bar #random{height:var(--tap);background:var(--fg);color:var(--bg);border:0;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}#bar #random svg{width:18px;height:18px}#bar #random:hover:not(:disabled){opacity:.85;background:var(--fg)}#bar #random:disabled{opacity:.35;color:var(--bg)}.seg{height:var(--tap);box-sizing:border-box;border:1px solid var(--border);border-radius:8px;gap:2px;margin:0 8px;padding:2px;display:inline-flex}.seg button{min-width:calc(var(--tap) - 6px);height:100%;color:var(--muted);border:0;border-radius:6px;padding:0 6px}.seg button.cur{background:rgba(var(--fg-rgb), .12);color:var(--fg);font-weight:700}#fx{padding-top:calc(8px + var(--fx-open,0) * 4px);align-items:flex-start}#fx .cap{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;justify-content:space-between;gap:6px;font-size:9px;line-height:12px;display:flex;overflow:hidden}#fx .cap b{text-overflow:ellipsis;font-weight:400;overflow:hidden}#fx .cap i{color:var(--fg);font-variant-numeric:tabular-nums;font-style:normal}#fx .ctl{gap:calc(2px + var(--fx-open,0) * 6px)}#fx .row .ico,#fx .sub .lbl,#fx.shut .cap{display:none}#fx input{height:28px}#fx input::-webkit-slider-runnable-track{border-radius:2px;height:4px}#fx input::-webkit-slider-thumb{border-radius:4px;width:14px;height:22px;margin-top:-9px}@media (width<=800px){#fx{padding-left:12px;padding-right:12px}header .title{display:inline}}.pad .actions .gap{flex:1}#grid:not([data-open]) .pad .actions .more,.pad .open-btn{display:none}#grid:not([data-open]) .pad:not(.empty) .open-btn{display:inline-flex}.pad:not(.open) .actions button:not([data-act=mode]):after{display:none}.pad:not(.open) [data-act=mode]{width:auto;padding:0 6px}.pad:not(.open) [data-act=mode] svg{display:none}.pad:not(.open) [data-act=mode]:after{letter-spacing:.08em;text-transform:uppercase;color:var(--fg);font-size:10px;line-height:10px}@media (pointer:coarse){.pad .head{height:calc(var(--tap) + 4px);padding:0 2px 0 8px}.pad .head .actions{flex-wrap:nowrap;display:flex;position:absolute;inset:0 2px 0 8px}.pad .actions button{width:var(--tap);height:var(--tap)}.pad .actions button svg{width:18px;height:18px}.pad .knobs,.pad.oneshot .knobs{flex-wrap:wrap;grid-row:auto;justify-content:space-between;align-items:flex-start;gap:2px 4px;padding:4px 10px 0;display:flex;position:static}.pad .knobs .name{-webkit-line-clamp:1;line-clamp:1;flex:100%;order:-1;margin:0 0 4px;font-size:12px}.pad .namerow{display:none}.pad .knob{width:30px;height:30px}.pad .kn{min-width:34px}.pad .kn em{font-size:9px;line-height:10px}.pad .steps{height:10px}.pad .bottom{padding:4px 10px 6px}.pad .gain{height:28px}.fader::-webkit-slider-runnable-track{border-radius:2px;height:4px}.fader::-webkit-slider-thumb{border-radius:4px;width:12px;height:22px;margin-top:-9px}}#grid[data-open]{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}#grid[data-open] .pad:not(.open){display:none}#joy.off{display:none!important}.pad.open{grid-template-rows:auto minmax(0,1fr) auto auto auto;animation:none}.pad.open .head{cursor:default;height:auto;padding:8px}.pad.open .head .key,.pad.open .head .badge{display:none}.pad.open .head .actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;display:flex;position:static;inset:auto}.pad.open .actions button{border:1px solid var(--border);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:auto;min-width:56px;height:52px;padding:0 10px;font-size:14px;display:inline-flex}.pad.open .actions button svg{width:20px;height:20px}.pad.open .actions button:after{font-size:9px;line-height:9px}.pad.open .actions :is(.lit,.dial.on):after{color:var(--bg)}.pad.open .actions :is(.lit,.dial.on):before{border-radius:7px;inset:0}.pad.open .actions .dl{display:inline-flex}.pad.open .actions .dl>em{display:none}.pad.open .knobs,.pad.open.oneshot .knobs{flex-wrap:wrap;grid-row:auto;justify-content:space-between;align-items:flex-start;gap:4px 8px;padding:14px 24px 4px;display:flex;position:static}.pad.open .knobs .name{-webkit-line-clamp:1;line-clamp:1;flex:100%;order:-1;margin:0 0 10px;font-size:16px}.pad.open .knob{width:52px;height:52px}.pad.open .kn{min-width:72px}.pad.open .kn em{font-size:10px;line-height:12px}.pad.open .namerow{display:none}.pad.open .steps{gap:3px;height:28px}.pad.open .locks{gap:3px;height:6px}.pad.open .bottom{padding:12px 16px 16px}#app [hidden]{display:none!important}#app .vbox{grid-template-rows:auto auto;grid-auto-flow:column;place-content:center start;gap:0 4px;display:inline-grid}.pad.open .actions .open-btn,#grid[data-open] .pad .open-btn{display:none}.pad.open .head .actions{flex-wrap:nowrap}.pad.open .actions button,.pad.open .actions .dl{flex:1 1 0;min-width:0;max-width:84px;padding:0 4px}.pad.open .actions .dl>button{flex:auto;width:100%;max-width:none}.pad.open .actions .gap{flex:0 0 12px}#app .vbox>.menu{grid-area:auto;min-width:max(100%,140px)}#app .vbox input,.vbox.dd .ddb{height:30px}#app .vbox:before{margin-top:2px;line-height:9px}header button.title{height:var(--tap)}.pad .kmode{display:none}.pad.racked .kmode,.pad.macro .kmode,.pad.open .kmode{display:inline-flex}:root[data-host=device] .pad .kmode,:root[data-host=device] .pad .devs{display:none!important}.kmode{box-sizing:border-box;border:1px solid var(--border);border-radius:7px;flex:none;order:-1;gap:2px;height:28px;margin:0 0 4px;padding:2px}.kmode button{letter-spacing:.08em;text-transform:uppercase;height:100%;color:var(--muted);border:0;border-radius:5px;padding:0 8px;font-size:9px}.kmode button.cur{background:rgba(var(--fg-rgb), .12);color:var(--fg)}.pad.racked .knobs .name,.pad.macro .knobs .name,.pad.open .knobs .name{flex:1 1 0;min-width:0}.pad .knobs .kmode+.kn{margin-left:0}.pad .mk,.pad.macro .knobs .kn:not(.xk){display:none}.pad.macro .knobs .mk{display:flex}.mk.empty .knob svg{opacity:.35}.mk.editing .knob{outline:1px solid var(--fg);outline-offset:3px;border-radius:50%}@media (pointer:coarse){.kmode{height:32px}.kmode button{padding:0 10px}}.pad .devs{display:none}.pad.open{grid-template-rows:auto minmax(0,1fr) auto auto auto auto}.pad.open .devs{border-top:1px solid var(--border);flex-direction:column;gap:10px;min-width:0;padding:10px 16px 16px;display:flex}.devs .chain{gap:10px;min-width:0;display:flex;overflow-x:auto}.devs .dev{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:none;min-width:240px;display:flex}.devs .dev.off .dknobs{opacity:.4}.devs .dhead{border-bottom:1px solid var(--border);align-items:center;gap:8px;height:44px;padding:0 2px 0 12px;font-size:12px;display:flex}.devs .dstyle{border:1px solid var(--border);height:28px;color:var(--fg);border-radius:6px;padding:0 8px}.devs .gap,.medit .gap{flex:1}.devs .dhead .icon{width:40px;height:40px;color:var(--muted);isolation:isolate;border-color:#0000;position:relative}.devs .dhead .icon.lit{color:var(--fg)}.devs .dknobs{justify-content:space-between;gap:6px;padding:10px 12px 12px;display:flex}.devs .dk{min-width:48px;position:relative}.devs .dk .knob{width:40px;height:40px}.devs .dk em{font-size:9px}.devs .dk em:after{content:" " attr(data-v);color:var(--fg)}.devs .dk[data-tag]:not([data-tag=""]):after{content:attr(data-tag);background:var(--fg);color:var(--bg);pointer-events:none;border-radius:3px;padding:0 3px;font-size:8px;font-weight:700;line-height:12px;position:absolute;top:-6px;right:-2px}.devs .dk.tgt .knob{outline:1px solid var(--fg);outline-offset:3px;border-radius:50%}.devs .dadd{border:1.5px dashed var(--border);min-width:140px;min-height:120px;color:var(--muted);border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;display:inline-flex}.devs .dadd svg{width:20px;height:20px}.devs .dpick{border:1px solid var(--fg);border-radius:8px;flex:100%;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px 16px;padding:10px 12px;display:grid}.devs .prow{align-items:center;gap:6px;display:flex}.devs .prow b{width:72px;font-size:12px}.devs .prow button,.devs .pclose{border:1px solid var(--border);height:36px;color:var(--fg);border-radius:6px;padding:0 12px}.devs .pclose{color:var(--muted);grid-column:1/-1;justify-self:end}.medit{border:1px solid var(--fg);border-radius:8px;flex-direction:column;gap:6px;padding:8px 12px;font-size:12px;display:flex}.medit .mhead{align-items:center;gap:10px;display:flex}.medit .mhead button{border:1px solid var(--border);height:36px;color:var(--fg);border-radius:6px;padding:0 14px}.medit .mrow{align-items:center;gap:8px;display:flex}.medit .rng{border:1px solid var(--border);cursor:ns-resize;touch-action:none;font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;min-width:76px;height:36px;display:inline-flex}.medit .mrow button{width:36px;height:36px;color:var(--muted);border-color:#0000;justify-content:center;align-items:center;display:inline-flex}.pad.open .head .actions{flex:auto;width:100%}.pad.open .actions .dl:has(button[hidden]){display:none}.pad.open .knobs .name,.pad.open.racked .knobs .name,.pad.open.macro .knobs .name{flex:100%;order:-2}.pad.open .kmode{align-self:center;margin:0 8px 0 0}.pad.open{overscroll-behavior:contain;overflow-y:auto}.pad.open .wave{min-height:96px}.devs .chain{flex-wrap:wrap;overflow-x:visible}.pad .knobs .name,.pad.racked .knobs .name,.pad.macro .knobs .name,.pad.open .knobs .name{order:-3}.pad .kmode{order:-2}.pad .knobs:before{content:"";flex:0 0 100%;order:-1;height:0}.pad:not(.racked):not(.macro) .knobs .name{flex:100%}.pad.open .knobs:before{display:none}.pad .knobs .kn{order:0}@media (pointer:fine){.pad:not(.open):not(.racked):not(.macro) .knobs:before{display:none}}.devs .dknobs{gap:4px}.devs .dk{flex:1 1 0;min-width:0}.devs .dk em{white-space:nowrap;flex-direction:column;align-items:center;line-height:11px;display:flex}.devs .dk em:after{content:attr(data-v);color:var(--fg);margin-top:1px}.pad.open .devs .dk{min-width:0}.mk.empty em{color:var(--muted)}#bar #random{isolation:isolate;position:relative;overflow:hidden}#bar #random:before{content:"";background:var(--muted);transform-origin:0;z-index:-1;position:absolute;inset:0;transform:scaleX(0)}#bar #random.holding:before{transition:transform 3s linear;transform:scaleX(1)}#app{grid-template-rows:var(--fx-h,56px) minmax(0, 1fr) var(--bar-h)}:root{--head-h:0px;--bar-h:52px}@media (pointer:coarse){:root{--bar-h:58px}}#bar{gap:6px}#bar .mid{flex:auto;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}#bar #status{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}#bar #folder-prompt:empty{display:none}#bar #folder-prompt{white-space:nowrap;align-items:center;display:inline-flex}#bar #folder-prompt button{height:var(--tap);border:1px solid var(--border);color:var(--fg);border-radius:8px;padding:0 12px;text-decoration:none}#bar .meter{display:none}:root[data-host=device] #bar .meter{display:flex}#bar .seg{margin:0}#bar #play{min-width:calc(var(--tap) + 8px)}#more-menu{gap:2px;min-width:220px;padding:6px}#more-menu button.row{width:100%;height:44px;color:var(--fg);border:0;border-radius:6px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:0 10px;font-size:12px;display:flex}#more-menu button.row svg{width:18px;height:18px;color:var(--muted)}#more-menu button.row:after{color:var(--fg);letter-spacing:0;font-size:12px;line-height:1}#more-menu button.about{border-bottom:1px solid var(--border);border-radius:6px 6px 0 0;margin-bottom:4px;font-weight:700}#more-menu .seg{height:44px;margin:0 0 6px;display:none}#more-menu .seg button{flex:1}#more-menu #folder-name{display:none}#bar .pop.more .menu{left:auto;right:-1px}@media (width<=800px){#bar{gap:4px;padding:0 6px}#bar .seg.in-bar{display:none}#more-menu .seg{display:inline-flex}#app .vbox{padding:0 8px}#app .vbox input{width:42px}#bar #random span{display:none}#bar #random{padding:0 12px}}@media (pointer:coarse){#bar .menu{gap:2px;padding:6px}#bar .menu button{border-radius:6px;height:44px;padding:0 12px;font-size:13px}}#bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:0 8px;display:grid}#bar .left,#bar .right{gap:8px}#bar .mid{flex:none;gap:8px}#bar button.icon{width:var(--tap);min-width:var(--tap);border:1px solid var(--border);color:var(--fg);border-radius:8px;padding:0}#bar #play{width:calc(var(--tap) + 12px);border-color:var(--fg)}#bar #undo:disabled{color:var(--border)}#bar .timecode{height:var(--tap);box-sizing:border-box;border:1px solid var(--border);font-variant-numeric:tabular-nums;min-width:64px;color:var(--fg);border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;margin:0;padding:0 10px;font-size:14px;display:inline-flex;position:relative}#bar .timecode:before{content:"Bar";letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:8px;line-height:9px}@media (width<=1060px){#bar #random span{display:none}#bar #random{padding:0 13px}}@media (width<=1040px){#bar .timecode{display:none}}@media (width<=800px){#bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#bar .mid{display:none}}.pad.open{grid-template:"head head""wave wave"minmax(72px,1fr)"knobs knobs""seq bottom""devs devs"/minmax(0,1fr) clamp(160px,26%,320px)}.pad.open>.head{grid-area:head}.pad.open>.wave{grid-area:wave}.pad.open>.knobs{grid-area:knobs}.pad.open>.seq{grid-area:seq}.pad.open>.bottom{grid-area:bottom}.pad.open>.devs{grid-area:devs}.pad.open>.namerow{display:none}.pad.open .actions .back{border-color:var(--border)}.pad.open .knobs,.pad.open.oneshot .knobs{grid-template-columns:repeat(6,minmax(0,1fr));place-items:start center;gap:12px 8px;padding:12px 16px 0;display:grid}.pad.open .knobs .name{grid-column:1/5;place-self:center start;margin:0}.pad.open .knobs .kmode{grid-column:5/7;justify-self:end;margin:0}.pad.open .knobs .kn{min-width:0}.pad.open .seq{align-self:center;margin:12px 0 0 16px}.pad.open .bottom{flex-direction:column;align-self:center;gap:4px;padding:12px 16px 0;display:flex}.pad.open .bottom:before{content:"Level";letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:8px;line-height:9px}.pad.open:not(.oneshot) .seq{visibility:hidden}.pad.open .devs{margin-top:12px;padding:12px 16px 16px}.devs .chain{gap:8px}.devs .dev{flex:1 1 0;min-width:220px;max-width:none}.devs .dadd{flex:0 0 112px;align-self:stretch;min-width:0;min-height:0}.devs .chain:not(:has(.dev)) .dadd{flex-direction:row;flex:auto;min-height:64px}.devs .dadd{height:auto}.devs .chain{align-items:stretch}@media (pointer:coarse){.pad:not(.open) .knobs,.pad.oneshot:not(.open) .knobs{grid-template-columns:repeat(6,minmax(0,1fr));place-items:start center;gap:2px;display:grid}.pad:not(.open) .knobs:before{display:none}.pad:not(.open) .knobs .name{grid-column:1/-1;justify-self:stretch;margin:0 0 4px}.pad.racked:not(.open) .knobs .name,.pad.macro:not(.open) .knobs .name{grid-column:1/5;align-self:center}.pad:not(.open) .knobs .kmode{grid-column:5/7;justify-self:end;margin:0 0 4px}.pad:not(.open) .kn{min-width:0;max-width:100%}.pad:not(.open) .knob{aspect-ratio:1;width:min(30px,100%);height:auto}}@media (width<=800px){#bar{justify-content:space-between;gap:6px;padding:0 6px;display:flex}#bar .left,#bar .right{gap:6px}#bar #play{width:var(--tap)}#bar #more{width:28px;min-width:28px}#app #bar .vbox{padding:0 7px}#bar #play+#record,#bar #sync+#playmode,#bar #auto+#undo{margin-left:-2px}}#bar #record .loop .trk{display:none}#bar #record.active{border-color:var(--border)}:root{--bar-h:calc(var(--tap) + 8px)}html.native #app{padding-bottom:max(0px, calc(env(safe-area-inset-bottom) - 12px))}#bar{align-items:center;gap:4px;padding:0 4px;display:flex;position:relative}#bar .left,#bar .mid,#bar .right{display:contents}#bar>*>:is(button,.vbox,.seg,.timecode,.pop){min-width:var(--tap);flex:1 1 0;width:auto;margin:0}#bar #play+#record,#bar #sync+#playmode,#bar #auto+#undo{margin-left:0}#bar #play{flex-grow:1.4}#bar #random{flex-grow:2.4;justify-content:center}#bar .vbox,#bar .timecode{flex-grow:1.6}#bar .seg{flex-grow:2.4}#bar .seg button{flex:1}#bar .pop.more{flex:0 0 var(--tap);display:flex}#bar .pop.more #more{width:100%}#bar .dd.vbox .ddb{justify-content:space-between;width:100%}#bar #status{background:var(--bg);pointer-events:none;border-radius:6px;padding:2px 8px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}#bar #status:empty,#bar #folder-prompt:empty{display:none}@media (width<=800px){#bar{gap:3px;padding:0 3px}#bar #random{flex-grow:1.2}}.pad.open .head .actions{gap:4px}.pad.open .actions .gap{display:none}.pad.open .actions button,.pad.open .actions .dl{flex:1 1 0;max-width:none}#bar .seg{min-width:max-content}#bar #more{border-color:var(--border)}@media (width>=801px){#bar #random span{display:inline}#bar #random{padding:0 14px}}@media (width>=901px){#bar .timecode{display:inline-flex}}.pad.open{grid-template-columns:minmax(0,1fr) 64px;grid-template-areas:"head head""wave bottom""knobs bottom""seq bottom""devs devs"}.pad.open .seq{margin:12px 0 0 16px}.pad.open .bottom{flex-direction:column;align-self:stretch;align-items:center;gap:8px;min-height:0;padding:12px 12px 4px 8px;display:flex}.pad.open .bottom:before{flex:none}.pad.open .gain{writing-mode:vertical-lr;cursor:ns-resize;--meter-cover:linear-gradient(0deg, transparent calc(var(--lv) * 100%), var(--border) 0);--meter-peak:linear-gradient(0deg, transparent calc(var(--pk,0) * 100%), rgba(var(--fg-rgb), .5) 0, rgba(var(--fg-rgb), .5) calc(var(--pk,0) * 100% + 2px), transparent 0);direction:rtl;flex:auto;width:28px;height:auto;min-height:120px}.pad.open .gain::-webkit-slider-runnable-track{width:4px;height:100%}.pad.open .gain::-webkit-slider-thumb{width:22px;height:12px;margin-top:0;margin-left:-9px}.kn{touch-action:none}.kn.held em{color:var(--fg);font-variant-numeric:tabular-nums}.kn em.inkey{color:var(--accent)}#app .tempo input{touch-action:none}@keyframes detent{0%{filter:brightness(1.8)}to{filter:none}}.tick,.kn.tick .knob .dot{animation:.16s ease-out detent}input[type=range]{touch-action:none}@media (pointer:coarse){#fx-grip{height:20px;margin-top:-10px}#fx-grip:after{top:9px}}.pad .steps span,.pad .locks span{position:relative}.pad .steps span:before{content:"";position:absolute;inset:-6px 0 0}.pad.open .steps span:before{top:-8px}.pad .locks{touch-action:none}.pad .locks span.hit:before{content:"";position:absolute;inset:0 0 -8px}@media (pointer:coarse){#joy .puck{width:48px;height:48px}}#app #bar{align-items:center;gap:4px;padding:0 4px;display:flex}#app #bar>*>:is(button,.vbox,.seg,.timecode,.pop){height:var(--tap);box-sizing:border-box;flex:none;margin:0}#app #bar>*>button.icon{width:var(--tap);min-width:var(--tap);border:1px solid var(--border);border-radius:8px;padding:0}#app #bar #play{width:calc(var(--tap) * 1.5);border-color:var(--fg)}#app #bar .pop.more{width:var(--tap)}#app #bar .pop.more #more{width:100%;height:100%}#app #bar #random{flex:2 1 0;justify-content:center;min-width:max-content;padding:0 16px}#app #bar #random span{display:inline}#app #bar :is(.vbox,.timecode){border:1px solid var(--border);border-radius:8px;flex:1 1 0;grid-template-rows:9px 18px;grid-template-columns:max-content minmax(0,1fr);align-content:center;gap:2px 4px;min-width:max-content;padding:0 10px;display:grid}#app #bar :is(.vbox,.timecode):before{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-area:1/1/auto/-1;margin:0;font-size:8px;line-height:9px}#app #bar .timecode{align-items:initial;font-size:14px;line-height:18px}#app #bar .vbox>*{grid-row:2}#app #bar .vbox input{grid-column:1;height:18px;padding:0;font-size:14px;line-height:18px}#app #bar .tempo:not(.amount) input{width:5.2ch}#app #bar .tempo.amount input{width:3.2ch}#app #bar .vbox .muted{grid-column:2;align-self:end;font-size:10px;line-height:15px}#app #bar .vbox.dd .ddb{grid-column:1/-1;justify-content:space-between;gap:6px;width:100%;min-width:max-content;height:18px;padding:0;font-size:14px;line-height:18px}#app #bar>*>.seg button{width:calc(var(--tap) - 8px);flex:none;min-width:0;padding:0}#app #bar .menu{border-radius:8px;gap:2px;padding:6px;top:auto;bottom:calc(100% + 6px)}#app #bar .vbox>.menu{min-width:max(100% + 2px,140px);left:-1px;right:auto}#app #bar .pop .menu{left:auto;right:0}#app #bar .menu>button{height:var(--tap);border-radius:6px;padding:0 12px;font-size:13px}#app #bar .menu>button:hover:not(:disabled){background:rgba(var(--fg-rgb), .08)}#app #bar #more-menu{width:232px;min-width:0}#app #bar #more-menu button.row{width:100%;min-width:0;height:var(--tap);color:var(--fg);border:0;border-radius:6px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:0 12px;font-size:13px;display:flex}#app #bar #more-menu button.row svg{width:18px;height:18px;color:var(--muted);flex:none}#app #bar #more-menu button.row:after{letter-spacing:0;color:var(--fg);font-size:13px;line-height:1}#app #bar #more-menu button.about{border-radius:6px;padding-left:42px;font-weight:700}#app #bar #more-menu button.about+*{margin-top:0}#app #bar #more-menu .seg.in-more{width:100%;height:var(--tap);margin:0}#app #bar #more-menu .seg.in-more button{flex:1;width:auto}#app #bar #more-menu button.about:after{content:none}#app #bar #more-menu hr,#app #bar #more-menu button.about{border-bottom:0}#app #bar #more-menu button.about{box-shadow:0 1px 0 var(--border);border-radius:6px 6px 0 0;margin-bottom:4px}@media (width<=800px){#app #bar{gap:3px;padding:0 3px}#app #bar #play{width:calc(var(--tap) * 1.2)}#app #bar :is(.vbox,.timecode){padding:0 7px}#app #bar #random{flex:0 0 calc(var(--tap) * 1.5);min-width:0;padding:0}#app #bar #random span{display:none}}@media (width<=1100px){#app #bar .timecode{display:none}}#app #bar .vbox.dd .ddb,#app #bar .vbox input,#app #bar .timecode{color:var(--fg);text-align:left;letter-spacing:normal;justify-items:start}#app #bar .menu button{color:var(--fg)}#app #bar .menu button.cur{background:rgba(var(--fg-rgb), .12);font-weight:700}#app .saverow{gap:6px;padding:0 0 6px}#app .saverow input,#app .saverow button{height:var(--tap);border-radius:6px}#app .saverow input{padding:0 10px;font-size:13px}.pad.empty .head .actions,.pad.empty .knobs,.pad.empty .seq{visibility:hidden}#app #bar #folder-prompt{flex:0 auto;min-width:0;overflow:hidden}#app #bar #folder-prompt button{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pad .actions .rate{line-height:18px}.pad.open .actions .rate{font-size:15px}@media (pointer:coarse){#browse .foot .muted:not(.where){display:none}}.devs .dpick{border:1px solid var(--border);border-radius:8px;flex:100%;align-items:flex-start;gap:6px;padding:8px;display:flex}.devs .dpick .tiles{flex:auto;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;display:grid}.devs .dpick button[data-add]{height:var(--tap);border:1px solid var(--border);color:var(--fg);text-align:center;border-radius:6px;padding:0 8px;font-size:12px}.devs .dpick button[data-add]:hover{background:rgba(var(--fg-rgb), .08)}.devs .dpick .pclose{width:var(--tap);height:var(--tap);color:var(--muted);border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.devs .dpick .pclose svg{width:18px;height:18px}#app #bar .vbox>.menu{grid-area:auto}#app #settings-menu{gap:6px;min-width:460px;padding:8px}#app #settings-menu .set{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;font-size:12px;display:grid}#app #settings-menu .seg{flex-wrap:nowrap;width:100%;max-width:none;margin:0}#app #settings-menu .seg button{flex:1 1 0}.devs .dk{position:relative}.devs .dk[data-tag]:not([data-tag=""]):after{top:0;left:calc(50% + 20px);right:auto}#app #bar #more-menu .seg.in-more button{text-align:center;justify-content:center;align-items:center;padding:0;display:inline-flex}.pad:not(.open) .kmode{display:none!important}.pad.racked:not(.open) .knobs .name,.pad.macro:not(.open) .knobs .name{flex:100%;grid-column:1/-1}.pad.open:not(.oneshot) .seq{display:none}.pad.open .knobs,.pad.open.oneshot .knobs{padding-bottom:8px}.devs .dev{flex:0 380px;min-width:240px}.devs .dknobs{justify-content:space-evenly}.devs .dadd{flex:0 0 88px}.devs .chain:not(:has(.dev)) .dadd{min-height:var(--tap);flex:none;gap:8px;padding:0 16px}#grid .pad:not(.open){grid-template:"head""seq""wave"minmax(0,1fr)"knobs""bottom"/minmax(0,1fr)}#grid .pad:not(.open)>.seq{margin:0 10px 6px}#grid .pad:not(.open)>.head{grid-area:head}#grid .pad:not(.open)>.wave{grid-area:wave}#grid .pad:not(.open)>.namerow{grid-area:knobs}#grid .pad:not(.open)>.seq{grid-area:seq}#grid .pad:not(.open)>.bottom{grid-area:bottom}#grid .pad:not(.open)>.devs{display:none}#grid .pad:not(.open):not(.oneshot)>.seq{visibility:hidden}#grid .pad:not(.open)>.knobs{grid-area:3/1/5;position:absolute;bottom:0;left:0;right:0}:root[data-controls=always] #grid .pad:not(.open):not(.empty)>.knobs{grid-area:knobs;position:static}:root[data-controls=always] #grid .pad:not(.open):not(.empty)>.namerow{display:none}@media (pointer:coarse){#grid .pad:not(.open)>.knobs{grid-area:knobs;position:static}#grid .pad:not(.open)>.namerow{display:none}:root #grid .pad:not(.open):not(.empty)>.knobs{grid-template-columns:repeat(6,minmax(0,1fr));place-items:start center;gap:2px;display:grid}:root #grid .pad:not(.open)>.knobs .kn{width:auto}}#mix{gap:8px;min-height:0;padding:8px;display:flex;overflow-x:auto}#mix[hidden]{display:none}#mix .mstrip{border:1px solid var(--border);background:var(--bg);min-width:72px;min-height:0;color:var(--fg);border-radius:3px;flex-direction:column;flex:1 1 0;display:flex}#mix .mstrip.soloed{border-color:var(--accent)}#mix .mhead{color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:10px 12px 6px;display:flex}#mix .mtop{align-items:center;gap:8px;height:18px;display:flex}#mix .mtop svg{width:16px;height:16px}#mix .mnum{font-size:13px;font-weight:700}#mix .mkind,#mix .mname{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9px;line-height:11px}#mix .mname{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}#mix .mfader{touch-action:none;cursor:ns-resize;flex:auto;min-height:120px;position:relative}#mix .mfader canvas{width:100%;height:100%;position:absolute;inset:0}#mix .mfoot{height:calc(var(--tap) + 8px);box-sizing:border-box;align-items:center;gap:4px;padding:0 8px 8px;display:flex}#mix .mfoot button{width:var(--tap);height:var(--tap);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:0;font-size:11px;font-weight:700}#mix .mfoot button.cur{background:var(--fg);border-color:var(--fg);color:var(--bg)}#mix .mdb{font-variant-numeric:tabular-nums;color:var(--fg);white-space:nowrap;margin-left:auto;font-size:11px}#mix .quiet .mhead,#mix .quiet .mfader{opacity:.35}#mix .madd{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-style:dashed;justify-content:center;align-items:center;gap:8px;font-size:9px;position:relative}#mix .madd .mnum{color:var(--muted);position:absolute;top:10px;left:12px}#mix .madd span{flex-direction:column;align-items:center;gap:6px;display:flex}#mix .madd svg{width:20px;height:20px}#mix .mmaster .mhead{cursor:default}#app #mix .mhead{box-sizing:border-box;border-radius:0;justify-content:flex-start;height:52px;padding:10px 12px 0}#app #mix .mmaster .mtop{color:var(--fg)}#app #bar>*>button.icon.active{background:var(--fg);border-color:var(--fg);color:var(--bg)}@media (width<=800px){#app #bar #play{width:var(--tap)}#app #bar #random{flex:0 0 var(--tap)}}#bar #random .spin{box-sizing:border-box;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;display:none}#bar #random.busy svg{display:none}#bar #random.busy .spin{animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){#bar #random.busy .spin{animation-duration:2.4s}}.pad .head .hname{display:none}#grid .pad:not(.open) .head .hname{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:700;line-height:var(--tap);color:var(--fg);cursor:text;flex:auto;margin:0 4px 0 2px;display:block;overflow:hidden}#grid .pad:not(.open) .head .hname+*{margin-left:0}#grid .pad:not(.open)>.knobs .name{display:none!important}#grid .pad:not(.open) .head .gap{display:none}@media (pointer:fine){#grid .pad:not(.open)>.knobs{justify-content:space-between}#grid .pad:not(.open)>.knobs:before{display:none}}#grid .pad:not(.open) .head .actions{flex-wrap:nowrap}#grid .pad:not(.open) .head .hname{flex:1 1 0}:root{--bar-box:max(var(--tap), 38px);--bar-h:calc(var(--bar-box) + 17px)}#app #bar{--tap:var(--bar-box);gap:6px;padding:0 8px}#app #bar>.mid>#count-step,#app #bar>.right>#auto,:root[data-host=device] #app #bar>.right>.meter{margin-left:8px}:root[data-host=device] #app #bar>.right>#auto{margin-left:0}#app #bar .hostmark{height:var(--tap);letter-spacing:.08em;border-radius:8px;flex:none;align-items:center;padding:0 10px;font-size:9px;line-height:10px;display:inline-flex}#app #bar :is(.vbox,.timecode){grid-template-rows:10px 18px;row-gap:2px}#app #bar :is(.vbox,.timecode):before{font-size:9px;line-height:10px}#app #bar .vbox .muted{font-size:12px;line-height:16px}#app #bar>*>.seg button,#app #bar #folder-prompt button,#app #bar #random{font-size:12px}#app #bar>*>.seg{gap:3px;padding:3px}#app #bar>*>.seg button{border-radius:5px}@media (width<=800px){:root{--bar-h:calc(var(--bar-box) + 8px)}#app #bar{gap:3px;padding:0 3px}#app #bar>*>*{margin-left:0!important}}
