:root{--bg: #0b0f11;--panel: #121a1d;--panel-edge: #1f2f33;--teal: #2ee6c5;--teal-dim: #14524a;--amber: #ffab24;--text: #cfe6e2;--text-dim: #6d8a86}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:ui-rounded,SF Pro Rounded,-apple-system,system-ui,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#app{position:fixed;inset:0}:root{--kb-w: clamp(76px, 16vw, 240px)}#centre{position:fixed;top:0;bottom:0;left:calc(var(--kb-w) + env(safe-area-inset-left));right:calc(var(--kb-w) + env(safe-area-inset-right));z-index:10;display:flex;flex-direction:column;min-width:0;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));gap:8px}#topbar{flex:0 0 auto;display:flex;align-items:center;gap:8px}.tb-btn{appearance:none;border:1px solid var(--panel-edge);background:var(--panel);color:var(--text);font:inherit;font-size:13px;padding:7px 12px;border-radius:8px;touch-action:none;transition:background .12s ease,border-color .12s ease,color .12s ease}.tb-btn:active{transform:scale(.97)}.tb-btn.on{border-color:var(--teal);color:var(--teal);background:#10201e;box-shadow:0 0 12px #2ee6c52e}.tb-btn.warn{border-color:#5c3d0e;color:var(--amber)}.tb-spacer{flex:1 1 auto}#stats{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;line-height:1.4;white-space:nowrap}#stats b{color:var(--teal);font-weight:500}#panels{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}#panels::-webkit-scrollbar{width:0}#boot{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .4s ease}#boot.gone{opacity:0;pointer-events:none}.boot-inner{text-align:center;padding:24px}.boot-inner h1{margin:0 0 6px;font-size:34px;font-weight:500;letter-spacing:.06em;color:var(--teal);text-shadow:0 0 24px rgba(46,230,197,.35)}.boot-inner p{margin:0 0 22px;color:var(--text-dim);font-size:14px}.boot-note{font-size:12px!important;margin-top:20px!important}#boot-btn{appearance:none;border:1px solid var(--teal);background:transparent;color:var(--teal);font:inherit;font-size:17px;letter-spacing:.08em;padding:14px 52px;border-radius:999px;box-shadow:0 0 28px #2ee6c533}#boot-btn:active{background:#2ee6c51a}#boot-btn[disabled]{opacity:.5}.boot-err{color:var(--amber)!important;max-width:460px}#diag{flex:0 0 auto;font-size:12px;line-height:1.4;padding:5px 9px;border-radius:7px;border:1px solid var(--panel-edge);background:var(--panel)}#diag.ok{color:var(--text-dim);border-color:var(--panel-edge)}#diag.warn{color:var(--amber);border-color:#5c3d0e}@media(max-width:640px){:root{--kb-w: clamp(64px, 18vw, 120px)}}.tsk-root{--tsk-bg: #0b0f11;--tsk-panel: #121a1d;--tsk-panel-edge: #1f2f33;--tsk-teal: #2ee6c5;--tsk-teal-dim: #14524a;--tsk-amber: #ffab24;--tsk-amber-dim: #5c3d0e;--tsk-text: #cfe6e2;--tsk-text-dim: #6d8a86;--tsk-key-white: #e8f4f1;--tsk-key-black: #0e1416;--tsk-kb-w: clamp(76px, 16vw, 240px);--tsk-release: .34s;position:fixed;inset:0;z-index:20;pointer-events:none;font-family:ui-sans-serif,-apple-system,SF Pro Text,Helvetica Neue,sans-serif}.tsk-board{position:absolute;top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);width:var(--tsk-kb-w);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:var(--tsk-bg, #0b0f11);isolation:isolate}.tsk-board--left{left:env(safe-area-inset-left);--tsk-dir: 90deg}.tsk-board--right{right:env(safe-area-inset-right);--tsk-dir: 270deg}.tsk-board:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--tsk-panel-edge, #1f2f33);opacity:.9;pointer-events:none;z-index:9}.tsk-board--left:after{right:0}.tsk-board--right:after{left:0}.tsk-key{position:absolute;box-sizing:border-box;display:flex;align-items:center;overflow:visible;pointer-events:auto}.tsk-key:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(var(--tsk-dir, 90deg),var(--pc, #2ee6c5),var(--pc-45, rgba(46, 230, 197, .45)));box-shadow:0 0 26px 4px var(--pc-45, rgba(46, 230, 197, .45));opacity:0;transition:opacity var(--tsk-release) cubic-bezier(.22,.61,.36,1);pointer-events:none}.tsk-key:before{content:"";position:absolute;top:12%;bottom:12%;width:4px;z-index:2;border-radius:3px;background:var(--pc, #2ee6c5);opacity:.6;box-shadow:0 0 8px 0 var(--pc-22, rgba(46, 230, 197, .22));transition:opacity var(--tsk-release) ease-out,box-shadow var(--tsk-release) ease-out;pointer-events:none}.tsk-board--left .tsk-key:before{left:4px}.tsk-board--right .tsk-key:before{right:4px}.tsk-label{position:relative;z-index:3;font-size:10px;line-height:1;letter-spacing:.08em;font-weight:500;color:var(--tsk-text-dim, #6d8a86);opacity:.8;pointer-events:none;transition:color var(--tsk-release) ease-out,opacity var(--tsk-release) ease-out}.tsk-board--left .tsk-key{justify-content:flex-start}.tsk-board--right .tsk-key{justify-content:flex-end}.tsk-board--left .tsk-label{margin-left:16px}.tsk-board--right .tsk-label{margin-right:16px}.tsk-key--white{left:0;right:0;z-index:1;border-radius:0 13px 13px 0;background-color:var(--tsk-key-white, #e8f4f1);background-image:linear-gradient(var(--tsk-dir, 90deg),var(--pc-22, rgba(46, 230, 197, .22)) 0%,var(--pc-10, rgba(46, 230, 197, .1)) 18%,rgba(11,15,17,.2) 46%,rgba(11,15,17,.42) 100%);box-shadow:inset 0 1px #0b0f118c,inset 0 -1px #ffffff59}.tsk-board--right .tsk-key--white{border-radius:13px 0 0 13px}.tsk-key--white .tsk-label{color:#3c5a56;opacity:.6}.tsk-key--black{z-index:3;border-radius:9px 0 0 9px;background-color:var(--tsk-key-black, #0e1416);background-image:linear-gradient(var(--tsk-dir, 90deg),rgba(255,255,255,.1) 0%,rgba(255,255,255,.02) 26%,rgba(0,0,0,.5) 100%);box-shadow:inset 0 1px #ffffff24,inset 0 -1px #000000d9,0 3px 10px #000000b3,0 0 0 1px #0b0f11e6}.tsk-board--left .tsk-key--black{right:0}.tsk-board--right .tsk-key--black{left:0;border-radius:0 9px 9px 0}.tsk-key--black .tsk-label{color:var(--tsk-text-dim, #6d8a86);opacity:.5}.tsk-key--black:before{opacity:.5}.tsk-key.is-latched:after{opacity:.6}.tsk-key.is-latched:before{opacity:.95;box-shadow:0 0 14px 1px var(--pc-45, rgba(46, 230, 197, .45))}.tsk-key.is-held:after{opacity:1;transition:none}.tsk-key.is-held:before{opacity:1;box-shadow:0 0 22px 3px var(--pc-70, rgba(46, 230, 197, .7));transition:none}.tsk-key.is-held .tsk-label,.tsk-key.is-latched .tsk-label{color:#06100f;opacity:.85}.tsk-key.is-latched .tsk-label{opacity:.7}.tsk-key.is-held:after{box-shadow:0 0 34px 6px var(--pc-45, rgba(46, 230, 197, .45))}@media(max-height:420px){.tsk-label{display:none}}@media(max-width:640px){.tsk-root{--tsk-kb-w: clamp(64px, 18vw, 120px)}.tsk-label{display:none}}@media(prefers-reduced-motion:reduce){.tsk-root{--tsk-release: 90ms}}.mx{--mx-bg: #0b0f11;--mx-panel: #121a1d;--mx-edge: #1f2f33;--mx-teal: #2ee6c5;--mx-teal-dim: #14524a;--mx-amber: #ffab24;--mx-amber-dim: #5c3d0e;--mx-text: #cfe6e2;--mx-text-dim: #6d8a86;--mx-cell-w: clamp(38px, 4.2vw, 58px);--mx-cell-h: clamp(36px, 6.2vh, 52px);--mx-rowhead-w: clamp(62px, 7vw, 92px);--mx-gap: 3px;--mx-radius: 10px;position:relative;width:100%;max-width:min(100%,64vw);min-width:0;margin:0 auto;border-radius:var(--mx-radius);background:var(--mx-panel);box-shadow:inset 0 0 0 1px var(--mx-edge),0 10px 26px -18px #000;color:var(--mx-text);font-family:ui-sans-serif,-apple-system,SF Pro Text,system-ui,Helvetica Neue,sans-serif;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.mx,.mx *:not(svg):not(path){box-sizing:border-box}.mx-head{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:var(--mx-radius);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.mx-head:focus-visible{outline:1px solid var(--mx-teal);outline-offset:-2px}.mx[data-collapsed=false] .mx-head{border-radius:var(--mx-radius) var(--mx-radius) 0 0;box-shadow:inset 0 -1px 0 0 var(--mx-edge)}.mx-chev{flex:0 0 auto;width:7px;height:7px;margin-left:2px;border-right:1.5px solid var(--mx-teal);border-bottom:1.5px solid var(--mx-teal);transform:rotate(-45deg);transition:transform .22s ease}.mx[data-collapsed=false] .mx-chev{transform:rotate(45deg)}.mx-title{flex:0 0 auto;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mx-text)}.mx-count{flex:0 0 auto;margin-left:auto;font-size:10px;letter-spacing:.04em;color:var(--mx-text-dim);font-variant-numeric:tabular-nums}.mx-minis{display:flex;align-items:center;gap:12px;margin-left:14px;transition:opacity .2s ease}.mx[data-collapsed=false] .mx-minis{opacity:0;pointer-events:none}.mx-mini{display:flex;align-items:center;gap:5px}.mx-mini-label{font-size:9px;letter-spacing:.06em;color:var(--mx-text-dim)}.mx-mini-meter{width:42px}.mx-meter{position:relative;display:block;height:4px;border-radius:2px;overflow:hidden;background:#070b0c;box-shadow:inset 0 0 0 1px var(--mx-edge);color:var(--mx-text-dim)}.mx-meter[data-uni=false]:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--mx-edge);z-index:1}.mx-meter[data-sign="+"]{color:var(--mx-teal)}.mx-meter[data-sign="-"]{color:var(--mx-amber)}.mx-meter-fill{position:absolute;top:0;bottom:0;left:50%;width:50%;transform:scaleX(0);transform-origin:left center;background:currentColor;box-shadow:0 0 8px -1px currentColor;will-change:transform}.mx-meter[data-uni=true] .mx-meter-fill{left:0;width:100%}.mx-body{height:0;overflow:hidden;transition:height .26s cubic-bezier(.22,.68,.34,1)}.mx-inner{padding:10px 12px 9px}.mx-scroll{max-height:min(46vh,340px);overflow:auto;contain:inline-size;min-width:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--mx-edge) transparent;touch-action:pan-x pan-y}.mx-scroll::-webkit-scrollbar{height:6px;width:6px}.mx-scroll::-webkit-scrollbar-thumb{background:var(--mx-edge);border-radius:3px}.mx-grid{display:grid;gap:var(--mx-gap);width:max-content;min-width:100%}.mx-colhead{align-self:end;padding-bottom:3px;font-size:9px;letter-spacing:.02em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--mx-text-dim);touch-action:pan-x pan-y}.mx-rowhead{display:flex;flex-direction:column;justify-content:center;gap:5px;padding-right:8px;touch-action:pan-x pan-y}.mx-rowhead-top{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.mx-src{font-size:11px;letter-spacing:.03em;color:var(--mx-text)}.mx-num{font-size:9px;color:var(--mx-text-dim);font-variant-numeric:tabular-nums}.mx-cell{position:relative;height:var(--mx-cell-h);border-radius:4px;overflow:hidden;background:linear-gradient(180deg,#ffffff06,#00000038);box-shadow:inset 0 0 0 1px var(--mx-edge);color:var(--mx-text-dim);cursor:ns-resize;touch-action:none}.mx-cell:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--mx-edge)}.mx-cell[data-sign="+"]{color:var(--mx-teal)}.mx-cell[data-sign="-"]{color:var(--mx-amber)}.mx-cell:focus-visible{outline:1px solid var(--mx-teal);outline-offset:1px}.mx-cell.is-editing{background:#2ee6c50d}.mx-fill{position:absolute;left:3px;right:3px;top:50%;height:50%;transform:scaleY(0);transform-origin:center top;background:currentColor;opacity:.5;border-radius:1px}.mx-cell.is-routed .mx-fill{opacity:.62}.mx-glow{position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;box-shadow:inset 0 0 0 1px currentColor,inset 0 0 12px -4px currentColor}.mx-val{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-size:9px;line-height:1;font-variant-numeric:tabular-nums;color:currentColor;text-shadow:0 1px 2px #000,0 0 3px #000}.mx-cell[data-sign="-"] .mx-val{top:2px;bottom:auto}.mx-cell[data-sign="0"] .mx-val{opacity:.45}.mx-foot{padding-top:8px;font-size:9px;letter-spacing:.03em;color:var(--mx-text-dim);opacity:.75}@media(prefers-reduced-motion:reduce){.mx-body,.mx-chev,.mx-minis{transition:none}}.ts-rack{--ts-bg: #0b0f11;--ts-panel: #121a1d;--ts-edge: #1f2f33;--ts-teal: #2ee6c5;--ts-teal-dim: #14524a;--ts-amber: #ffab24;--ts-amber-dim: #5c3d0e;--ts-text: #cfe6e2;--ts-dim: #6d8a86;--ts-knob: 58px;--ts-gap: 8px;--ts-radius: 9px;--ts-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;position:relative;display:flex;flex-direction:column;gap:var(--ts-gap);width:100%;height:100%;min-height:0;padding:0;background:var(--ts-bg);color:var(--ts-text);font-family:var(--ts-mono);font-size:11px;line-height:1.2;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.ts-rack *,.ts-rack *:before,.ts-rack *:after{box-sizing:border-box}.ts-rack button{margin:0;font:inherit;color:inherit;background:none;border:none;cursor:pointer;touch-action:manipulation}.ts-rack .ts-ico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ts-presetbar{flex:0 0 auto;display:flex;align-items:stretch;gap:4px;padding:4px;background:var(--ts-panel);border:1px solid var(--ts-edge);border-radius:var(--ts-radius)}.ts-pb-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;min-height:40px;color:var(--ts-dim);border-radius:6px;border:1px solid transparent}.ts-pb-btn:active{color:var(--ts-teal);border-color:var(--ts-teal-dim);background:#0e181a}.ts-pb-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:4px 10px;text-align:left;border-radius:6px;border:1px solid var(--ts-edge);background:#0e161899}.ts-pb-name:active{border-color:var(--ts-teal-dim)}.ts-pb-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:.04em;color:var(--ts-teal);text-shadow:0 0 10px rgba(46,230,197,.35)}.ts-pb-name[data-dirty="1"] .ts-pb-title{color:var(--ts-amber);text-shadow:0 0 10px rgba(255,171,36,.3)}.ts-pb-sub{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ts-dim)}.ts-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--ts-gap);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--ts-edge) transparent}.ts-scroll::-webkit-scrollbar{width:5px}.ts-scroll::-webkit-scrollbar-thumb{background:var(--ts-edge);border-radius:3px}.ts-group{flex:0 0 auto;background:var(--ts-panel);border:1px solid var(--ts-edge);border-radius:var(--ts-radius);overflow:hidden}.ts-group-head{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 10px;text-align:left;letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:var(--ts-text)}.ts-group-head:active{background:#0e1618}.ts-chev{flex:0 0 auto;width:12px;height:12px;fill:none;stroke:var(--ts-teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .14s ease}.ts-group[data-collapsed="1"] .ts-chev{transform:rotate(-90deg)}.ts-group[data-collapsed="1"] .ts-group-head{color:var(--ts-dim)}.ts-group[data-collapsed="1"] .ts-chev{stroke:var(--ts-dim)}.ts-group-label{flex:1 1 auto}.ts-group-count{flex:0 0 auto;padding:1px 5px;font-size:9px;color:var(--ts-dim);border:1px solid var(--ts-edge);border-radius:999px}.ts-group-body{display:block;padding:2px 8px 10px}.ts-group[data-collapsed="1"] .ts-group-body{display:none}.ts-knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--ts-knob),1fr));gap:6px 4px;justify-items:center}.ts-knob{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;padding:2px 0 0;touch-action:none;cursor:ns-resize}.ts-knob-svg{display:block;width:100%;max-width:var(--ts-knob);height:auto;aspect-ratio:1 / 1;overflow:visible}.ts-arc-bg{fill:none;stroke:#1b2a2d;stroke-width:3.2;stroke-linecap:round}.ts-arc-val{fill:none;stroke:var(--ts-teal);stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 0 2.5px rgba(46,230,197,.45))}.ts-arc-mod{fill:none;stroke:var(--ts-amber);stroke-width:2;stroke-linecap:butt;opacity:.42}.ts-hub{fill:#0e1618;stroke:var(--ts-edge);stroke-width:1}.ts-ptr{stroke:var(--ts-teal);stroke-width:2;stroke-linecap:round}.ts-ghost{stroke:var(--ts-amber);stroke-width:2;stroke-linecap:round;opacity:0}.ts-tick-c{stroke:var(--ts-dim);stroke-width:1;opacity:.7}.ts-knob-cap{position:relative;width:100%;height:12px;text-align:center;font-size:9px;letter-spacing:.06em;color:var(--ts-dim)}.ts-knob-name,.ts-knob-val{position:absolute;inset:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-knob-val{color:var(--ts-teal);opacity:0}.ts-knob[data-active="1"] .ts-knob-name{opacity:0}.ts-knob[data-active="1"] .ts-knob-val{opacity:1}.ts-knob[data-active="1"] .ts-hub{stroke:var(--ts-teal-dim)}.ts-scrim{position:absolute;inset:0;z-index:10;background:#0b0f1199}.ts-presetlist{position:absolute;z-index:11;top:52px;left:6px;right:6px;max-height:min(56vh,440px);display:flex;flex-direction:column;min-height:0;background:var(--ts-panel);border:1px solid var(--ts-teal-dim);border-radius:var(--ts-radius);box-shadow:0 10px 30px #0000008c;overflow:hidden}.ts-presetlist[hidden],.ts-scrim[hidden]{display:none}.ts-pl-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px}.ts-pl-row{display:flex;align-items:stretch;gap:4px;border-radius:6px}.ts-pl-row[data-sel="1"]{background:#0e2a28}.ts-pl-pick{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;text-align:left;font-size:12px;letter-spacing:.03em;border-radius:6px}.ts-pl-row[data-sel="1"] .ts-pl-pick{color:var(--ts-teal)}.ts-pl-pick:active{background:#0e1618}.ts-pl-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-pl-tag{flex:0 0 auto;padding:1px 5px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-amber);border:1px solid var(--ts-amber-dim);border-radius:999px}.ts-pl-del{flex:0 0 auto;width:34px;font-size:15px;color:var(--ts-dim);border-radius:6px}.ts-pl-del:active{color:var(--ts-amber);background:#1a1208}.ts-pl-foot{flex:0 0 auto;display:flex;gap:4px;padding:4px;border-top:1px solid var(--ts-edge)}.ts-pl-btn{flex:1 1 0;min-height:34px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ts-dim);border:1px solid var(--ts-edge);border-radius:6px}.ts-pl-btn:active{color:var(--ts-teal);border-color:var(--ts-teal-dim);background:#0e1618}@media(max-height:780px){.ts-rack{--ts-knob: 52px;--ts-gap: 6px}.ts-group-head{min-height:30px}.ts-group-body{padding-bottom:8px}}@media(max-height:640px){.ts-rack{--ts-knob: 46px}.ts-pb-btn{min-height:36px;width:36px}.ts-pb-title{font-size:13px}}@media(prefers-reduced-motion:reduce){.ts-chev{transition:none}}
