:root,.aa{--aa-bg: #0b0b0d;--aa-bg-2: #131316;--aa-bg-3: #1a1a1f;--aa-border: rgba(255, 255, 255, .055);--aa-border-2: rgba(255, 255, 255, .1);--aa-text: #ddd8cc;--aa-muted: rgba(221, 216, 204, .32);--aa-accent: rgba(255, 255, 255, .55);--aa-danger: #e84a4a;--aa-danger-soft: rgba(232, 74, 74, .12);--aa-danger-text: #f0a0a0;--aa-fill: rgba(255, 255, 255, .08);--aa-knob-track: rgba(255, 255, 255, .07);--aa-knob-value: rgba(255, 255, 255, .55);--aa-knob-needle: #fff;--aa-mono: "Martian Mono", ui-monospace, monospace;--aa-serif: "Instrument Serif", serif;--aa-ui: var(--aa-mono);--aa-radius: 8px;--aa-radius-btn: 5px;--aa-radius-chip: 3px;--aa-label-size: 8px;--aa-value-size: 9px;--aa-button-size: 10px;--aa-title-size: 22px;--aa-control-gap: 4px;--aa-pad: 14px 18px;--aa-knob-size: 44px;--bg: var(--aa-bg);--bg2: var(--aa-bg-2);--bg3: var(--aa-bg-3);--panel: var(--aa-bg-2);--panel-2: var(--aa-bg-3);--border: var(--aa-border);--border2: var(--aa-border-2);--line: var(--aa-border-2);--line-light: var(--aa-border-2);--text: var(--aa-text);--muted: var(--aa-muted);--dim: var(--aa-muted);--accent: var(--aa-accent);--danger: var(--aa-danger);--mono: var(--aa-mono);--serif: var(--aa-serif);--font: var(--aa-ui);--radius: var(--aa-radius);--label-size: var(--aa-label-size);--button-size: var(--aa-button-size);--control-gap: var(--aa-control-gap);color-scheme:dark;font-family:var(--aa-ui)}[data-aa-variant=tool]{--aa-bg: #000000;--aa-bg-2: #111111;--aa-bg-3: #1a1a1a;--aa-border: #2e2e2e;--aa-border-2: #3a3a3a;--aa-text: #ffffff;--aa-muted: #a0a0a0;--aa-accent: #ffffff;--aa-danger: #d61f2c;--aa-danger-soft: rgba(214, 31, 44, .14);--aa-danger-text: #ffffff;--aa-fill: #1a1a1a;--aa-knob-track: rgba(255, 255, 255, .07);--aa-knob-value: rgba(255, 255, 255, .55);--aa-knob-needle: #fff;--aa-mono: Telegraf, system-ui, -apple-system, sans-serif;--aa-serif: Telegraf, system-ui, -apple-system, sans-serif;--aa-ui: Telegraf, system-ui, -apple-system, sans-serif;--aa-radius: 0;--aa-radius-btn: 0;--aa-radius-chip: 0;--aa-label-size: 9px}*,*:before,*:after{box-sizing:border-box}html.aa,.aa{background:var(--aa-bg);color:var(--aa-text)}body{margin:0;background:var(--aa-bg);color:var(--aa-text);font-family:var(--aa-ui)}.aa-app,#app{display:flex;flex-direction:column;min-height:100vh;max-width:1100px;margin:0 auto;padding:var(--aa-pad);gap:12px}.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:.5px solid var(--aa-border)}.topbar h1,.aa-title{margin:0;font-family:var(--aa-serif);font-size:var(--aa-title-size);font-style:italic;font-weight:400;letter-spacing:.3px}[data-aa-variant=tool] .topbar h1,[data-aa-variant=tool] .aa-title{font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.file-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filename{color:var(--aa-muted);font-size:var(--aa-value-size);letter-spacing:.05em}.btn,.button{font-family:var(--aa-ui);background:transparent;color:var(--aa-muted);border:.5px solid var(--aa-border-2);border-radius:var(--aa-radius-btn);padding:7px 12px;font-size:var(--aa-button-size);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .13s,border-color .13s,background .13s}.btn:hover:not(:disabled),.button:hover:not(:disabled){color:var(--aa-text);border-color:var(--aa-accent)}.btn:disabled,.button:disabled{opacity:.35;cursor:not-allowed}.btn.on,.btn--on,.button--on{background:var(--aa-fill);color:var(--aa-text);border-color:var(--aa-accent)}.btn.recording,.btn--recording,.button--recording{background:var(--aa-danger-soft);border-color:color-mix(in srgb,var(--aa-danger) 45%,transparent);color:var(--aa-danger-text);animation:aa-pulse 1s ease-in-out infinite}@keyframes aa-pulse{50%{opacity:.6}}select.btn,select.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:22px;background:var(--aa-bg-2)}.mode-groups{display:flex;flex-wrap:wrap;gap:22px;padding-top:12px;border-top:.5px solid var(--aa-border)}.gran-group,.aa-group{display:flex;flex-direction:column;gap:6px}.gran-group-label,.aa-group-label{font-size:var(--aa-label-size);letter-spacing:.08em;color:var(--aa-muted);text-transform:uppercase}.mb-row{display:flex;gap:3px;flex-wrap:wrap}.mb{font-family:var(--aa-ui);font-size:var(--aa-value-size);padding:4px 9px;border-radius:var(--aa-radius-chip);border:.5px solid var(--aa-border-2);background:transparent;color:var(--aa-muted);cursor:pointer;transition:color .1s,border-color .1s,background .1s;white-space:nowrap}.mb:hover{color:var(--aa-text);border-color:var(--aa-accent)}.mb.on{background:var(--aa-fill);color:var(--aa-text);border-color:var(--aa-accent)}.panel,.controls{display:flex;flex-direction:column;gap:14px;background:var(--aa-bg-2);border:.5px solid var(--aa-border);border-radius:var(--aa-radius);padding:var(--aa-pad);-webkit-user-select:none;user-select:none}.knob-row{display:flex;flex-wrap:wrap;gap:14px 18px}.kw,.fw{display:flex;flex-direction:column;align-items:center;gap:var(--aa-control-gap)}canvas.knob,canvas.fader{cursor:ns-resize;touch-action:none;display:block;outline:none}canvas.knob:focus-visible,canvas.fader:focus-visible{outline:1px solid var(--aa-border-2);outline-offset:2px}.kl{font-size:var(--aa-label-size);letter-spacing:.06em;color:var(--aa-muted);text-transform:uppercase;text-align:center;line-height:1.2}.kv{font-size:var(--aa-value-size);font-weight:500;color:var(--aa-text);min-width:40px;text-align:center;font-variant-numeric:tabular-nums}.stage{position:relative}.stage.dragover{outline:1px solid var(--aa-accent);outline-offset:-1px}.canvas-wrap{position:relative;background:var(--aa-bg-2);border:.5px solid var(--aa-border);border-radius:var(--aa-radius);overflow:hidden;height:320px}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--aa-muted);font-size:11px;letter-spacing:.05em;pointer-events:none;text-align:center;padding:20px}.drop-hint.hidden{display:none}.status{display:flex;flex-wrap:wrap;gap:14px;padding:0 2px;font-size:var(--aa-value-size);letter-spacing:.06em;text-transform:uppercase;color:var(--aa-muted)}.status strong{color:var(--aa-text);font-weight:500}.aa-field,.text-input{width:100%;background:var(--aa-bg-2);border:.5px solid var(--aa-border-2);border-radius:var(--aa-radius);color:var(--aa-text);font-family:var(--aa-ui);font-size:11px;padding:10px}.aa-field:focus,.text-input:focus{outline:none;border-color:var(--aa-accent)}@font-face{font-family:Telegraf;src:url(./Telegraf-Regular-d5W5dKCN.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Telegraf;src:url(./Telegraf-Bold-DQ6t2X9R.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}html,body{height:100%;overflow:hidden}#app{max-width:none;height:100vh;min-height:0;margin:0;padding:0;gap:0;overflow:hidden}.topbar{flex-shrink:0;padding:8px 12px}.stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#000}#video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:0}#video.is-ready{opacity:1}.timeline{position:relative;z-index:2;flex:0 0 auto;display:flex;flex-direction:column;border-top:1px solid var(--aa-border);background:var(--aa-bg-2);-webkit-user-select:none;user-select:none}.timeline__resize{position:absolute;left:0;right:0;top:-4px;height:8px;z-index:5;cursor:ns-resize;touch-action:none}.timeline__resize:hover,.timeline.is-resizing .timeline__resize{background:#ffffff73}.timeline--sized{min-height:0}.timeline--sized .timeline__body{flex:1 1 auto;min-height:0}.timeline--sized .timeline__labels,.timeline--sized .timeline__scroll{min-height:0}.timeline--sized .timeline__scroll{display:flex;flex-direction:column}.timeline--sized .timeline__tracks,.timeline--sized .timeline__lanes{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.timeline--sized .timeline__ruler,.timeline--sized .timeline__label--ruler,.timeline--sized .timeline__track--clip,.timeline--sized .timeline__label--clip{flex-shrink:0}.timeline--sized .timeline__label--series,.timeline--sized .timeline__track--series{flex:1 1 auto;height:auto;min-height:48px}.timeline__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:28px;padding:4px 8px;border-bottom:1px solid var(--aa-border)}.timeline--collapsed .timeline__toolbar{border-bottom:0}.timeline__title{font-family:inherit;font-size:var(--aa-label-size);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-muted);background:transparent;border:0;padding:0;cursor:pointer}.timeline__title:hover{color:var(--aa-text)}.timeline__time,.timeline__readout{font-size:var(--aa-value-size);letter-spacing:.04em;color:var(--aa-muted);font-variant-numeric:tabular-nums}.timeline__readout{color:var(--aa-text);text-transform:uppercase}.timeline__transport{display:flex;align-items:center;gap:3px}.timeline__nav{display:flex;align-items:center;gap:3px;margin-left:auto}.timeline__zoom-label{margin-left:6px;font-size:var(--aa-label-size);color:var(--aa-muted);letter-spacing:.06em;text-transform:uppercase}.timeline__toolbar .btn{padding:3px 8px;min-width:22px}.timeline__send{display:inline-flex;align-items:center;gap:4px;color:var(--aa-muted);font-size:var(--aa-label-size);letter-spacing:.04em;cursor:pointer;white-space:nowrap}.timeline__send input{margin:0;width:12px;height:12px;accent-color:#fff;cursor:pointer}.timeline__body{display:flex;flex:1 1 auto;min-height:0}.timeline__body[hidden]{display:none}.timeline__labels{width:248px;flex-shrink:0;border-right:1px solid var(--aa-border);display:flex;flex-direction:column}.timeline__label-name{display:inline-flex;align-items:center;gap:8px;min-width:0}.timeline__norm{display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}.timeline__norm input[type=checkbox]{margin:0;width:12px;height:12px;accent-color:#fff;cursor:pointer}.timeline__gate{display:inline-flex;align-items:center;gap:6px}.timeline__gate-level{width:52px;margin:0;padding:0 4px;border:1px solid var(--aa-border);border-radius:0;background:transparent;color:var(--aa-text);font:inherit;font-variant-numeric:tabular-nums}.timeline__label{height:28px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;font-size:var(--aa-label-size);letter-spacing:.06em;text-transform:uppercase;color:var(--aa-muted);border-bottom:1px solid var(--aa-border)}.timeline__label--ruler{height:18px}.timeline__label--ruler,.timeline__label--clip{flex-shrink:0}.timeline__label--series{flex:1 1 72px;height:auto;min-height:48px;flex-wrap:wrap;align-content:center}.timeline__label-options{flex:1 0 100%;display:flex;flex-direction:column;gap:3px}.timeline__label-value{color:var(--aa-text);font-variant-numeric:tabular-nums;letter-spacing:0}.timeline__scroll{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden;background:var(--aa-bg);scrollbar-width:thin}.timeline__tracks{position:relative;flex:1 0 auto;display:flex;flex-direction:column;min-height:100%}.timeline__lanes{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.timeline__ruler{height:18px;flex-shrink:0;position:relative;cursor:ew-resize;border-bottom:1px solid var(--aa-border);background:var(--aa-bg-3);touch-action:none;overflow:hidden}.timeline__tick{position:absolute;bottom:1px;transform:translate(-50%);font-size:9px;color:var(--aa-muted);font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.timeline__tick:first-child{transform:none}.timeline__track{position:relative;border-bottom:1px solid var(--aa-border);background:var(--aa-bg);touch-action:none;cursor:ew-resize}.timeline__track--clip{flex-shrink:0}.timeline__track--series{flex:1 1 72px;height:auto;min-height:48px}.timeline__track--clip{height:28px}.timeline__wave{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.timeline__clip{position:absolute;left:0;top:4px;width:100%;height:20px;box-sizing:border-box;border:1px solid #888;background:#ffffff2e;display:flex;align-items:center;overflow:hidden;pointer-events:none}.timeline__clip-label{padding:0 6px;font-size:10px;color:#fff;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.7)}.timeline__playhead{position:absolute;top:0;bottom:0;width:1px;background:#fff;pointer-events:none;z-index:4}.timeline__playhead:before{content:"";position:absolute;top:0;left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #fff}
