: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;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{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);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;inset: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)}html,body{height:100%;overflow:hidden}.aa-app.layout{max-width:none;width:100%;height:100%;min-height:0;margin:0;padding:0;flex-direction:row;gap:0;overflow:hidden}.ver{font-family:var(--aa-mono);font-style:normal;font-size:var(--aa-value-size);letter-spacing:.06em;color:var(--aa-muted);margin-left:8px}.side{width:320px;flex:0 0 320px;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-right:.5px solid var(--aa-border)}.side .aa-title{font-size:18px}.stack{display:flex;flex-direction:column;gap:8px}.stack[hidden]{display:none}.file-drop{border:.5px dashed var(--aa-border-2);border-radius:var(--aa-radius);padding:18px 10px;text-align:center;cursor:pointer;font-size:var(--aa-value-size);color:var(--aa-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--aa-bg-2)}.file-drop:hover,.file-drop.drag{border-color:var(--aa-accent);color:var(--aa-text)}.file-drop input{display:none}video{width:100%;display:block;background:#000;border:.5px solid var(--aa-border);border-radius:var(--aa-radius)}.stage{flex:1 1 auto;min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;background:#000}#view{width:100%;height:100%;object-fit:cover;display:none;background:#000;border:none;border-radius:0}#view.on{display:block}#view.pixelated{image-rendering:pixelated}.stage .drop-hint{position:absolute;inset:0;min-height:0;border:none;border-radius:0;background:#000}.stage.has-image .drop-hint{display:none}.file-drop,#btn-save{display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:100%;min-height:88px;height:88px;text-align:center}#btn-rec{position:fixed;top:14px;right:14px;z-index:5}.hud-hint{color:var(--aa-muted);font-size:var(--aa-label-size);letter-spacing:.04em;text-transform:uppercase}.knob-dock{display:contents}.field{display:flex;flex-direction:column;gap:4px}.field input[type=color]{width:100%;height:28px;padding:0;border:.5px solid var(--aa-border);background:transparent;cursor:pointer}.stack select,.field select,.field input[type=text]{width:100%}.aa-app.layout.hud-hidden .side{display:none}.aa-app.layout.hud-overlay .side{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;width:auto;max-height:none;flex:none;background:transparent;border:none;pointer-events:none;overflow:auto}.aa-app.layout.hud-overlay .side>*{pointer-events:auto}.aa-app.layout.hud-overlay .side>:not(.knob-dock){width:min(336px,100%)}.aa-app.layout.hud-overlay .knob-dock{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;left:50%;bottom:14px;translate:-50% 0;width:max-content;max-width:calc(100% - 24px)}.aa-app.layout.hud-overlay #btn-save{width:min(336px,100%)}.aa-app.layout.hud-overlay .panel{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;width:max-content;max-width:100%;background:#000000e6;border-color:transparent;overflow-x:auto}.aa-app.layout.hud-overlay .panel .aa-group-label,.aa-app.layout.hud-overlay .panel .mb-row,.aa-app.layout.hud-overlay .panel .btn{flex:0 0 auto}.aa-app.layout.hud-overlay .panel .knob-row{flex:0 0 auto;flex-wrap:nowrap}.aa-app.layout.hud-overlay .panel .mb-row{flex-wrap:nowrap}.aa-app.layout.hud-overlay .side>.readout{position:absolute;right:14px;bottom:14px;left:auto;width:max-content;max-width:220px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;pointer-events:none}.aa-app.layout.hud-overlay .aa-title,.aa-app.layout.hud-overlay .hud-hint,.aa-app.layout.hud-overlay .status,.aa-app.layout.hud-overlay .aa-group-label,.aa-app.layout.hud-overlay .kl,.aa-app.layout.hud-overlay .kv{text-shadow:0 1px 2px #000}@media(max-width:860px){.aa-app.layout{flex-direction:column}.side{width:100%;flex:0 0 auto;max-height:42vh;border-right:none;border-bottom:.5px solid var(--aa-border)}}
