@font-face{font-family:Tilt Display;src:url(/fonts/display.woff2) format("woff2");font-weight:400 600;font-display:swap}@font-face{font-family:Tilt Display;src:url(/fonts/display-bold.woff2) format("woff2");font-weight:700 900;font-display:swap}:root{--font-ui: "Segoe UI", system-ui, sans-serif;--font-display: "Tilt Display", "Bahnschrift", "Segoe UI", system-ui, sans-serif;--font-mono: "Cascadia Mono", var(--font-mono);--bg: #0d1220;--panel: #151c2e;--raise: #1d2640;--raise-hi: #26314f;--well: #090e19;--line: #2b3654;--line-strong: #3d4c74;--ink: #e9eefb;--dim: #8f9bbd;--white: #ffffff;--scrim: #050812b3;--scrim-strong: #050812e6;--shadow: #02040acc;--glow: #17325a;--cyan: #36e2ff;--coral: #ff6b5e;--mint: #4dffb4;--purple: #a982ff;--yellow: #ffd23f;--accent: var(--cyan);--accent-ink: #04212b;--ok: var(--mint);--rec: var(--coral);--focus: var(--yellow);--inst-drums: #ff5f6d;--inst-analog: #ff9a3c;--inst-acid: #b8f04a;--inst-wobble: #d36bff;--inst-poly: #4aa8ff;--inst-pad: #ff8fd0;--inst-lead: #2fd6c6;--inst-chip: #8c7dff;--inst-fm: #e9d8b4;--inst-wave: #5ce07a;--inst-sampler: #c3cbe0;--r-s: 4px;--r-m: 8px;--r-l: 14px;--radius: var(--r-m);--bevel-hi: #ffffff17;--bevel-lo: #00000073;--t-fast: 90ms;--t-med: .16s;--key-white: #dbe3f2;--key-black: #1a2236;--key-ink: #10162a;--key-chord: #5b3fc4;--cap: #dfe7f7;--roll-bg: #0b101d;--roll-row: #121a2b;--roll-row2: #0f1625;--roll-hatch: #ffffff12;--roll-root: #36e2ff12;--roll-keys: #182035;--roll-key-white: #c9d3e8;--roll-key-black: #1a2236;--roll-key-ink: #10162a;--roll-grid: #ffffff0b;--roll-beat: #ffffff1a;--roll-bar: #ffffff3d;--sel-fill: #ffd23f1f;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.35 var(--font-ui);overflow:hidden;user-select:none}button{font:inherit;color:inherit;background:var(--raise);border:1px solid var(--line);border-radius:var(--r-m);padding:6px 10px;cursor:pointer;box-shadow:inset 0 1px 0 var(--bevel-hi),0 2px 0 var(--bevel-lo);transition:background-color var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}button:hover:not(:disabled){border-color:var(--line-strong);background-color:var(--raise-hi)}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 var(--bevel-hi),0 0 0 var(--bevel-lo)}button:disabled{opacity:.4;cursor:default;box-shadow:none}button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:inset 0 1px #fff6,0 2px color-mix(in srgb,var(--accent) 35%,#000),0 0 14px color-mix(in srgb,var(--accent) 30%,transparent)}button.on:hover:not(:disabled){background-color:var(--accent);filter:brightness(1.08)}.menu-item,.tb-arrow,.brand,.stepper-btn,.lib-row,.pg-cell:not(.on){box-shadow:none}#app{height:100%;display:flex;flex-direction:column}.screen-host{flex:1;min-height:0;display:flex;flex-direction:column}.hidden{display:none!important}.navfocus{outline:2px solid var(--focus)!important;outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--focus) 22%,transparent)!important}.topbar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{background:none;border:none;font-weight:800;letter-spacing:.08em;color:var(--accent);font-size:15px}.chip-btn{background:var(--raise);border-radius:var(--r-m);padding:5px 11px;white-space:nowrap}.chip-btn.title{max-width:220px;overflow:hidden;text-overflow:ellipsis}.transport{display:flex;gap:3px;margin-left:6px;padding:3px;background:var(--well);border-radius:calc(var(--r-m) + 3px)}.tp-btn{min-width:40px;font-size:15px}.tp-btn.rec{color:var(--rec)}.tp-btn.rec.on{box-shadow:inset 0 1px #fff5,0 2px color-mix(in srgb,var(--rec) 35%,#000),0 0 16px color-mix(in srgb,var(--rec) 45%,transparent)}.tp-btn.rec.on{background:var(--rec);color:var(--key-ink);border-color:var(--rec);animation:pulse 1s infinite}.tp-btn.mode{min-width:86px;font-size:13px}.spacer{flex:1}.timer{font:700 20px var(--font-mono);min-width:0;padding:2px 10px;border-radius:8px}.timer.on{background:var(--well)}.timer.hurry{color:var(--rec);animation:pulse .8s infinite}.timer.done{color:var(--rec)}.locked-badge{background:var(--rec);color:var(--key-ink);font-weight:700;padding:3px 8px;border-radius:6px;font-size:12px;letter-spacing:.1em}@keyframes pulse{50%{opacity:.55}}.overlay-layer{position:fixed;inset:0;z-index:50;background:var(--scrim);display:grid;place-items:center}.overlay-layer.menu-layer{background:transparent;display:block}.overlay-layer.dim{background:var(--scrim-strong)}.menu{position:fixed;min-width:240px;max-height:80vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:6px;box-shadow:0 12px 40px var(--shadow)}.menu-title,.dialog-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);padding:6px 10px 8px}.menu-item{display:flex;width:100%;gap:8px;align-items:center;background:none;border:none;text-align:left;padding:7px 10px;border-radius:6px}.menu-item{transition:background-color var(--t-fast)}.menu-item:hover:not(:disabled){background:var(--raise-hi)}.menu-item.navfocus{background:var(--raise-hi);outline-offset:-2px;box-shadow:none!important}.menu-check{width:14px;color:var(--accent)}.menu-label{flex:1}.menu-hint{color:var(--dim);font-size:12px}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);padding:10px 16px 16px;width:min(440px,94vw);max-height:90vh;overflow:auto;box-shadow:0 20px 60px var(--shadow)}.dialog.wide{width:min(720px,94vw)}.form{display:flex;flex-direction:column;gap:8px}.row-btn{text-align:left;padding:9px 12px}.row-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700;text-align:center}.stepper{display:flex;align-items:center;gap:8px;background:var(--well);border:1px solid var(--line);border-radius:var(--r-m);padding:4px 6px 4px 12px}.stepper-label{color:var(--dim);width:110px}.stepper-value{flex:1;text-align:center;font-weight:600}.stepper-btn{width:34px;padding:4px 0}.note{color:var(--dim);font-size:13px;margin:2px 0}.note.ok{color:var(--ok)}.note.big{font-size:16px;color:var(--ink)}.status{color:var(--accent)}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-top:6px}.monitor{background:var(--well);border-radius:8px;padding:8px;height:320px;overflow:auto;font:12px/1.4 var(--font-mono);margin:0;user-select:text}.help{border-collapse:collapse;width:100%}.help td,.help th{padding:4px 8px;text-align:left;vertical-align:top}.help th{color:var(--accent);padding-top:10px}.help td:first-child{color:var(--accent);white-space:nowrap;font-family:var(--font-mono);font-size:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--scrim-strong);border:1px solid var(--line);color:var(--ink);padding:9px 18px;border-radius:var(--r-m);z-index:100;transition:opacity .4s;pointer-events:none}.toast.out{opacity:0}.picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pick-card{text-align:left;padding:16px;border-radius:12px;min-height:92px}.pick-name{font-weight:800;font-size:18px}.pick-role{color:var(--dim);font-size:12px;margin-top:4px}.pick-card[class*=kind-]{background:var(--raise);border-color:var(--line);box-shadow:inset 4px 0 0 var(--kc),inset 0 1px 0 var(--bevel-hi),0 2px 0 var(--bevel-lo)}.pick-card[class*=kind-] .pick-name{color:var(--kc)}.pick-card[class*=kind-]:hover:not(:disabled){border-color:var(--kc)}.pick-card.random{background:var(--raise);border-style:dashed}.dice-screen{flex:1;overflow:auto;padding:28px 16px;display:flex;flex-direction:column;align-items:center;gap:22px;background:radial-gradient(ellipse at 50% 0%,var(--glow) 0%,var(--bg) 60%)}.dice-head{text-align:center}.logo{font-size:46px;font-weight:900;letter-spacing:.14em;color:var(--accent);display:flex;align-items:center;gap:14px;justify-content:center}.logo-die{font-size:54px;color:var(--ink)}.tagline{color:var(--dim);margin-top:4px}.dice-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;width:min(960px,100%)}.dice-grid .die:nth-child(5),.dice-grid .die:nth-child(6){grid-column:span 2}.die{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:14px;text-align:left;min-height:120px;display:flex;flex-direction:column;gap:4px;transition:transform .1s}.die.locked{border-color:var(--accent);background:var(--raise)}.die.rolling:not(.locked){transform:rotate(-1.5deg) scale(.98)}.die-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--dim)}.die-value{font-size:30px;font-weight:800}.die-unit{color:var(--dim);margin-top:-4px}.die-lock{margin-top:auto;font-size:12px;color:var(--dim)}.die.locked .die-lock{color:var(--accent)}.lineup{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--well);border-radius:var(--r-s);padding:3px 10px;font-size:13px}.chip[class*=kind-]{color:var(--kc);box-shadow:inset 2px 0 0 var(--kc)}.kind-drums{--kc: var(--inst-drums)}.kind-analog{--kc: var(--inst-analog)}.kind-acid{--kc: var(--inst-acid)}.kind-wobble{--kc: var(--inst-wobble)}.kind-poly{--kc: var(--inst-poly)}.kind-pad{--kc: var(--inst-pad)}.kind-lead{--kc: var(--inst-lead)}.kind-chip{--kc: var(--inst-chip)}.kind-fm{--kc: var(--inst-fm)}.kind-wave{--kc: var(--inst-wave)}.kind-sampler{--kc: var(--inst-sampler)}.dice-actions{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap;justify-content:center}.roll-btn{font-size:28px;font-weight:900;padding:16px 36px;border-radius:16px;background:var(--raise);border:2px solid var(--accent);display:flex;flex-direction:column;align-items:center}.roll-btn small,.go-btn small{font-size:11px;color:var(--dim);font-weight:400}.go-btn{font-size:26px;font-weight:900;padding:16px 40px;border-radius:16px;background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.timer-pick{display:flex;flex-direction:column;gap:6px;justify-content:center}.seg{display:flex;gap:2px;padding:3px;background:var(--well);border-radius:calc(var(--r-m) + 3px)}.seg-btn{padding:7px 13px;background:transparent;border-color:transparent;box-shadow:none}.seg-btn:hover:not(:disabled):not(.on){background:var(--raise)}.dice-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}.dice-foot code{font:700 18px var(--font-mono);color:var(--accent);user-select:text}.small-btn{font-size:13px}.song-screen{flex:1;overflow:auto;padding:12px}.song-grid{display:grid;gap:6px;align-items:stretch}.song-grid>*{min-height:58px;border-radius:var(--r-m)}.song-grid .cursor{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--focus) 22%,transparent)}.corner{padding:8px 10px;background:var(--panel)}.song-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.corner-sub{color:var(--dim);font-size:11px;font-family:var(--font-mono)}.track-head{background:var(--panel);border-top:4px solid var(--track);padding:6px 8px;display:flex;flex-direction:column;gap:2px}.track-head.muted{opacity:.55;border-top-color:var(--line-strong)}.track-head{transition:opacity var(--t-med)}.th-name{font-weight:700}.th-preset{color:var(--dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.th-btns{display:flex;gap:4px;align-items:center}.mini{padding:0 6px;font-size:11px;height:20px;border-radius:var(--r-s);box-shadow:inset 0 1px 0 var(--bevel-hi),0 1px 0 var(--bevel-lo)}.mini:active:not(:disabled){transform:translateY(1px)}.mini.mute.on{background:var(--ink);color:var(--bg);border-color:var(--ink);box-shadow:none}.mini.solo.on{background:var(--yellow);border-color:var(--yellow);color:var(--key-ink)}.vol-bar{flex:1;height:4px;background:var(--well);border-radius:2px;overflow:hidden}.vol-bar>div{height:100%;background:var(--track)}.add-track,.add-scene{display:grid;place-items:center;color:var(--dim);border:2px dashed var(--line);font-size:18px;cursor:pointer}.add-scene{font-size:14px}.scene-head{background:var(--panel);display:flex;align-items:center;gap:8px;padding:6px;position:relative;overflow:hidden}.scene-head.playing{background:color-mix(in srgb,var(--mint) 10%,var(--panel));box-shadow:inset 3px 0 0 var(--mint)}.scene-head.playing .scene-play{background:var(--mint);color:var(--accent-ink);border-color:var(--mint)}.scene-play{width:32px;height:32px;padding:0;border-radius:50%;flex:none}.sh-name{font-weight:600}.sh-meta{color:var(--dim);font-size:12px;min-height:14px}.sh-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--mint);width:0}.cell{background:var(--panel);position:relative;border-left:4px solid var(--track);overflow:hidden;cursor:pointer}.cell{transition:background-color var(--t-fast),box-shadow var(--t-med)}.cell:not(.empty):hover{background:var(--raise)}.cell.empty{background:transparent;border:1px dashed var(--line);border-left:4px dashed var(--line)}.cell.empty:hover{border-color:var(--line-strong)}.cell.empty:hover:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:18px}.cell.muted{opacity:.45;background-image:repeating-linear-gradient(135deg,transparent 0 6px,#ffffff08 6px 12px)}.cell.playing:not(.empty){background:color-mix(in srgb,var(--track) 9%,var(--panel));box-shadow:inset 0 0 0 2px var(--track),0 0 12px color-mix(in srgb,var(--track) 25%,transparent)}.cell.playing.beat:not(.empty){animation:beatpulse .22s ease-out}.scene-head.playing.beat .scene-play{animation:beatpulse .22s ease-out}@keyframes beatpulse{0%{filter:brightness(1.45)}to{filter:brightness(1)}}.cell-preview{position:absolute;inset:6px 22px 6px 6px;width:calc(100% - 28px);height:calc(100% - 12px)}.cell-bars{position:absolute;right:6px;bottom:4px;font-size:11px;color:var(--dim)}.filler{background:transparent}.empty-hint{grid-column:1 / -1;color:var(--dim);padding:20px}.editor{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(160px,1fr) auto}.ed-toolbar{display:flex;gap:8px;align-items:center;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.tb-btn{padding:4px 9px;font-size:13px}.tb-group{display:flex;gap:2px;align-items:center;padding:2px;background:var(--well);border-radius:calc(var(--r-m) + 2px)}.tb-group .tb-btn:not(.on){background:transparent;border-color:transparent;box-shadow:none}.tb-group .tb-btn:not(.on):hover:not(:disabled){background:var(--raise)}.tb-label{padding-left:6px}.tb-label{color:var(--dim);font-size:12px;margin-right:2px}.tb-value{min-width:18px;text-align:center;font-weight:700}.tb-track{display:flex;align-items:center;gap:2px;border-bottom:3px solid var(--track);font-weight:700}.tb-scene{display:flex;align-items:center;gap:2px;color:var(--dim)}.tb-arrow{background:none;border:none;font-size:18px;padding:0 6px}.menu-btn{margin-left:auto}.roll-wrap{position:relative;min-height:0;border-bottom:1px solid var(--line)}.focus-roll .roll-wrap{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.roll-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.panel-wrap{max-height:48vh;overflow:auto}.focus-panel .panel-wrap{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.panel{padding:8px 12px 12px;display:flex;flex-direction:column;gap:8px}.preset-bar{display:flex;align-items:center;gap:6px}.inst-name{font-weight:900;letter-spacing:.08em;font-size:18px;margin-right:auto;display:flex;align-items:baseline;gap:10px}.inst-role{font-weight:400;letter-spacing:0;font-size:12px;opacity:.65}.preset-name{min-width:180px;font-weight:600}.preset-step{width:34px;padding:6px 0}.panel-body{display:flex;flex-direction:column;gap:8px;border-radius:14px;padding:10px 12px}.knob-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.section-title.small{margin:0 0 18px 8px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px}.knob{display:flex;flex-direction:column;align-items:center;width:62px;cursor:ns-resize;border-radius:var(--r-m);padding:2px 0 4px;touch-action:none}.knob.size-s{width:48px}.knob.size-l{width:74px}.knob-svg{width:44px;height:44px}.knob.size-s .knob-svg{width:34px;height:34px}.knob.size-l .knob-svg{width:58px;height:58px}.knob-track{fill:none;stroke:var(--well);stroke-width:4.5;stroke-linecap:round}.knob-val{fill:none;stroke:var(--knob, var(--accent));stroke-width:4.5;stroke-linecap:round;transition:filter var(--t-med),stroke-width var(--t-med)}.knob-cap{fill:var(--raise);stroke:var(--line-strong);stroke-width:1;transition:fill var(--t-fast)}.knob-dot{stroke:var(--knob-dot, var(--ink));stroke-width:2.5;stroke-linecap:round}.knob:hover .knob-cap{fill:var(--raise-hi)}.knob.turning .knob-val{filter:drop-shadow(0 0 3px var(--knob, var(--accent)));stroke-width:5.5}.knob.turning .knob-cap{fill:var(--raise-hi)}.knob.turning .knob-value{color:var(--knob, var(--accent));opacity:1}.knob-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.8;text-align:center}.knob-value{font:600 11px var(--font-mono);opacity:.9}.switch{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:6px 8px;border-radius:var(--r-m);position:relative}.switch:before{content:"";position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--well);box-shadow:inset 0 0 0 1px var(--line)}.switch.on:before{background:currentColor;box-shadow:0 0 6px currentColor}.switch-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.switch-value{font-weight:700;font-size:13px}.keyboard-wrap{display:flex;gap:6px;align-items:stretch;margin-top:4px}.oct-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 8px}.oct-btn small{font-size:10px;opacity:.7}.keyboard{flex:1;display:flex;gap:3px;height:70px}.key{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:4px 2px;border-radius:0 0 8px 8px;background:var(--key-white);color:var(--key-ink);border:none;font-size:11px;touch-action:none}.key small{font-size:10px;font-weight:700;color:var(--key-chord)}.key.black{background:var(--key-black);color:var(--dim);height:70%}.key{box-shadow:inset 0 -3px #0002;transition:transform var(--t-fast),background-color var(--t-fast)}.key.down,.key:active{background:var(--track);color:var(--key-ink);transform:translateY(2px);box-shadow:inset 0 -1px #0002,0 0 12px color-mix(in srgb,var(--track) 45%,transparent)}.keyboard.chromatic .key{min-width:0}.shortcut{background:var(--panel);border-radius:14px;padding:10px 16px 16px;max-width:94vw;max-height:90vh;overflow:auto}.sc-grid{display:grid;gap:4px;margin-top:4px}.sc-head{font-size:12px;font-weight:700;border-bottom:3px solid var(--track);padding:2px 4px}.sc-head.on,.sc-scene.on{color:var(--yellow)}.sc-scene{font-size:12px;padding:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-cell{height:26px;border-radius:6px;background:var(--well);border-left:3px solid var(--line)}.sc-cell.has{background:color-mix(in srgb,var(--track) 35%,transparent);border-left-color:var(--track)}.sc-cell.cursor{outline:3px solid var(--focus)}.mixer{flex:1;overflow:auto;display:flex;gap:8px;padding:12px;align-items:stretch}.strip{width:150px;flex:none;background:var(--panel);border-radius:12px;border-top:4px solid var(--track);padding:8px;display:flex;flex-direction:column;gap:8px}.strip.master{border-top-color:var(--accent);background:var(--panel);margin-left:auto}.strip-head{min-height:34px}.strip-name{font-weight:800}.strip-preset{font-size:11px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-slot{background:var(--well);border-radius:8px;padding:5px;display:flex;flex-direction:column;gap:4px;height:104px;flex:none}.fx-slot.on{background:color-mix(in srgb,var(--track, var(--accent)) 8%,var(--well))}.fx-type{font-size:12px;text-align:left;padding:4px 6px;display:flex;gap:6px;align-items:baseline}.fx-num{font-size:10px;color:var(--dim)}.fx-slot:not(.on){background:transparent;border:1px dashed var(--line)}.fx-slot:not(.on) .fx-type{color:var(--dim);border:none;background:transparent;box-shadow:none}.fx-knobs,.strip-row{display:flex;justify-content:space-around;align-items:flex-end;gap:4px}.strip-fader{flex:1;display:flex;gap:8px;justify-content:center;min-height:170px}.fader{display:flex;flex-direction:column;align-items:center;gap:4px;width:56px;border-radius:8px;padding:2px}.fader-track{flex:1;width:10px;background:var(--well);box-shadow:inset 0 1px 2px #0008;border-radius:7px;position:relative;cursor:ns-resize;touch-action:none;min-height:120px}.fader-fill{position:absolute;left:0;right:0;bottom:0;background:var(--track, var(--accent));border-radius:7px;opacity:.55}.fader-cap{position:absolute;left:-9px;right:-9px;height:14px;background:var(--cap);border-radius:var(--r-s);box-shadow:inset 0 -2px #0000002a,0 2px 6px var(--shadow);background-image:linear-gradient(var(--key-ink),var(--key-ink));background-size:70% 2px;background-position:center;background-repeat:no-repeat;transition:transform var(--t-fast)}.fader.turning .fader-cap{transform:scaleX(1.08)}.fader.turning .fader-fill{opacity:.85}.meter{width:8px;border-radius:4px;position:relative;overflow:hidden;background:linear-gradient(0deg,var(--mint) 0%,var(--mint) 70%,var(--yellow) 85%,var(--coral) 100%)}.meter-fill{position:absolute;left:0;right:0;top:0;background:var(--well);height:100%}.meter.clip{box-shadow:0 0 0 1px var(--rec)}.strip .knob{width:54px}.strip .switch{min-width:0}.count-in{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:90;pointer-events:none;font:900 160px/1 var(--font-display);color:var(--rec);text-shadow:0 6px 40px var(--shadow)}.count-in.pop{animation:countpop .35s ease-out}@keyframes countpop{0%{transform:translate(-50%,-50%) scale(1.35);opacity:.4}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.preset-save{font-size:12px;padding:6px 10px}.lib-actions{display:flex;gap:8px;flex-wrap:wrap}.lib-list{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}.lib-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;text-align:left;padding:9px 12px}.lib-row.current{border-color:var(--yellow)}.lib-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-meta,.lib-date{color:var(--dim);font-size:12px;white-space:nowrap}.pg-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:6px}.pg-head{border-top:4px solid var(--track, var(--line));padding:4px 6px}.pg-role{font-weight:800}.pg-target{font-size:11px;color:var(--dim)}.pg-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;min-height:62px;padding:8px}.pg-cell.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pg-name{font-weight:700;font-size:13px}.pg-dots{font-family:var(--font-mono);font-size:8px;letter-spacing:0;opacity:.7;max-width:100%;overflow:hidden;white-space:nowrap}.pg-cell{overflow:hidden;min-width:0}.pg-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dialog.wide:has(.phrase-grid){width:min(900px,96vw)}.learn-banner{position:fixed;left:50%;top:56px;transform:translate(-50%);z-index:80;background:color-mix(in srgb,var(--purple) 16%,var(--panel));border:1px solid var(--purple);color:var(--ink);padding:8px 12px;border-radius:var(--r-m);display:flex;gap:8px;align-items:center;box-shadow:0 8px 30px var(--shadow);max-width:94vw;font-size:13px}.learn-count{color:var(--dim)}.learning [data-param]{outline:1px dashed color-mix(in srgb,var(--purple) 55%,transparent);outline-offset:1px}[data-param].learned:after{content:"MIDI";position:absolute;font:700 8px system-ui;background:var(--purple);color:var(--white);padding:0 3px;border-radius:3px;margin-top:-4px}.knob,.switch,.fader{position:relative}[data-param].learn-target{outline:3px solid var(--purple)!important;outline-offset:2px}.drag-ghost{position:fixed;z-index:95;pointer-events:none;background:var(--panel);border:2px solid var(--track);border-radius:8px;padding:6px 10px;font-weight:700;font-size:13px;box-shadow:0 8px 24px var(--shadow)}.cell.drop-target{outline:3px dashed var(--yellow);outline-offset:2px}.cell.carry-src{outline:3px dashed var(--yellow);opacity:.7}.song-grid .cell:not(.empty){cursor:grab}.chip-btn.stuck{border-color:color-mix(in srgb,var(--yellow) 45%,transparent)}.cards{display:flex;flex-direction:column;gap:4px}.card{background:var(--well);border-radius:8px;padding:4px 8px;font-size:13px}.dice-grid .die:nth-child(7){grid-column:span 4;min-height:0}.scope{position:fixed;right:16px;bottom:16px;z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 12px 40px var(--shadow);cursor:move}.scope-bar{display:flex;gap:4px;align-items:center;margin-bottom:4px}.scope-title{margin-right:auto;font-size:12px;color:var(--mint)}.scope-src{font:inherit;font-size:12px;background:var(--raise);color:var(--ink);border:1px solid var(--line);border-radius:5px}.scope-canvas{display:block;border-radius:8px;width:360px;height:220px}@media(prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}button:active:not(:disabled),.key.down,.key:active{transform:none}}.panel{--knob: var(--track)}.panel .inst-name{color:var(--track)}.panel-body{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--track);box-shadow:inset 0 1px 0 var(--bevel-hi)}.panel .switch.on{background:color-mix(in srgb,var(--track) 18%,var(--raise));border-color:var(--track);color:var(--ink);box-shadow:inset 0 1px 0 var(--bevel-hi),0 2px 0 var(--bevel-lo),0 0 10px color-mix(in srgb,var(--track) 25%,transparent)}.panel .switch.on .switch-value{color:var(--track)}.panel .switch.on:before{background:var(--track);box-shadow:0 0 6px var(--track)}.panel .key small{color:var(--key-chord)}.panel.kind-drums .panel-body,.panel.kind-analog .panel-body{flex-direction:row;flex-wrap:wrap;gap:16px}.pads{display:grid;grid-template-columns:repeat(4,84px);grid-template-rows:repeat(2,72px);gap:8px}.pads.four{grid-template-columns:repeat(2,84px);grid-template-rows:repeat(2,72px)}.pad{background:var(--raise);border:1px solid var(--line);border-radius:var(--r-m);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px 8px;touch-action:none;box-shadow:inset 0 1px 0 var(--bevel-hi),0 3px 0 var(--bevel-lo);transition:background-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-med)}.pad.selected{border-color:var(--track);box-shadow:inset 0 0 0 1px var(--track),inset 0 1px 0 var(--bevel-hi),0 3px 0 var(--bevel-lo)}.pad:active,.pad.down,.pad.hit{background:var(--track);color:var(--key-ink);transform:translateY(3px);box-shadow:0 0 0 var(--bevel-lo),0 0 18px color-mix(in srgb,var(--track) 55%,transparent);transition-duration:0s}.pad-num{font-size:11px;opacity:.6}.pad-label{font-weight:800}.pad-smp{font-size:10px;opacity:.65}.part-edit{display:flex;flex-direction:column;gap:6px}.modules{display:flex;gap:8px;flex-wrap:wrap}.module{display:flex;gap:2px;align-items:flex-end;flex-wrap:wrap;max-width:300px;padding:6px 8px 4px;border-radius:var(--r-m);background:var(--well);border-top:3px solid var(--mod)}.module.m0{--mod: var(--coral)}.module.m1{--mod: var(--purple)}.module.m2{--mod: var(--inst-poly)}.module.m3{--mod: var(--inst-acid)}.module-title{width:100%;font-weight:900;letter-spacing:.1em;font-size:12px;text-transform:uppercase;color:var(--mod)}.panel.kind-lead .inst-name{font-style:italic}.panel.kind-wobble .inst-name{text-shadow:0 0 10px color-mix(in srgb,var(--track) 60%,transparent)}.panel.kind-acid .knob-value{color:var(--track)}.brand,.logo,.inst-name,.die-value,.th-name,.sh-name,.strip-name,.pick-name,.song-title,.go-btn,.roll-btn,.module-title,.pg-role,.count-in,.timer,.tb-trackname,.lib-title{font-family:var(--font-display)}.brand,.logo{letter-spacing:.12em;text-transform:uppercase}.inst-name{letter-spacing:.06em;text-transform:uppercase}.menu-title,.dialog-title,.section-title,.die-label,.knob-label,.switch-label,.tb-label,.fx-num,.pad-num{font-family:var(--font-display);letter-spacing:.1em}.timer{font-weight:700;letter-spacing:.04em}.timer,.knob-value,.tb-value,.stepper-value,.die-value,.cell-bars,.switch-value,.sh-meta,.chip-btn,.lib-date{font-variant-numeric:tabular-nums}.inst-role{text-transform:none;letter-spacing:0;font-family:var(--font-ui)}@media(max-width:1150px){.topbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex:none}.chip-btn.title{display:none}}@media(max-width:920px){.topbar{gap:5px;padding:5px 8px}.chip-btn{padding:5px 8px}.tp-btn{min-width:34px}.tp-btn.mode{min-width:0}.brand{letter-spacing:.06em}.timer{font-size:17px;padding:2px 6px}.dice-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.dice-grid .die:nth-child(5),.dice-grid .die:nth-child(6),.dice-grid .die:nth-child(7){grid-column:span 2}}.panel.kind-sampler .panel-body{flex-direction:row;flex-wrap:wrap;gap:16px}.sound-btn{display:flex;flex-direction:column;align-items:flex-start;min-width:140px;padding:6px 10px}.pad.drop-target{outline:2px dashed var(--yellow);outline-offset:2px}.drop-hint{align-self:center;margin-left:8px}.wt-view{width:168px;height:64px;border-radius:var(--r-m);border:1px solid var(--line);align-self:center;margin-right:6px}.panel.kind-chip .inst-name{letter-spacing:.14em}.zoom-value{min-width:46px}.chip-btn.ext-tempo{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 55%,transparent)}.couch{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:6px;padding:6px}.couch-cell{min-width:0;min-height:0;display:flex}.couch-strip{grid-column:1 / 3;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 10px;background:var(--panel);border:2px solid var(--seat);border-radius:var(--r-m)}.couch-strip.active{box-shadow:0 0 0 2px var(--seat),0 0 18px color-mix(in srgb,var(--seat) 40%,transparent)}.strip-group{display:flex;align-items:center;gap:4px}.strip-group.scenes{flex-wrap:wrap}.strip-label{font-family:var(--font-display);color:var(--seat);margin-right:2px}.strip-value{min-width:64px;text-align:center;font-variant-numeric:tabular-nums}.strip-btn{background:var(--raise);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-s);padding:4px 9px;cursor:pointer;font:inherit}.strip-btn:hover{background:var(--raise-hi)}.strip-btn.on{background:var(--cyan);color:var(--accent-ink);border-color:transparent}.strip-btn.rec.on{background:var(--coral);color:var(--accent-ink)}.strip-btn.scene.playing{box-shadow:inset 0 -3px 0 var(--mint)}.strip-btn.end{color:var(--dim)}.strip-queue{color:var(--yellow);font-family:var(--font-display);min-width:90px}.quad{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:2px solid var(--seat);border-radius:var(--r-m);overflow:hidden}.quad-head{display:flex;align-items:center;gap:8px;padding:4px 10px;background:color-mix(in srgb,var(--seat) 16%,var(--panel));border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden}.seat-badge{font-family:var(--font-display);background:var(--seat);color:var(--accent-ink);border-radius:var(--r-s);padding:0 7px}.quad-inst{font-family:var(--font-display);color:var(--track)}.quad-preset,.quad-device{color:var(--dim);font-size:12px}.conductor-badge{color:var(--yellow);font-size:12px}.quad .spacer{flex:1}.quad.empty{border-style:dashed;align-items:center;justify-content:center;background:transparent;color:var(--dim);text-align:center}.join-title{font-family:var(--font-display);font-size:22px;color:var(--seat);margin-bottom:6px}.quad .editor{flex:1;min-height:0;display:flex;flex-direction:column}.couch-ed .ed-toolbar{padding:4px 6px;gap:6px}.couch-ed .roll-wrap,.couch-ed .panel-wrap,.couch-ed .mix-wrap{flex:1;min-height:0;max-height:none;overflow:auto}.couch-ed .roll-wrap{overflow:hidden}.couch-ed.view-roll .panel-wrap,.couch-ed.view-roll .mix-wrap,.couch-ed.view-panel .roll-wrap,.couch-ed.view-panel .mix-wrap,.couch-ed.view-mix .roll-wrap,.couch-ed.view-mix .panel-wrap{display:none}.couch-ed .mix-wrap{display:flex;justify-content:center;padding:6px}.couch-ed .mix-wrap .strip{width:170px}.tb-group.tabs .tb-btn{min-width:52px}.toast.in-quad{position:absolute;bottom:12px;z-index:60}body.couch-mode .overlay-layer{background:color-mix(in srgb,var(--bg) 35%,transparent)}body.couch-mode .overlay-layer.menu-layer{background:transparent}.together .row-btn{display:block;text-align:left;width:100%}.together-title{font-family:var(--font-display);font-size:16px}.together .row-btn.primary .note,.together .row-btn.navfocus .note{color:inherit;opacity:.85}.quad.remote .ed-toolbar{opacity:.55;pointer-events:none}.quad.unheard{opacity:.7}.muted-badge{color:var(--coral);font-size:12px}.join-code,.big-code{font-family:var(--font-display);font-size:40px;letter-spacing:6px;color:var(--yellow);text-align:center}.big-code{font-size:56px;margin:8px 0}.strip-btn.muted{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 50%,transparent)}.game-code{color:var(--yellow)}.text-input{width:100%;box-sizing:border-box;background:var(--well);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-s);padding:7px 9px;font:inherit}.code-input{text-transform:uppercase;letter-spacing:4px;font-family:var(--font-display);font-size:20px}.field{display:grid;gap:4px;margin-bottom:8px;color:var(--dim)}.advanced{margin:6px 0;color:var(--dim)}.advanced summary{cursor:pointer;margin-bottom:6px}body.phone{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body.phone #app{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}body.phone .topbar.rails{display:contents}body.phone .screen-host{grid-column:2;grid-row:1;min-width:0}.rail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;background:var(--panel);overflow:auto;scrollbar-width:none}.rail-left{grid-column:1;grid-row:1;border-right:1px solid var(--line)}.rail-right{grid-column:3;grid-row:1;border-left:1px solid var(--line)}.rail-gap{flex:1;min-height:4px;min-width:4px}.rail-btn{width:52px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:transparent;color:var(--ink);border:none;border-radius:var(--r-m);padding:3px 0;font:inherit;flex:none}.rail-btn:disabled{opacity:.35}.rail-btn.on{background:var(--raise);color:var(--cyan)}.rail-btn.rec{color:var(--coral)}.rail-btn.rec.on{background:var(--coral);color:var(--accent-ink)}.rail-btn.play.on{background:var(--mint);color:var(--accent-ink)}.rail-glyph{font-size:20px;line-height:1}.rail-glyph.small{font-family:var(--font-display);font-size:15px}.rail-label{font-size:10px;color:var(--dim);letter-spacing:.02em}.rail-btn.on .rail-label,.rail-btn.rec.on .rail-label,.rail-btn.play.on .rail-label{color:inherit}.rail .timer{font-size:12px;padding:2px 4px}.rail .locked-badge{font-size:9px;writing-mode:vertical-rl}@media(orientation:portrait){body.phone #app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}body.phone .screen-host{grid-column:1;grid-row:2}body.phone .rail{flex-direction:row;padding:4px 6px}body.phone .rail-left{grid-column:1;grid-row:1;border-right:none;border-bottom:1px solid var(--line)}body.phone .rail-right{grid-column:1;grid-row:3;border-left:none;border-top:1px solid var(--line);justify-content:space-around}body.phone .rail-btn{width:46px}body.phone .rail .locked-badge{writing-mode:horizontal-tb}}body.phone .couch-ed .ed-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}body.phone .couch-ed .tb-btn,body.phone .tb-btn{min-height:34px}body.phone .menu-item{min-height:40px}body.phone .song-screen,body.phone .mixer{-webkit-overflow-scrolling:touch}.editor:not(.couch-ed) .mix-wrap{display:none}body.phone .couch:has(.quad.mine){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:4px;gap:4px}body.phone .couch:has(.quad.mine) .couch-cell{display:none}body.phone .couch:has(.quad.mine) .couch-cell:has(.quad.mine){display:flex;grid-row:1;grid-column:1}body.phone .couch:has(.quad.mine) .couch-strip{grid-row:2;grid-column:1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}body.phone .tb-trackname{white-space:nowrap}.tb-tools{display:contents}@media(orientation:portrait){body.phone .couch-ed .ed-toolbar{flex-wrap:wrap;overflow-x:visible;row-gap:4px}body.phone .couch-ed .ed-toolbar .menu-btn{margin-left:auto}body.phone .couch-ed .tb-tools{display:flex;flex-basis:100%;gap:6px;overflow-x:auto;scrollbar-width:none}body.phone .couch-ed .tb-tools .tb-label{display:none}}.couch-ed .ed-toolbar .menu-btn{order:1}@media(orientation:portrait){body.phone .couch-ed .ed-toolbar .menu-btn{order:0}body.phone .couch-ed .tb-tools{order:2}}@media(orientation:portrait){body.phone .couch-ed .ed-toolbar{gap:4px;padding:4px}body.phone .couch-ed .tb-group{gap:2px}body.phone .couch-ed .tb-group.tabs .tb-btn{min-width:0;padding-left:9px;padding-right:9px}body.phone .couch-ed .tb-btn{padding-left:8px;padding-right:8px}body.phone .couch-ed .tb-tools{min-width:0;max-width:100%;justify-content:space-between}}@media(orientation:portrait){body.phone #app{width:100vw;overflow:hidden}body.phone .rail{min-width:0}body.phone .rail-btn{width:auto;flex:1 1 0;min-width:0}body.phone .rail-left .rail-gap{display:none}}body.phone .editor,body.phone .couch-ed .ed-toolbar{min-width:0}@media(orientation:portrait)and (max-width:374px){body.phone .couch-ed .tb-tools .tb-btn{padding-left:5px;padding-right:5px}body.phone .couch-ed .tb-tools{gap:3px}body.phone .couch-ed .tb-tools .tb-value{min-width:0;padding:0 3px}}body.phone .panel-body.thumplab{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"pads" "mods" "master";gap:10px;padding:8px}body.phone .thumplab .pads.four{grid-area:pads;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,68px);gap:8px}body.phone .thumplab .pad{width:auto;padding:8px 10px}body.phone .thumplab .pad-label{font-size:17px}body.phone .thumplab .modules{grid-area:mods;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.phone .thumplab .module{max-width:none;justify-content:space-evenly;align-content:flex-start;padding:6px 4px 4px}body.phone .thumplab .module-title{padding-left:4px}body.phone .thumplab>.knob-row{grid-area:master;justify-content:center}@media(orientation:landscape){body.phone .panel-body.thumplab{grid-template-columns:220px minmax(0,1fr);grid-template-areas:"pads mods" "master mods";align-items:start}}body.phone .preset-bar{flex-wrap:nowrap;min-width:0}body.phone .inst-role{display:none}body.phone .inst-name{white-space:nowrap;flex:none}body.phone .preset-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.phone .preset-save{flex:none;padding-left:8px;padding-right:8px}body.phone .thumplab .pads.four{grid-template-rows:repeat(2,60px)}@media(orientation:landscape){body.phone .thumplab .module{flex-wrap:nowrap;gap:0;justify-content:space-between}body.phone .thumplab .module-title{position:absolute}body.phone .thumplab .module{position:relative;padding-top:18px}}@media(orientation:landscape){body.phone .thumplab .module-title{top:3px;left:8px}body.phone .thumplab .module .knob{width:auto;flex:1 1 0;min-width:0}body.phone .thumplab .module .knob-label{font-size:9px;letter-spacing:0}body.phone .thumplab .module .knob-value{font-size:10px}}:root{--dmd: #ffa62b}.dmd{display:inline-block;vertical-align:middle;overflow:visible}.dmd .on{fill:currentColor}.dmd .off{fill:currentColor;opacity:.13}.logo{color:var(--dmd);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--dmd) 45%,transparent))}.tagline{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:color-mix(in srgb,var(--dmd) 70%,var(--dim))}.brand{color:var(--dmd);display:flex;align-items:center;padding:4px 6px}.timer{color:var(--dmd);display:inline-flex;align-items:center}.timer.on{padding:5px 9px}.nudge-btn{background:var(--raise);color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 45%,var(--line))}.die.nudged{animation:nudge .42s ease-out}@keyframes nudge{0%{transform:translate(0) rotate(0)}20%{transform:translate(-5px) rotate(-1.5deg)}45%{transform:translate(4px) rotate(1deg)}70%{transform:translate(-2px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.die.nudged{animation:none}}.tilt-flash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--dmd);pointer-events:none}.tilt-flash .dmd{max-width:86vw;height:auto!important;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--dmd) 55%,transparent));animation:tilt-blink .22s steps(1) 5}@keyframes tilt-blink{50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.tilt-flash .dmd{animation:none}}.row-btn.extra-ball{color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 45%,var(--line));font-family:var(--font-display);letter-spacing:.12em}body:not(.phone) #app{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}body:not(.phone) .topbar.rails{display:contents}body:not(.phone) .rail-screens{grid-column:1;grid-row:1 / 3;border-right:1px solid var(--line)}body:not(.phone) .topstrip{grid-column:2;grid-row:1;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;min-width:0}body:not(.phone) .screen-host{grid-column:2;grid-row:2;min-width:0}body:not(.phone) .rail-btn{width:60px}.rail-sep{width:70%;height:1px;background:var(--line);margin:4px 0;flex:none}body.phone .rail-screens{grid-column:3;grid-row:1;border-left:1px solid var(--line)}@media(orientation:portrait){body.phone .rail-screens{grid-column:1;grid-row:3;border-left:none;border-top:1px solid var(--line);justify-content:space-around}body.phone .rail-screens .rail-gap,body.phone .rail-screens .rail-sep{display:none}}body:not(.phone) .backbox{grid-column:2;grid-row:1;display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--panel);border-bottom:1px solid var(--line);min-width:0}.dmd-display{display:flex;align-items:center;gap:14px;min-width:0;max-width:560px;padding:6px 14px;border-radius:var(--r-m);background:#07090f;border:1px solid #2a2016;box-shadow:inset 0 0 18px #000c,0 0 0 1px #0008;color:var(--dmd);cursor:pointer;font:inherit}.dmd-display:hover{border-color:color-mix(in srgb,var(--dmd) 40%,#2a2016)}.dmd-timer{flex:none;display:flex;align-items:center;min-width:84px;justify-content:center}.dmd-timer.hurry{color:var(--rec);animation:pulse .8s infinite}.dmd-timer.done{color:var(--rec)}.free-play{display:flex;flex-direction:column;gap:3px;align-items:center;opacity:.8}.dmd-info{display:flex;flex-direction:column;gap:5px;min-width:0;overflow:hidden;position:relative}.dmd-line{white-space:nowrap;overflow:hidden;line-height:0}.dmd-line.locked{color:var(--rec)}.backbox .transport,.backbox .chip-btn{flex:none}.rail-btn.brand{color:var(--dmd)}.dmd-info{min-width:300px}.dmd-msg{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;pointer-events:none}.dmd-msg .dmd{flex:none}.dmd-info.showing-msg .dmd-line{visibility:hidden}@media(prefers-reduced-motion:reduce){.dmd-msg .dmd{transform:none!important}}@media(max-width:1000px){.dmd-info{min-width:240px}}body:not(.phone) .editor:not(.couch-ed) .ed-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px}body:not(.phone) .editor:not(.couch-ed) .ed-toolbar>*{flex:none}.ed-toolbar .spacer{flex:1 1 0!important;min-width:0}.layout-seg .tb-btn.seg{min-width:0;padding-left:9px;padding-right:9px}.editor.layout-roll:not(.couch-ed){grid-template-rows:auto minmax(160px,1fr)}.editor.layout-roll:not(.couch-ed) .panel-wrap{display:none}.editor.layout-panel:not(.couch-ed){grid-template-rows:auto minmax(0,1fr)}.editor.layout-panel:not(.couch-ed) .roll-wrap{display:none}.editor.layout-panel:not(.couch-ed) .panel-wrap{max-height:none}@media(max-width:1150px){body:not(.phone) .editor:not(.couch-ed) .tb-label{display:none}}.lbl-short{display:none}@media(max-width:1150px){body:not(.phone) .editor:not(.couch-ed) .lbl-long{display:none}body:not(.phone) .editor:not(.couch-ed) .lbl-short{display:inline}body:not(.phone) .editor:not(.couch-ed) .ed-toolbar{gap:4px;padding-left:6px;padding-right:6px}body:not(.phone) .editor:not(.couch-ed) .tb-btn{padding-left:7px;padding-right:7px}}.cell .lamp{position:absolute;left:6px;top:6px;width:9px;height:9px;border-radius:50%;z-index:1;background:color-mix(in srgb,var(--track) 22%,#000);box-shadow:inset 0 1px 1px #0008}.cell.playing:not(.empty) .lamp{background:radial-gradient(circle at 40% 35%,#fff 0 18%,var(--track) 55%);box-shadow:0 0 6px var(--track),0 0 14px color-mix(in srgb,var(--track) 70%,transparent)}.cell.playing:not(.empty){border-left-color:color-mix(in srgb,var(--track) 70%,#fff)}.cell.queued:not(.empty) .lamp{animation:lamp-blink .5s steps(1) infinite}.cell.queued:not(.empty){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--track) 60%,transparent)}@keyframes lamp-blink{0%{background:var(--track);box-shadow:0 0 8px var(--track)}50%{background:color-mix(in srgb,var(--track) 22%,#000);box-shadow:none}}.scene-head.queued .scene-play{animation:lamp-blink .5s steps(1) infinite;--track: var(--mint)}@media(prefers-reduced-motion:reduce){.cell.queued .lamp,.scene-head.queued .scene-play{animation:none}}.add-track,.add-scene{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;border-radius:var(--r-m);transition:border-color var(--t-fast),color var(--t-fast),background-color var(--t-fast)}.add-track:hover,.add-scene:hover,.add-track.cursor,.add-scene.cursor{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.add-plus{font-size:28px;line-height:1;font-weight:300}.add-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.add-scene{min-height:64px;flex-direction:row;gap:8px}.add-scene .add-plus{font-size:24px}.strip.master{margin-left:0}.fx-add{flex:none;font-size:12px;padding:6px 8px;color:var(--dim);background:transparent;border:1px dashed var(--line);border-radius:var(--r-s);cursor:pointer}.fx-add:hover,.fx-add.navfocus{color:var(--accent);border-color:var(--accent)}.mixer .strip-fader{min-height:220px}.mixer .fader-track{min-height:180px}.dice-screen{padding:14px 16px 0;gap:14px;justify-content:flex-start}.dice-head .logo{margin-bottom:2px}.reels{display:grid;grid-template-columns:minmax(84px,.8fr) minmax(110px,1.1fr) minmax(84px,.8fr) minmax(90px,.85fr) minmax(130px,1.4fr) minmax(130px,1.4fr) minmax(150px,1.7fr);gap:10px;width:min(1180px,100%)}.die.reel{min-height:0;padding:10px 10px 8px;gap:6px;border-radius:14px;display:flex;flex-direction:column;text-align:center;align-items:stretch}.die.reel .die-label{text-align:center}.reel-window{flex:1;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:10px;background:linear-gradient(#0003,#0000 30% 70%,#0003),var(--well);box-shadow:inset 0 2px 6px #0009,inset 0 -2px 6px #0007;overflow:hidden}.reel .die-value{font-size:24px;line-height:1.1;overflow-wrap:anywhere}.reel-scale .die-value,.reel-swing .die-value{font-size:18px}.reel .lineup{justify-content:center}.reel .cards{width:100%}.reel .card{font-size:11px;text-align:left}.die.reel.locked{border-color:color-mix(in srgb,var(--dmd) 70%,var(--line));background:var(--panel)}.hold{align-self:center;font:700 11px var(--font-display);letter-spacing:.16em;padding:4px 14px;border-radius:999px;color:var(--dim);background:var(--raise);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--bevel-hi)}.hold.on{color:#1a0f00;background:var(--dmd);border-color:transparent;box-shadow:0 0 10px color-mix(in srgb,var(--dmd) 70%,transparent),inset 0 1px #fff6}.die-lock{display:none}.dice-foot{margin-top:auto}.dice-bar{position:sticky;bottom:0;z-index:2;width:calc(100% + 32px);margin:0 -16px;padding:10px 16px 12px;display:flex;gap:14px;align-items:stretch;justify-content:center;flex-wrap:wrap;background:linear-gradient(transparent,var(--bg) 16px);border-top:1px solid var(--line);background-color:color-mix(in srgb,var(--bg) 92%,transparent)}.dice-bar .roll-btn{padding:10px 26px;font-size:24px}.dice-bar .go-btn{padding:10px 30px;min-width:210px}.press-start{animation:press-start 1.1s steps(1) infinite;font-family:var(--font-display);letter-spacing:.08em}@keyframes press-start{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.press-start{animation:none}}@media(max-width:1100px){.reels{grid-template-columns:repeat(4,minmax(0,1fr))}.reel-cards{grid-column:span 2}}body.phone .reels{grid-template-columns:repeat(2,minmax(0,1fr))}body.phone .reel-lineup,body.phone .reel-presets,body.phone .reel-cards{grid-column:span 2}body.phone .reel-window{min-height:64px}body.phone .dice-bar{gap:8px}body.phone .dice-bar .roll-btn,body.phone .dice-bar .go-btn{padding:8px 14px;font-size:18px;min-width:0}.dice-foot{margin-top:0;margin-bottom:auto}.dice-head{margin-top:auto}.knob-track,.knob-val{stroke-width:var(--arc-w, 4.5);stroke-dasharray:var(--arc-dash, none);stroke-linecap:var(--arc-cap, round)}.knob-cap{fill:var(--cap-fill, var(--raise));stroke:var(--cap-edge, var(--line-strong));stroke-width:var(--cap-edge-w, 1);stroke-dasharray:var(--cap-dash, none)}.knob-dot{stroke:var(--knob-dot, var(--ink));stroke-width:var(--dot-w, 2.5)}.knob:hover .knob-cap,.knob.turning .knob-cap{fill:var(--cap-hover, var(--raise-hi))}.panel .inst-name{padding:3px 10px;border-radius:var(--r-s);border:1px solid color-mix(in srgb,var(--track) 35%,transparent);background:color-mix(in srgb,var(--track) 8%,transparent);line-height:1.15}.panel.kind-drums .inst-name{background:var(--track);color:#1a0a0c;border:none;border-radius:3px;letter-spacing:.2em;box-shadow:inset 0 -2px #0003}.panel.kind-drums{--arc-w: 5.5;--arc-cap: butt;--cap-fill: #241a22;--cap-edge: color-mix(in srgb, var(--track) 40%, #000)}.panel.kind-analog .inst-name{color:#2a1607;border:none;border-radius:4px;padding:3px 18px;background:radial-gradient(circle at 7px 50%,#0006 0 2px,transparent 2.5px),radial-gradient(circle at calc(100% - 7px) 50%,#0006 0 2px,transparent 2.5px),repeating-linear-gradient(90deg,#ffffff14 0 1px,transparent 1px 3px),var(--track)}.panel.kind-analog{--cap-dash: 1.2 1.2;--cap-edge: color-mix(in srgb, var(--track) 70%, #000);--cap-edge-w: 1.6;--cap-fill: #2a2018}.panel.kind-acid .inst-name{font-family:var(--font-mono);background:#0d1306;color:var(--track);border:1px solid color-mix(in srgb,var(--track) 45%,#000);box-shadow:inset 0 0 8px #000a;text-shadow:0 0 6px color-mix(in srgb,var(--track) 60%,transparent)}.panel.kind-acid{--arc-w: 3;--cap-fill: #141a10;--knob-dot: var(--track)}.panel.kind-wobble .inst-name{border-radius:999px;background:transparent;border:2px solid var(--track);box-shadow:0 0 10px color-mix(in srgb,var(--track) 45%,transparent),inset 0 0 8px color-mix(in srgb,var(--track) 30%,transparent)}.panel.kind-wobble{--cap-edge: var(--track);--cap-edge-w: 1.5;--cap-fill: #1f1428}.panel.kind-poly .inst-name{border-radius:999px;background:color-mix(in srgb,var(--track) 18%,transparent);border-color:transparent}.panel.kind-poly{--cap-fill: #e7e2d6;--cap-hover: #f4f0e6;--cap-edge: #0004;--knob-dot: #1d2640}.panel.kind-pad .inst-name{border:none;background:linear-gradient(90deg,color-mix(in srgb,var(--track) 30%,transparent),transparent);border-radius:var(--r-m) 0 0 var(--r-m)}.panel.kind-pad{--cap-fill: color-mix(in srgb, var(--track) 16%, var(--raise));--cap-edge: color-mix(in srgb, var(--track) 35%, transparent);--arc-w: 3.5}.panel.kind-lead .inst-name{transform:skew(-12deg);border-radius:2px;background:color-mix(in srgb,var(--track) 14%,transparent);border-left:4px solid var(--track)}.panel.kind-lead{--dot-w: 1.6;--knob-dot: var(--track);--arc-w: 3.5}.panel.kind-chip .inst-name{font-family:var(--font-mono);border-radius:0;border:none;background:color-mix(in srgb,var(--track) 14%,transparent);box-shadow:0 0 0 2px var(--track),4px 4px color-mix(in srgb,var(--track) 40%,#000)}.panel.kind-chip{--arc-dash: 2.4 1.6;--arc-cap: butt;--arc-w: 5;--cap-fill: #1b1838}.panel.kind-fm .inst-name{background:linear-gradient(180deg,#ffffff12,transparent 60%),color-mix(in srgb,var(--track) 10%,transparent);border:1px solid color-mix(in srgb,var(--track) 60%,transparent);letter-spacing:.18em;font-weight:600}.panel.kind-fm{--arc-w: 2.5;--cap-edge: color-mix(in srgb, var(--track) 70%, transparent);--cap-fill: #23252a}.panel.kind-wave .inst-name{background:linear-gradient(110deg,color-mix(in srgb,var(--track) 26%,transparent) 50%,transparent 50%);border-color:color-mix(in srgb,var(--track) 50%,transparent)}.panel.kind-wave{--arc-dash: .1 3.4;--arc-w: 4.5;--cap-fill: #14241a}.panel.kind-sampler .inst-name{background:#e8e4d8;color:#222;border:none;border-radius:2px;transform:rotate(-1.2deg);box-shadow:0 2px 4px #0006;letter-spacing:.1em}.panel.kind-sampler{--cap-edge: #000;--cap-edge-w: 2;--cap-fill: #2b3040}body:not(.phone) #app{display:flex;flex-direction:column}body:not(.phone) .topbar.deskbar{display:flex;align-items:center;gap:10px;padding:6px 10px;flex-wrap:nowrap;min-width:0;background:var(--panel);border-bottom:1px solid var(--line)}.tilt-logo{flex:none;background:none;border:none;box-shadow:none;padding:4px 6px;color:var(--dmd);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--dmd) 35%,transparent))}.tilt-logo:hover:not(:disabled){background:var(--raise)}.dmd-wrap{flex:0 1 auto;min-width:0;display:flex;align-items:stretch;border-radius:var(--r-m);background:#07090f;border:1px solid #2a2016;box-shadow:inset 0 0 18px #000c,0 0 0 1px #0008}.dmd-wrap .dmd-display{background:transparent;border:none;box-shadow:none;min-width:0;flex:1 1 auto}.dmd-bulb{flex:none;background:transparent;border:none;border-left:1px solid #2a2016;border-radius:0 var(--r-m) var(--r-m) 0;box-shadow:none;padding:0 10px;font-size:18px;filter:saturate(.7)}.dmd-bulb:hover:not(:disabled){background:#1a1308;filter:none drop-shadow(0 0 6px var(--dmd))}.scr-seg{flex:none;display:flex;gap:2px;padding:3px;background:var(--well);border-radius:calc(var(--r-m) + 3px)}.scr-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:58px;padding:4px 10px;background:transparent;border:1px solid transparent;box-shadow:none;color:var(--ink)}.scr-glyph{font-size:16px;line-height:1}.scr-label{font:700 10px var(--font-display);letter-spacing:.14em;color:var(--dim)}.scr-tab:hover:not(:disabled):not(.on){background:var(--raise)}.scr-tab:hover:not(:disabled):not(.on) .scr-label{color:var(--ink)}button.scr-tab.on,button.scr-tab.on:hover:not(:disabled),button.scr-tab.on:focus-visible{background:color-mix(in srgb,var(--dmd) 20%,var(--raise));color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 65%,transparent);filter:none;box-shadow:0 0 10px color-mix(in srgb,var(--dmd) 35%,transparent),inset 0 0 8px color-mix(in srgb,var(--dmd) 22%,transparent)}button.scr-tab.on .scr-label{color:var(--dmd)}.deskbar .transport,.deskbar .chip-btn{flex:none}@media(max-width:1000px){body:not(.phone) .topbar.deskbar{gap:6px;padding:5px 6px}.dmd-info{min-width:120px}.dmd-timer{min-width:64px}.scr-tab{min-width:48px;padding:4px 7px}.deskbar .mode-label{display:none}}button.rail-btn.on,button.rail-btn.on:hover:not(:disabled){background:color-mix(in srgb,var(--dmd) 18%,var(--raise));color:var(--dmd);border-color:transparent;filter:none}button.rail-btn.on .rail-label,button.rail-btn.on:hover:not(:disabled) .rail-label{color:var(--dmd)}button.rail-btn.rec.on,button.rail-btn.rec.on:hover:not(:disabled){background:var(--coral);color:var(--accent-ink)}button.rail-btn.play.on,button.rail-btn.play.on:hover:not(:disabled){background:var(--mint);color:var(--accent-ink)}button.rail-btn.rec.on .rail-label,button.rail-btn.play.on .rail-label{color:var(--accent-ink)}@media(max-width:999px){body:not(.phone) .editor:not(.couch-ed) .ed-toolbar{flex-wrap:wrap;overflow-x:visible;row-gap:5px}body:not(.phone) .editor:not(.couch-ed) .ed-toolbar .spacer{display:none}}.song-grid>.add-track{position:sticky;right:0;z-index:3;background:var(--bg);box-shadow:-8px 0 10px var(--bg)}.key.lit{background:var(--track);color:var(--key-ink);box-shadow:inset 0 -1px #0002,0 0 12px color-mix(in srgb,var(--track) 45%,transparent)}.key.black.lit{background:color-mix(in srgb,var(--track) 80%,#000);color:var(--ink)}.pad.lit{background:var(--track);color:var(--key-ink);box-shadow:0 0 14px color-mix(in srgb,var(--track) 50%,transparent)}body:not(.phone) .panel-body.thumplab{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr) auto;grid-template-areas:"pads mods master";align-items:stretch;gap:14px}body:not(.phone) .thumplab .pads.four{grid-area:pads;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(70px,1fr));gap:8px}body:not(.phone) .thumplab .pad{width:auto;padding:10px 12px}body:not(.phone) .thumplab .pad-label{font-size:17px}body:not(.phone) .thumplab .modules{grid-area:mods;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body:not(.phone) .thumplab .module{max-width:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;justify-items:center;gap:2px;padding:6px 8px}body:not(.phone) .thumplab .module-title{grid-column:1 / -1;justify-self:start}body:not(.phone) .thumplab .module .knob{width:auto}body:not(.phone) .thumplab>.knob-row{grid-area:master;flex-direction:column;justify-content:center;padding-left:14px;border-left:1px solid var(--line)}.reel-value{background:transparent;border:none;box-shadow:none;padding:4px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink);border-radius:var(--r-s)}.reel-value:hover:not(:disabled){background:#ffffff0c}.reel-step{display:flex;gap:6px}.step-btn{min-width:30px;padding:2px 8px;font-weight:800}.count-btn{font:700 13px var(--font-display);letter-spacing:.06em;padding:4px 10px;color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 40%,var(--line))}.slots{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.chip.slot{cursor:pointer;font:inherit;font-size:12px;padding:3px 8px}.chip.slot.surprise{opacity:.78;border-style:dashed}.chip.slot .q{color:var(--dmd);font-weight:900;margin-right:4px}.chip.slot.chosen{box-shadow:0 0 0 1px color-mix(in srgb,var(--dmd) 55%,transparent)}.hold.part{color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 50%,var(--line));background:color-mix(in srgb,var(--dmd) 10%,var(--raise))}.link-btn{background:none;border:none;box-shadow:none;padding:2px 4px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:12px;text-transform:none;letter-spacing:0}.link-btn:hover:not(:disabled){background:none;color:var(--ink)}.dice-foot.minor{margin:-6px 0 6px}.dice-bar .spacer{flex:1}.dice-bar .continue{align-self:center}.go-btn{font-family:var(--font-display);letter-spacing:.06em}.reels{grid-template-columns:minmax(84px,.8fr) minmax(110px,1.1fr) minmax(96px,.9fr) minmax(96px,.9fr) minmax(170px,1.7fr) minmax(170px,1.7fr)}.reels:has(.reel-cards){grid-template-columns:minmax(84px,.8fr) minmax(110px,1.1fr) minmax(96px,.9fr) minmax(96px,.9fr) minmax(160px,1.6fr) minmax(160px,1.6fr) minmax(150px,1.5fr)}.die-value.small{font-size:16px;color:var(--dim)}.preset-nudge{font:700 11px var(--font-display);letter-spacing:.1em;color:var(--dmd);border-color:color-mix(in srgb,var(--dmd) 45%,var(--line));padding:6px 10px}.switch-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-weight:700}.switch-row.on{border-color:var(--dmd);color:var(--dmd)}.game-list{margin:0 0 6px 18px;padding:0}@media(max-width:1000px){.reels,.reels:has(.reel-cards){grid-template-columns:repeat(4,minmax(0,1fr))}.reel-lineup,.reel-presets{grid-column:span 2}}@media(min-width:1500px){.reels{width:min(1480px,100%)}.dice-bar{padding-inline:max(16px,calc((100% - 1480px)/2))}.reel-window{min-height:clamp(160px,calc(100vh - 720px),320px)}.reel .die-value{font-size:34px}.reel-scale .die-value,.reel-swing .die-value{font-size:22px}.chip.slot{font-size:13px;padding:4px 10px}}body.phone .dice-bar{display:grid;grid-template-columns:1fr 1.5fr;gap:6px 8px;padding:8px 12px}body.phone .dice-bar .nudge-btn{grid-column:1;grid-row:1;padding:6px 10px}body.phone .dice-bar .nudge-btn small{display:none}body.phone .dice-bar .go-btn{grid-column:2;grid-row:1}body.phone .dice-bar .spacer{display:none}body.phone .dice-bar .timer-pick{grid-column:1 / -1;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}body.phone .dice-bar .timer-pick .seg-btn{padding:4px 9px}body.phone .dice-bar .continue{grid-column:1 / -1;justify-self:center;padding:3px 12px}
