.pane-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}.floating-pane{position:absolute;display:flex;flex-direction:column;background:color-mix(in srgb,var(--ui-bg) 94%,transparent);border:1px solid var(--ui-border);border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.5);overflow:hidden}.floating-pane-title{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:28px;padding:0 4px 0 8px;background:var(--ui-surface-2);color:var(--ui-text);font-size:var(--ui-font-size);font-weight:600;cursor:move;user-select:none;touch-action:none}.floating-pane-label{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.floating-pane-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--ui-radius);background:none;color:var(--ui-text-dim);cursor:pointer}.floating-pane-close svg{width:14px;height:14px}.floating-pane-close:hover{background:var(--ui-danger);color:#fff}.floating-pane:focus-within{border-color:var(--ui-border-strong)}.floating-pane-edge-e,.floating-pane-edge-s{position:absolute;touch-action:none}.floating-pane-edge-e{top:28px;right:0;bottom:14px;width:5px;cursor:ew-resize}.floating-pane-edge-s{left:0;right:14px;bottom:0;height:5px;cursor:ns-resize}.floating-pane-body{flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.floating-pane-resize{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--ui-border-strong) 50%,var(--ui-border-strong) 60%,transparent 60%,transparent 75%,var(--ui-border-strong) 75%,var(--ui-border-strong) 85%,transparent 85%)}:root{color-scheme:dark;--ui-bg: #141414;--ui-surface: #1e1e1e;--ui-surface-2: #2a2a2a;--ui-border: #444;--ui-border-strong: #666;--ui-text: #ddd;--ui-text-dim: #999;--ui-primary: #3880ff;--ui-primary-soft: rgba(56, 128, 255, .28);--ui-success: #2dd36f;--ui-warning: #ffc409;--ui-danger: #eb445a;--ui-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ui-mono: Consolas, Menlo, monospace;--ui-font-size: 12px;--ui-control-h: 24px;--ui-icon: 16px;--ui-gap: 4px;--ui-pad: 6px;--ui-radius: 4px;--ui-bar-h: 36px;--ui-tabbar-h: 0px;--ui-safe-top: env(safe-area-inset-top, 0px);--ui-safe-bottom: env(safe-area-inset-bottom, 0px)}@media (max-width: 700px){:root{--ui-tabbar-h: 40px}}@media (max-width: 700px) and (pointer: coarse){:root{--ui-font-size: 14px;--ui-control-h: 36px;--ui-icon: 20px;--ui-gap: 6px;--ui-bar-h: 48px;--ui-tabbar-h: 56px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);font-size:var(--ui-font-size);line-height:1.35;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}h1,h2,h3,h4,h5,h6{margin:0 0 .4em;font-weight:600;line-height:1.2}h1{font-size:1.5em}h2{font-size:1.3em}h3{font-size:1.15em}h4,h5,h6{font-size:1em}p{margin:0 0 .5em}a{color:var(--ui-primary)}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--ui-surface-2) padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ui-border) padding-box}::-webkit-scrollbar-track{background:transparent}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:var(--ui-control-h);min-width:var(--ui-control-h);padding:0 8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-2);color:var(--ui-text);font:inherit;font-size:var(--ui-font-size);white-space:nowrap;cursor:pointer;user-select:none}.ui-btn:hover:not(:disabled){border-color:var(--ui-border-strong);color:#fff}.ui-btn:focus-visible,.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible,.ui-chip:focus-visible,.ui-list-item:focus-visible,.ui-slider-thumb:focus-visible{outline:2px solid var(--ui-primary);outline-offset:1px}.ui-btn:disabled{opacity:.45;cursor:default}.ui-btn svg{width:var(--ui-icon);height:var(--ui-icon);flex:0 0 auto}.ui-btn.icon{padding:0}.ui-btn.ghost{background:transparent;border-color:transparent}.ui-btn.ghost:hover:not(:disabled){background:var(--ui-surface-2)}.ui-btn.active{color:#fff;border-color:var(--ui-primary);background:var(--ui-primary-soft)}.ui-btn.ghost.active{color:var(--ui-primary);border-color:transparent;background:transparent}.ui-btn.primary{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}.ui-btn.success{color:var(--ui-success)}.ui-btn.danger{color:var(--ui-danger)}.ui-input,.ui-select{height:var(--ui-control-h);min-width:0;padding:0 6px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:var(--ui-font-size)}.ui-select{padding-right:2px;cursor:pointer}.ui-select option{background:var(--ui-surface);color:var(--ui-text)}.ui-select option:disabled{color:var(--ui-text-dim)}.ui-field{display:flex;align-items:center;gap:var(--ui-gap)}.ui-field>label{color:var(--ui-text-dim);white-space:nowrap}.ui-field.stack{flex-direction:column;align-items:stretch;gap:2px}.ui-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-gap)}.ui-col{display:flex;flex-direction:column;gap:var(--ui-gap)}.ui-spacer{flex:1 1 auto}.ui-dim{color:var(--ui-text-dim)}.ui-toggle{position:relative;width:calc(var(--ui-control-h) * 1.6);height:calc(var(--ui-control-h) * .75);padding:0;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);cursor:pointer}.ui-toggle[data-state=checked]{background:var(--ui-primary);border-color:var(--ui-primary)}.ui-toggle-thumb{display:block;width:calc(var(--ui-control-h) * .75 - 4px);height:calc(var(--ui-control-h) * .75 - 4px);border-radius:999px;background:#ddd;transform:translate(1px);transition:transform .1s}.ui-toggle[data-state=checked] .ui-toggle-thumb{transform:translate(calc(var(--ui-control-h) * .85 - 1px))}.ui-toggle-label{display:inline-flex;align-items:center;gap:var(--ui-gap);color:var(--ui-text-dim);white-space:nowrap;cursor:pointer}.ui-toggle-label.disabled{opacity:.45;cursor:default}.ui-slider{position:relative;display:flex;align-items:center;flex:1 1 80px;min-width:60px;height:var(--ui-control-h);touch-action:none;user-select:none}.ui-slider-track{position:relative;flex:1;height:4px;border-radius:2px;background:var(--ui-surface-2)}.ui-slider-range{position:absolute;height:100%;border-radius:2px;background:var(--ui-slider-color, var(--ui-primary))}.ui-slider[data-disabled]{opacity:.45}.ui-slider-thumb{display:block;width:calc(var(--ui-control-h) * .55);height:calc(var(--ui-control-h) * .55);border-radius:999px;background:#eee}.ui-popover,.ui-menu{z-index:10000;min-width:160px;max-width:min(420px,calc(100vw - 16px));max-height:var(--radix-popover-content-available-height, 80vh);overflow:auto;padding:var(--ui-pad);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font-family:var(--ui-font);font-size:var(--ui-font-size);box-shadow:0 6px 24px rgba(0,0,0,.5)}.ui-popover-title{margin:0 0 6px;font-weight:600}.ui-menu{padding:3px;max-height:var(--radix-dropdown-menu-content-available-height, 80vh)}.ui-menu-item{display:flex;align-items:center;gap:6px;min-height:var(--ui-control-h);padding:0 8px;border-radius:3px;cursor:pointer;outline:none}.ui-menu-item svg{width:var(--ui-icon);height:var(--ui-icon)}.ui-menu-item[data-highlighted]{background:var(--ui-primary-soft)}.ui-menu-item[data-disabled]{opacity:.45}.ui-menu-sep{height:1px;margin:3px 0;background:var(--ui-border)}.ui-table{width:100%;border-collapse:collapse;font-size:var(--ui-font-size)}.ui-table th,.ui-table td{padding:2px 6px;border-bottom:1px solid var(--ui-surface-2);text-align:left;white-space:nowrap}.ui-table th{color:var(--ui-text-dim);font-weight:400}.ui-toasts{position:fixed;left:50%;bottom:calc(var(--ui-tabbar-h) + var(--ui-safe-bottom) + 12px);transform:translate(-50%);z-index:10001;display:flex;flex-direction:column;gap:4px;pointer-events:none}.ui-toast{max-width:calc(100vw - 32px);padding:6px 12px;border-radius:var(--ui-radius);background:var(--ui-surface-2);border:1px solid var(--ui-border);color:var(--ui-text);font-size:var(--ui-font-size);box-shadow:0 4px 16px rgba(0,0,0,.5);pointer-events:auto}.ui-toast.error{border-color:var(--ui-danger)}.ui-textarea{min-height:calc(var(--ui-control-h) * 3);padding:4px 6px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:var(--ui-font-size);resize:vertical}.ui-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,.55)}.ui-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;width:min(520px,calc(100vw - 16px));max-height:calc(100vh - 32px);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font-family:var(--ui-font);font-size:var(--ui-font-size);box-shadow:0 10px 40px rgba(0,0,0,.6)}.ui-dialog-head{display:flex;align-items:center;gap:var(--ui-gap);padding:4px 4px 4px 10px;border-bottom:1px solid var(--ui-surface-2)}.ui-dialog-title{flex:1 1 auto;margin:0;font-size:inherit;font-weight:600}.ui-dialog-body{overflow:auto;padding:8px 10px 10px}.ui-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:var(--ui-gap);min-height:calc(var(--ui-control-h) + 8px);padding:3px var(--ui-pad);border-bottom:1px solid var(--ui-surface-2);background:var(--ui-surface)}.ui-toolbar-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ui-content{flex:1 1 auto;min-height:0;overflow:auto}.ui-content.padded{padding:var(--ui-pad)}.ui-grid{display:grid;gap:var(--ui-pad)}.ui-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ui-surface-2);border-radius:var(--ui-radius);background:var(--ui-surface);overflow:hidden}.ui-card.clickable{cursor:pointer}.ui-card.clickable:hover{border-color:var(--ui-border-strong)}.ui-card.active{border-color:var(--ui-primary);box-shadow:0 0 0 1px var(--ui-primary-soft)}.ui-card-head{display:flex;align-items:center;gap:var(--ui-gap);padding:4px var(--ui-pad)}.ui-card-titles{flex:1 1 auto;min-width:0}.ui-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ui-card-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text-dim)}.ui-card-actions{display:flex;flex:0 0 auto;gap:2px}.ui-card-body{padding:0 var(--ui-pad) var(--ui-pad)}.ui-list{display:flex;flex-direction:column}.ui-list-item{display:flex;align-items:center;gap:var(--ui-pad);min-height:calc(var(--ui-control-h) + 6px);padding:2px var(--ui-pad);border-bottom:1px solid var(--ui-surface-2);outline:none}.ui-list-item.clickable{cursor:pointer}.ui-list-item.clickable:hover{background:var(--ui-surface-2)}.ui-list-item.active{background:var(--ui-primary-soft)}.ui-list-start,.ui-list-end{display:flex;flex:0 0 auto;align-items:center;gap:var(--ui-gap)}.ui-list-main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ui-list-start svg,.ui-list-end svg{width:var(--ui-icon);height:var(--ui-icon)}.ui-chip{display:inline-flex;align-items:center;gap:4px;height:calc(var(--ui-control-h) - 2px);padding:0 10px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-2);color:var(--ui-text);font:inherit;font-size:var(--ui-font-size);white-space:nowrap}button.ui-chip{cursor:pointer}button.ui-chip:hover{border-color:var(--ui-border-strong)}.ui-chip.active{border-color:var(--ui-primary);background:var(--ui-primary-soft);color:#fff}.ui-chip svg{width:calc(var(--ui-icon) - 2px);height:calc(var(--ui-icon) - 2px)}.ui-badge{display:inline-block;padding:0 6px;border-radius:999px;font-size:calc(var(--ui-font-size) - 1px);line-height:1.6;background:var(--ui-surface-2);color:var(--ui-text-dim)}.ui-badge.primary{background:var(--ui-primary-soft);color:#fff}.ui-badge.success{color:var(--ui-success)}.ui-badge.warning{color:var(--ui-warning)}.ui-badge.danger{color:var(--ui-danger)}.ui-spinner{display:inline-block;width:var(--ui-icon);height:var(--ui-icon);border:2px solid var(--ui-surface-2);border-top-color:var(--ui-primary);border-radius:50%;animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.pane-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:var(--ui-pad);font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text)}.pane-toolbar{margin-bottom:var(--ui-pad)}.pane-live{width:6px;height:6px;border-radius:50%;background:var(--ui-success)}.pane-warning{margin:0 0 var(--ui-pad);padding:4px 8px;border-left:3px solid var(--ui-warning);background:rgba(255,196,9,.08)}.setlist-table tr{cursor:pointer}.setlist-table tr:hover td{background:var(--ui-surface-2)}.setlist-table tr.setlist-current td{background:var(--ui-primary-soft);color:#fff;font-weight:600}.setlist-missing{color:var(--ui-warning)}.hw-panel{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 16px}.hw-device{flex:1 1 440px;max-width:480px}.hw-device-with-list{flex:1 1 100%;max-width:100%}.hw-drawing{width:100%;height:auto;display:block}.hw-body{fill:var(--ui-surface-2);stroke:var(--ui-border);stroke-width:1.5}.hw-screen{fill:#111;stroke:#444;stroke-width:1}.hw-screen-text{fill:#4cff6b;font-family:monospace;font-size:6px;text-anchor:middle;pointer-events:none}.hw-pad-action{fill:#111;font-family:monospace;font-size:5px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.hw-knob{fill:var(--ui-text-dim);stroke:#333;stroke-width:1}.hw-track{fill:#444}.hw-fader-cap,.hw-btn,.hw-pad{fill:var(--ui-text-dim);stroke:#333;stroke-width:1}.hw-active .hw-body{stroke:var(--ui-warning);stroke-width:3;filter:drop-shadow(0 0 6px var(--ui-warning));transition:stroke .1s ease-in,filter .1s ease-in}.hw-control{cursor:pointer}.hw-control:hover{opacity:.75}.hw-control-hit{fill:var(--ui-warning);filter:drop-shadow(0 0 4px var(--ui-warning));transition:fill .1s ease-in,filter .1s ease-in}.hw-label{margin-top:4px;font-size:12px;display:flex;justify-content:space-between;opacity:.85}.hw-channels{opacity:.6}.hw-zoom{display:flex;align-items:center;gap:6px;margin-top:2px}.hw-zoom input[type=range]{flex:1}.hw-zoom-value{font-size:11px;opacity:.6;min-width:34px;text-align:right}.hw-midi-label{fill:#7fd7ff;font-family:monospace;font-size:4.5px;text-anchor:middle;pointer-events:none}.hw-device-col{display:flex;flex-direction:column;gap:8px}.hw-device-drawing-col{max-width:260px}.hw-mapping-list{width:100%;font-size:11px;max-height:340px;overflow-y:auto}.hw-mapping-list-title{font-weight:600;margin-bottom:4px;opacity:.8}.hw-mapping-table{width:100%;border-collapse:collapse}.hw-mapping-table th,.hw-mapping-table td{text-align:left;padding:1px 4px;border-bottom:1px solid var(--ui-surface-2)}.hw-mapping-learnt{color:var(--ui-warning)}.hw-mapping-action-input{width:100%;min-width:60px;font-size:11px;background:var(--ui-surface-2);color:inherit;border:1px solid var(--ui-border);border-radius:3px;padding:1px 3px;box-sizing:border-box}.hw-mapping-select{width:100%;min-width:48px;font-size:11px;background:var(--ui-surface-2);color:inherit;border:1px solid var(--ui-border);border-radius:3px;padding:1px 2px;box-sizing:border-box}.hw-mapping-num-input{width:100%;min-width:36px;font-size:11px;background:var(--ui-surface-2);color:inherit;border:1px solid var(--ui-border);border-radius:3px;padding:1px 3px;box-sizing:border-box}.hw-unmatched-device{opacity:.7;font-size:10px;margin-left:4px}.hw-mapping-btns{white-space:nowrap}.hw-mapping-btn{font-size:10px;padding:1px 5px;margin-right:2px;border-radius:3px;border:1px solid var(--ui-border);background:var(--ui-surface-2);color:inherit;cursor:pointer}.hw-mapping-btn:disabled{opacity:.4;cursor:default}.hw-no-midi{opacity:.4}.ui-popover.shader-popover-large{width:min(900px,90vw);max-width:90vw;height:80vh;max-height:80vh;padding:0;overflow:hidden;background:transparent}.shader-popover-large .popover-shader-list{height:100%}.popover-shader-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.popover-shader-editor-item{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.popover-shader-editor-item .cm-editor{height:100%;width:100%}.popover-shader-editor-item .cm-scroller{overflow:auto}.shader-card .ui-card-body{display:flex;flex-direction:column;padding:0}.shader-thumb{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--ui-bg)}.shader-card-foot{display:flex;align-items:center;gap:1px;padding:2px 2px 2px var(--ui-pad)}.shader-card-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-popover.shader-new-popover{width:min(600px,calc(100vw - 16px));max-width:calc(100vw - 16px)}.shader-new-frag{width:100%;font-family:var(--ui-mono);resize:vertical}.shader-editor-cm{position:relative;height:100%}.shader-editor-window-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.shader-editor-background-window{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.shader-editor-over-window{position:relative;background:transparent}.shader-editor-with-preview .cm-editor,.shader-editor-with-preview .cm-gutters{background-color:rgba(0,0,0,var(--editor-bg-alpha))!important}.shader-editor-with-preview .cm-content{text-shadow:0 0 2px #000,0 0 4px #000}.shader-editor-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;flex:0 0 auto;height:32px;padding:0 6px;font-size:12px;background:var(--ui-surface);overflow:hidden}.shader-editor-opacity{flex:1 1 60px;min-width:60px}.shader-editor-page{position:relative;flex:1 1 auto;min-height:0;height:100%}.shader-editor-missing{padding:var(--ui-pad)}.shader-editor-page .cm-scroller{scrollbar-width:none}.shader-editor-page .cm-scroller::-webkit-scrollbar{display:none}.shader-editor-toolbar.ps-toolbar{gap:var(--ui-pad);height:calc(var(--ui-control-h) + 8px);padding:0 var(--ui-pad);font-size:var(--ui-font-size);color:var(--ui-text);background:var(--ui-surface);border-bottom:1px solid var(--ui-surface-2)}.ps-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--ui-gap);white-space:nowrap;cursor:pointer}.ps-toolbar .shader-editor-opacity{flex:1 1 60px;min-width:60px}.ps-toolbar .ui-btn{flex:0 0 auto}.ps-toolbar .ui-btn.ps-send{color:var(--ui-primary)}.ps-toolbar .ui-btn.ps-save{color:var(--ui-success)}.ps-toolbar .ui-btn.ps-close{color:var(--ui-danger)}.uber-timeline{width:100%;color:var(--ui-text);background:rgba(0,0,0,.6);border-top:1px solid var(--ui-surface-2)}.uber-timeline-head{display:flex;align-items:center;gap:var(--ui-pad);padding:2px var(--ui-pad)}.uber-timeline-status{min-width:0;color:var(--ui-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uber-timeline-rows{max-height:30vh;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:2px 10px;padding:2px var(--ui-pad) 4px}.uber-timeline-row{display:flex;align-items:center;gap:var(--ui-pad);min-width:0;border-radius:var(--ui-radius)}.uber-timeline-row.current{background:rgba(255,152,0,.18)}.uber-timeline-seek{flex:0 0 auto;height:calc(var(--ui-control-h) - 4px);padding:0 4px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface-2);color:var(--ui-text);font-family:var(--ui-mono);font-size:11px;cursor:pointer}.uber-timeline-seek:hover{border-color:var(--ui-border-strong)}.uber-timeline-name{flex:0 0 90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uber-timeline-shader{flex:1 1 auto;min-width:0}.workbench-transport{display:flex;flex:0 0 auto;align-items:center;gap:var(--ui-pad);padding:2px var(--ui-pad);background:rgba(0,0,0,.6);color:var(--ui-text);font-size:var(--ui-font-size);flex-wrap:wrap}.workbench-transport .uber-timeline{flex:1 1 100%;margin:0 calc(-1 * var(--ui-pad))}.workbench-folder{max-width:160px}.workbench-time{white-space:nowrap;font-variant-numeric:tabular-nums}.workbench-seek{position:relative;display:flex;align-items:center;flex:1;min-width:120px}.workbench-tick{position:absolute;top:2px;width:4px;height:8px;margin-left:-2px;padding:0;border:none;border-radius:1px;background:#7104b1;cursor:pointer}.workbench-tick:hover{background:#fff}.workbench-status{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text-dim)}.workbench-loading{display:flex;flex-direction:column;height:100%;min-height:48px}.workbench-mem{display:inline-flex;align-items:center;gap:var(--ui-gap);white-space:nowrap;cursor:pointer}.workbench-render{max-width:70px}.strudel-editor{display:flex;flex-direction:column;height:100%;min-height:0}.strudel-editor-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:3px 6px;font-size:12px;color:#ccc}.strudel-editor-toolbar button{background:#333;color:#ddd;border:1px solid #555;border-radius:3px;padding:1px 8px;cursor:pointer}.strudel-editor-toolbar button.on{background:#2e7d32;border-color:#4caf50}.strudel-editor-status{margin-left:auto;color:#999;font-family:monospace}.strudel-editor-error{flex:0 0 auto;padding:2px 6px;font-size:11px;color:#ff8a80;background:rgba(120,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strudel-editor-code{flex:1 1 auto;min-height:0;overflow:hidden}.strudel-editor-code>div,.strudel-editor-code .cm-theme,.strudel-editor-code .cm-editor{height:100%}.strudel-editor-toolbar select{background:#333;color:#ddd;border:1px solid #555;border-radius:3px;font-size:11px}.strudel-editor-warning{color:#ffd180;background:rgba(120,80,0,.35)}.ws-mgmt{flex-wrap:nowrap;min-width:0;font-size:var(--ui-font-size)}.ws-mgmt-input{width:140px}.ws-mgmt-url{width:220px}.ws-mgmt-status{min-width:0;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uniform-row{padding:2px 8px;border:1px solid var(--ui-surface-2);border-radius:var(--ui-radius)}.uniform-row-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-gap)}.uniform-name{min-width:0;color:var(--ui-text-dim);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uniform-name.changed{color:var(--ui-warning)}.uniform-value-input{flex:0 0 64px;width:64px;text-align:right}.uniform-range{width:100%;height:20px}.uniform-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 12px;max-width:760px;margin:0 auto}.hw-list{display:flex;flex-direction:column;gap:calc(var(--ui-pad) * 2);font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text)}.hw-list-title{margin:0 0 var(--ui-gap);font-size:var(--ui-font-size);font-weight:600;color:var(--ui-text-dim)}.hw-list-table td{vertical-align:middle}.hw-list-select{min-width:48px;max-width:160px}.hw-list-num{width:56px}.hw-list-action{width:100%;min-width:100px}.hw-list-device{margin-left:var(--ui-gap)}.hw-list-btns{display:flex;gap:2px}.hw-list-status{margin:0}.hw-detail{font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text)}.hw-learn-status{margin:0 0 var(--ui-pad);padding:4px 8px;border-left:3px solid var(--ui-warning);background:rgba(255,196,9,.08);color:var(--ui-warning)}.note-dialog{width:min(500px,90vw)}.tab-beats{width:40px}#detail .hand{height:var(--ui-control-h);width:auto}.als-tab{margin:8px 0;font-size:var(--ui-font-size)}.als-tab-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-gap) 10px;margin:6px 0}.als-tab-source{flex:1 1 280px;min-width:0}.als-tab-small{width:140px}.als-tab-file input{display:none}.als-tab-status{color:var(--ui-text-dim);margin:4px 0;word-break:break-word}.als-tab-legend{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:4px 0}.als-tab-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;border:1px solid #666;vertical-align:-1px}.als-tab-hint{color:#888;font-size:11px}.als-tab-audio{width:100%;margin:4px 0}.als-tab-sheet{background:var(--ui-bg);border-radius:var(--ui-radius);padding:6px 4px;position:relative;overflow-y:auto}.als-tab-row{display:block;max-width:100%;height:auto;user-select:none}.als-tab-bar{cursor:pointer}.als-tab-bar-bg{fill:transparent}.als-tab-bar-current{fill:rgba(255,255,255,.07)}.als-tab-barnum{fill:#777;font-size:9px}.als-tab-section{fill:#e0a0ff;font-size:10px;font-weight:700}.als-tab-barline{stroke:#888;stroke-width:1}.als-tab-string{stroke:#555;stroke-width:1}.als-tab-stringname{fill:#999;font-size:11px;font-family:monospace}.als-tab-note{cursor:pointer}.als-tab-note-bg{fill:var(--ui-bg)}.als-tab-fret{font-size:13px;font-weight:700;font-family:monospace}.als-tab-fret.edited{text-decoration:underline}.als-tab-hold{stroke-width:2;opacity:.45}.als-tab-playhead{stroke:#ff9800;stroke-width:1.5}.als-tab-code{width:100%;font-family:var(--ui-mono)}.als-tab-transport{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0}.als-tab-transport .als-tab-audio{flex:1 1 300px;width:auto;height:32px}.track-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--ui-gap) 12px;margin:6px 0;font-size:var(--ui-font-size)}.track-panel label{display:flex;align-items:center;gap:6px;min-width:0}.track-panel label span{flex:0 0 72px;color:var(--ui-text-dim)}.track-panel input,.track-panel select{flex:1 1 auto;min-width:0}.track-panel-actions{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.track-panel-status{color:var(--ui-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabrow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.tabcol{display:flex;align-items:center;justify-content:center;gap:2px;min-height:var(--ui-control-h);background-color:#221a0b;border:solid 1px #fff;color:#fff;text-align:center;cursor:pointer}.fb{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:6px;padding:6px;font-size:12px;overflow:auto;color:var(--ui-text)}.fb-bar,.fb-guess,.fb-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.fb select,.fb button{font:inherit;height:24px;padding:0 6px;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface-2);color:inherit;cursor:pointer}.fb button.on{border-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 30%,transparent)}.fb button small{opacity:.6}.fb-sep{width:8px}.fb-hint,.fb-status{opacity:.75}.fb-status{margin-left:auto}.fb-scroll{overflow-x:auto}.fb-board{border-collapse:collapse;min-width:560px;width:100%;table-layout:fixed}.fb-board th{font-weight:400;opacity:.6;height:18px;width:26px}.fb-board thead th.dot{opacity:1;font-weight:700}.fb-board td{position:relative;height:30px;text-align:center;border-right:2px solid #777;background:linear-gradient(transparent calc(50% - 1px),#999 calc(50% - 1px),#999 calc(50% + 1px),transparent calc(50% + 1px));cursor:pointer}.fb-board td.open{background:none;border-right:5px solid #bbb}.fb .n{position:relative;display:inline-block;min-width:22px;height:22px;line-height:20px;padding:0 2px;border-radius:11px;font-size:11px;border:1px solid transparent;box-sizing:border-box}.fb .n.in{background:#2d5a8a;color:#fff}.fb .n.root{background:#c0392b;color:#fff;font-weight:700}.fb .n.out{background:transparent;border:1px dashed #e67e22;color:#e67e22}.fb .n.played{box-shadow:0 0 0 2px #f1c40f}.fb .n.marked{outline:2px solid #2ecc71;outline-offset:1px}.fb-legend .n{height:18px;line-height:16px;padding:0 6px}@media (max-width: 700px){.fb select,.fb button{height:36px}.fb-board td{height:40px}}.settings{display:flex;flex-direction:column;gap:calc(var(--ui-pad) * 2);font-family:var(--ui-font);font-size:var(--ui-font-size);color:var(--ui-text)}.settings-section{display:flex;flex-direction:column;gap:var(--ui-gap)}.settings-heading{margin:0;padding-bottom:2px;border-bottom:1px solid var(--ui-surface-2);font-size:var(--ui-font-size);font-weight:600;color:var(--ui-text-dim)}.settings .ui-field>label{flex:0 0 90px}.settings-input{flex:1 1 auto;max-width:320px}.settings-form{flex-wrap:nowrap}.settings-hint{font-size:calc(var(--ui-font-size) - 1px)}.settings-tracks tbody tr{cursor:pointer}.settings-tracks tbody tr:hover td{background:var(--ui-surface-2)}.settings-desc{white-space:normal}.settings-add td{color:var(--ui-primary)}.settings-add svg{width:12px;height:12px;vertical-align:-2px}.rotary{display:inline-block;position:relative}.rotary .dial{border-bottom-color:#4d8c75;border-bottom-style:solid;height:50%;left:50%;top:25%}.rotary .dial,.rotary .dial div{position:absolute;transition:border-bottom-color .25s}.rotary .dial div{border-bottom-color:#4d8c75;border-bottom-style:solid;border-left-color:rgba(0,0,0,0);border-left-style:solid;border-right-color:rgba(0,0,0,0);border-right-style:solid;height:0;margin:auto;right:0;top:0;width:0}.rotary.active .dial,.rotary.active .dial div,.rotary:hover .dial,.rotary:hover .dial div{border-bottom-color:#80ffd2}.rotary circle{fill:rgba(0,0,0,0);stroke-dashoffset:0;transform:rotate(155deg);transform-origin:50% 50%}.rotary circle.empty{stroke:#4d8c75}.rotary circle.full{stroke:#80ffd2}.parameter input::-webkit-inner-spin-button,.parameter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.parameter textarea{background:#080808;border:2px solid #080808;color:#fff;margin-left:10px;outline:none;vertical-align:top}.parameter textarea:focus{border-color:#3a3a39}.parameter input[type=number]{-moz-appearance:textfield;margin-left:5px}.parameter input[type=number]:focus{background:#080808}.parameter.spinner{display:inline-block;margin-top:2px}.parameter.spinner input{border:2px solid #0000;border-radius:0;cursor:default;margin-left:5px;outline:none;width:50px}.parameter.spinner input:focus{background:rgba(0,0,0,0);border:2px solid #3a3a39;cursor:text}.parameter.spinner button{background-color:initial;border:2px solid #0000;border-radius:0;color:#fff;outline:none}.parameter.spinner button:hover{background-color:#50504f;border-color:#50504f}.tempo_toolbar{background-color:#1a1a1a;margin-bottom:5px;margin-top:5px;padding-left:15px;padding-top:0}.tempo_toolbar>span{background-color:#1a1a1a;border-right:2px solid #000;display:inline-block;height:100%}.tempo_toolbar>span button{background-color:#1a1a1a;border-color:rgba(0,0,0,0);color:#fff;height:100%;margin:none;padding:5px 15px}.tempo_toolbar>span button:hover{background-color:#50504f}.tempo_toolbar>span input[type=number],.tempo_toolbar>span input[type=number]:focus{background-color:#1a1a1a;border-color:rgba(0,0,0,0);box-shadow:none;margin-left:5px;width:50px}.layer{margin-bottom:5px;width:180px}.layer .controls{display:grid;grid-template-columns:1fr .1fr;margin-right:2px}.layer .buttons{display:grid;grid-template-rows:2.25fr 1fr 1fr}.layer .cbs{display:grid;grid-template-columns:repeat(3,1fr);height:100%;width:100%}.layer .master{height:100px;transform:rotate(-90deg);transform-origin:55px 60px;width:25px}.layer .master input[type=range]{height:20px;left:10px;margin:0;position:relative;top:10px;width:105px}.layer .master input[type=range]::-moz-range-progress{background-color:#252525;height:100%;width:100%}.layer .master input[type=range]::-moz-range-track{background-color:#191817;height:100%;width:100%}.layer .master input[type=range]::-moz-range-thumb{-webkit-appearance:none;appearance:none;background-color:#3a3a3a;border-color:#3a3a3a;border-radius:3px;height:20px;width:20px}.layer .master:hover input[type=range]::-moz-range-thumb{background-color:#50504f;border-color:#50504f}.layer .master input[type=range]::-webkit-slider-runnable-track{background-color:#191817;height:100%;width:100%}.layer .master input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#3a3a3a;border:10px solid #3a3a3a;border-radius:3px;height:20px;position:relative;width:20px}.layer .master:hover input[type=range]::-webkit-slider-thumb{background-color:#50504f;border-color:#50504f}.layer .crossfadergroup{display:grid;grid-template-columns:repeat(2,1fr)}.layer .handle{margin-right:2px}.overlay{background-color:rgba(0,0,0,.5);height:100%;width:100%;z-index:999}.modal,.overlay{left:0;position:absolute;top:0}.modal{background-color:#202020;border:5px solid #64646480;border-radius:15px;bottom:0;margin:auto;padding:30px 5px 5px;right:0;z-index:1000}.modal .title{border-top-left-radius:10px;border-top-right-radius:10px;height:15px;left:0;position:absolute;right:0;top:-5px}.modal .close{display:inline-block;position:absolute;right:10px;top:5px}.select_thumbnail{text-align:center}.select_thumbnail label{border:1px solid #fff;cursor:pointer;display:inline-block;font-size:75px;height:100px;margin:5px;width:100px}.select_thumbnail label input{display:none}.select_thumbnail img{max-width:100px}.select_thumbnail button{margin:5px}div.effects div.group{color:#4d8c75;text-transform:uppercase}div.effects div.group div.effect{background-color:#000;color:#fff;margin-left:11px;padding:4px;text-transform:none}div.effects div.group div.preset{color:#b3b3b3;margin-left:24px;padding:2px;text-transform:none}div.sources div.group{color:#4d8c75;text-transform:uppercase}div.sources div.group div.source{color:#fff;margin-left:11px;padding:4px;text-transform:none}div.sources div.group div.preset{color:#b3b3b3;margin-left:24px;padding:2px;text-transform:none}div.tabs div.names{align-items:stretch;display:flex;height:28px;margin-top:5px;width:100%}div.tabs div.names div{background-color:#1a1a1a;border-top-left-radius:5px;border-top-right-radius:5px;color:#a5a5a5;flex-grow:1;padding:5px 10px 7px;transition:background-color .2s}div.tabs div.names div:hover{background-color:#242424}div.tabs div.names div.selected{background-color:#4d8c75;color:#e9e9e9;font-weight:700}div.tabs div.component{padding:10px}.layer_group.highlighted{border-bottom-left-radius:5px;border-left:3px solid #a1fcd5;border-top-left-radius:5px}.layer_group>.cbs{display:grid;grid-template-columns:1fr repeat(3,fit-content(1ch));width:100%}.layer_group .cbs div{padding-left:4px;padding-right:4px}body{background-color:#000;color:#f0f0f0;cursor:default;font:13px Noto Sans,Arial,sans-serif;margin-left:18px;margin-right:0;margin-top:3px}.crossfader{width:33%}.button{background-color:#3a3a3a;margin-bottom:2px;margin-right:2px;padding-top:5px;text-align:center}.button:hover{background-color:#50504f}.button:active,.on{background-color:#a1fcd5}.on{color:#000}.on:hover{background-color:#a1fcd5}.off{background-color:#3a3a3a}.clip{background-color:#191818;margin-bottom:5px;margin-right:5px;width:100px}.connected{outline:4px solid #a1fcd5;outline-offset:-4px}.none:hover{outline:4px solid #50504f;outline-offset:-4px}.thumbnail{background-color:#191818;height:100%;width:100%}.handle{background-color:#3a3a3a;border-radius:0 0 2px 2px;height:20px;padding-top:4px;text-align:center}.handle:hover{background-color:#50504f}.selected{color:#1c1c1c}.selected,.selected:hover{background-color:#a1fcd5}.composition_layers_and_clips{display:flex}.composition_and_layers{display:grid;margin-right:5px}.composition_and_layers .composition{display:grid;grid-template-columns:1fr 20px 20px;height:27px}.composition_and_layers .composition .button{border-radius:0 0 4px 4px}.clips{display:grid;flex-wrap:nowrap;overflow-x:auto}.column{background-color:#2a2a2a;border-top-left-radius:5px;border-top-right-radius:5px;height:20px;margin-bottom:5px;margin-right:5px;padding-left:20px;padding-top:5px;position:relative;text-align:center;width:80px}.column:hover{background-color:#50504f}.column span{background-color:#292929;border:2px solid #292929;border-top-left-radius:4px;color:#fff;display:inline-block;left:0;padding:0 4px 3px 5px;position:absolute;top:0}.column span:hover{border-color:gray}.column.selected{background-color:#80ffd2;color:#1b1b1b}.decks{height:30px;margin-left:185px}.decks>div{background-color:#2a2a2a;border-bottom-left-radius:5px;border-bottom-right-radius:5px;display:inline-block;margin-right:5px;overflow:hidden;padding:5px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:90px}.decks>div:hover{background-color:#50504f}.decks>div.selected{background-color:#80ffd2;color:#1b1b1b}.title{background-color:#4d8c75;border-top-left-radius:5px;border-top-right-radius:5px;height:17px;margin-top:5px;padding:5px 10px 7px;-webkit-user-select:none;user-select:none}.content{background-color:#1a1a1a;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding-bottom:5px;padding-top:5px}#controls{display:flex}#controls>div{width:100%}#controls>div+div{margin-left:5px}.dashboard .parameters{align-items:center;display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,.125fr));margin-left:2em;margin-top:.2em}.dashboard .label{margin-left:0}span.parameter input{background:rgba(0,0,0,0);border:none;color:#f0f0f0}span.parameter input:focus{background-color:#fff}span.label{margin-left:15px;width:125px}.arrow,span.label{display:inline-block}.arrow{height:0;margin-right:2px;width:0}.arrow.down{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #a9a9a9;left:-4px;position:relative;top:-2px}.arrow.right{border-bottom:5px solid #0000;border-left:5px solid #a9a9a9;border-top:5px solid #0000}.choice{background-color:#474747;border:none;color:#f0f0f0;margin-bottom:4px;width:130px}.choice,input[type=checkbox]{margin-left:10px}input[type=color]{margin-left:6px}input[type=range]{-webkit-appearance:none;appearance:none;background:#5f5f5f!important;border-radius:5px;height:5px;margin:10px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4d8c75!important;border-radius:10px;height:10px;width:10px}.option{background-color:#1d1d1d;border:1px solid #000;color:#fff;height:20px;padding:8px 3px 3px 12px;position:relative;text-align:left}.context-menu{background-color:#0f0f0f;border:0 solid #000;box-shadow:2px 2px 2px #000;display:inline-block;position:absolute;width:250px;z-index:100}.context-menu .label{height:20px;padding-left:12px;padding-top:8px;text-align:left}.context-menu>.menu:after{content:"▸";position:absolute;right:8px}.context-menu .option.selected:before,.context-menu>.option.checked:after{content:"✓";position:absolute;right:8px}.context-menu .option:hover{background-color:#3a3a3a}.context-menu .sub-menu{display:inline-block;left:250px;position:absolute;top:0;width:250px}.shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--ui-bg);color:var(--ui-text);font-family:var(--ui-font);font-size:var(--ui-font-size);padding-top:var(--ui-safe-top)}.shell-bar{flex:0 0 auto;display:flex;align-items:center;gap:2px;height:var(--ui-bar-h);padding:0 6px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);overflow-x:auto;scrollbar-width:none}.shell-brand{margin-right:6px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.shell-folder{max-width:180px;margin-right:6px}.shell-ws{width:8px;height:8px;margin:0 6px;border-radius:50%;background:var(--ui-danger);flex:0 0 auto}.shell-ws.on{background:var(--ui-success)}.shell-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.shell-empty{padding:24px;text-align:center}.shell-sheet{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.shell-sheet-title{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 10px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-2);font-weight:600}.shell-sheet-body{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shell-tabs{flex:0 0 auto;display:flex;height:calc(var(--ui-tabbar-h) + var(--ui-safe-bottom));padding-bottom:var(--ui-safe-bottom);border-top:1px solid var(--ui-border);background:var(--ui-surface);overflow-x:auto;scrollbar-width:none}.shell-tab{flex:1 0 64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;background:none;color:var(--ui-text-dim);font:inherit;font-size:11px;cursor:pointer}.shell-tab svg{width:22px;height:22px}.shell-tab span{max-width:72px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shell-tab.open{color:var(--ui-text)}.shell-tab.active{color:var(--ui-primary)}.shell-cinder{margin-right:4px;font-size:11px;font-weight:700;color:var(--ui-text-dim);opacity:.5}.shell-cinder.on{color:var(--ui-success);opacity:1}
