:root,[data-theme=light]{--vc-bg:#dcdcda;--vc-panel:#d2d2d0;--vc-panel-hi:#d8d8d6;--vc-panel-low:#c6c6c4;--vc-ink:#2a2a2a;--vc-ink-soft:#6e6e6c;--vc-ink-ghost:#9a9a98;--vc-ink-line:#a8a8a6;--vc-grid:#0000000a;--vc-accent:#c0613a;--vc-accent-dim:#9a4d2e;--vc-led-on:#e4ff47;--vc-led-off:#3a3d1a;--vc-jack:#3a3a38;--vc-jack-ring:#7e7e7c;--vc-cable:#888886;--vc-cable-soft:#b0b0ae;--vc-black:#0a0a0a;--vc-black-hi:#141414;--vc-black-low:#050505;--vc-success:#1a6a3a;--vc-warn:#d4a537;--vc-danger:#6e2230;--bg:var(--vc-bg);--bg-subtle:var(--vc-panel);--bg-elevated:var(--vc-panel-hi);--fg:var(--vc-ink);--fg-muted:var(--vc-ink-soft);--fg-faint:var(--vc-ink-ghost);--border:var(--vc-ink-line);--border-strong:var(--vc-jack-ring);--accent:var(--vc-accent);--accent-fg:#fff;--success:var(--vc-success);--warn:var(--vc-warn);--danger:var(--vc-danger);--shadow:0 2px 8px #0000001a;--shadow-lg:0 8px 24px #0000002e}[data-theme=dark]{--vc-bg:#1a1a18;--vc-panel:#242422;--vc-panel-hi:#2c2c2a;--vc-panel-low:#1c1c1a;--vc-ink:#e8e8e6;--vc-ink-soft:#a8a8a6;--vc-ink-ghost:#6e6e6c;--vc-ink-line:#44443f;--vc-grid:#ffffff0a;--vc-accent:#c0613a;--vc-accent-dim:#9a4d2e;--vc-led-on:#e4ff47;--vc-led-off:#3a3d1a;--vc-jack:#6e6e6c;--vc-jack-ring:#a8a8a6;--vc-cable:#88888a;--vc-cable-soft:#54545a;--vc-black:#0a0a0a;--vc-black-hi:#141414;--vc-black-low:#050505;--bg:var(--vc-bg);--bg-subtle:var(--vc-panel);--bg-elevated:var(--vc-panel-hi);--fg:var(--vc-ink);--fg-muted:var(--vc-ink-soft);--fg-faint:var(--vc-ink-ghost);--border:var(--vc-ink-line);--border-strong:var(--vc-jack-ring);--accent:var(--vc-accent);--accent-fg:#fff;--shadow:0 2px 8px #00000080;--shadow-lg:0 8px 24px #0009}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:2px;--radius-sm:2px;--transition:.14s ease;--pad-sm:8px;--pad-md:16px;--pad-lg:24px;--header-h:40px;--console-w:1440px;--console-h:980px;--console-gutter:18px;--vc-fam-image:#a3b18a;--vc-fam-image-idle:#e0b7a8;--vc-fam-text:#1f4e5f;--vc-fam-text-idle:#5c8595;--vc-fam-neutral:#9b9082;--vc-fam-generation:#c0613a;--vc-fam-modifier:#2f4b3f;--vc-fam-archive:#6e2230;--vc-cable-source:#a3b18a;--vc-cable-screen:#a3b18a;--vc-cable-render:#c0613a;--vc-cable-batch:#c0613a;--vc-cable-action:#46769e;--vc-cable-proportions:#2c4d73;--vc-cable-text:#3a7a8c;--vc-cable-context:#2f6579;--vc-cable-refine:#28586a;--vc-cable-prompt:#1f4e5f;--vc-cable-mod:#2f4b3f;--vc-cable-history:#6e2230;--vc-cable-floop:#6c5b7b;--vc-fluo:#e4ff47;--vc-fluo-hi:#f2ff93;--vc-fluo-dim:#9ab121;--vc-cable-live:var(--vc-fluo);--vc-dome:#c0613a;--vc-dome-hi:#d97b52;--vc-dome-dim:#9a4d2e}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;margin:0;padding:0;font-size:14px;line-height:1.45}body{min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin-bottom:4px;font-size:.75rem;display:block}.muted{color:var(--fg-muted)}.mono{font-family:var(--font-mono);font-size:.8rem}.session-restore-hint{background:var(--bg-elevated);color:var(--fg);z-index:300;pointer-events:none;border-radius:6px;padding:6px 14px;font-size:12px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.btn{border:1px solid var(--border-strong);background:var(--bg);color:var(--fg);border-radius:var(--radius);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), color var(--transition), border-color var(--transition), opacity var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-subtle)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);padding:9px 18px;font-size:12.5px}.btn.primary:hover:not(:disabled){opacity:.86}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.icon{padding:7px 9px}.input,.select,.textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:var(--radius-sm);font-family:var(--font-sans);transition:border-color var(--transition), box-shadow var(--transition);padding:7px 10px;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00000014}[data-theme=dark] .input:focus,[data-theme=dark] .select:focus,[data-theme=dark] .textarea:focus{box-shadow:0 0 0 3px #ffffff1a}.textarea{resize:vertical;min-height:88px;font-family:var(--font-mono);font-size:12px}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-md)}.panel.tight{padding:12px}.panel h3{margin:0 0 var(--pad-md);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.panel h3 .hint{font-family:var(--font-mono);color:var(--fg-faint);text-transform:none;letter-spacing:0;cursor:help;border-bottom:1px dotted var(--fg-faint);font-size:10px}.field{flex-direction:column;gap:4px;display:flex}.field+.field{margin-top:10px}.field-row{gap:var(--pad-sm);grid-template-columns:1fr 1fr;display:grid}.field-row .field{margin-top:0}.field-row .select,.field-row .seg{height:34px}.slider{width:100%;accent-color:var(--accent)}.slider-row{justify-content:space-between;align-items:baseline;display:flex}.slider-row .val{font-family:var(--font-mono);color:var(--fg-muted);font-size:11px}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:var(--pad-lg);text-align:center;font-family:var(--font-mono);text-transform:uppercase;color:var(--fg-muted);cursor:pointer;transition:border-color var(--transition), background var(--transition);font-size:.8rem}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--bg-subtle)}.tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg-muted);padding:2px 6px;font-size:.7rem;display:inline-block}.section-title{justify-content:space-between;align-items:baseline;margin:4px 2px 0;display:flex}.section-title h2{letter-spacing:-.005em;margin:0;font-size:16px;font-weight:600}.section-title .kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-faint);font-size:10px}.aspect-groups{flex-wrap:wrap;gap:14px;display:flex}.aspect-group{flex-direction:column;gap:4px;display:flex}.aspect-group .label{margin-bottom:2px}.aspect-list{flex-wrap:wrap;gap:4px;display:flex}.aspect-chip{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--fg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:background var(--transition), border-color var(--transition);align-items:center;gap:6px;padding:5px 9px;font-size:11px;display:inline-flex}.aspect-chip:hover:not(.active){background:var(--bg-subtle)}.aspect-chip.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.aspect-chip.estimated{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--fg-muted)}.aspect-chip .glyph{opacity:.9;border:1px solid;display:inline-block}.ref-strip{flex-wrap:wrap;gap:8px;display:flex}.ref-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:grab;width:88px;transition:border-color var(--transition), opacity var(--transition), filter var(--transition), box-shadow var(--transition);flex-direction:column;display:flex;position:relative;overflow:hidden}.ref-card:hover{box-shadow:var(--shadow)}.ref-card:active{cursor:grabbing}.ref-card.disabled{opacity:.45;filter:grayscale()}.ref-card .thumb{background:var(--bg-subtle);background-image:repeating-linear-gradient(45deg,#0000,#0000 6px,#0000000a 6px 12px);place-items:center;height:64px;display:grid;position:relative;overflow:hidden}.ref-card .thumb img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.ref-card .thumb .glyph{font-family:var(--font-mono);color:var(--fg-faint);font-size:18px}.ref-card .meta{font-family:var(--font-mono);color:var(--fg-muted);align-items:center;gap:4px;padding:4px 6px;font-size:10px;display:flex}.ref-card .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ref-actions{opacity:0;transition:opacity var(--transition);z-index:2;gap:4px;display:flex;position:absolute;top:4px;right:4px}.ref-card:hover .ref-actions,.ref-card:focus-within .ref-actions{opacity:1}.ref-ctrl{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;line-height:1;display:inline-flex}.ref-ctrl:hover{background:var(--accent);color:var(--accent-fg)}.ref-ctrl.danger:hover{background:var(--danger);color:#fff}.ref-add{border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);width:88px;height:96px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);cursor:pointer;text-align:center;place-items:center;gap:4px;font-size:10px;display:grid}.ref-add:hover{border-color:var(--accent);background:var(--bg-subtle)}.ref-add .plus{font-size:18px;line-height:1}.seg{border:1px solid var(--border-strong);border-radius:var(--radius);gap:0;display:flex;overflow:hidden}.seg button{background:var(--bg);cursor:pointer;font-family:var(--font-mono);color:var(--fg-muted);border:0;border-right:1px solid var(--border);flex:1;padding:0;font-size:13px;line-height:1}.seg button:last-child{border-right:0}.seg button:hover{background:var(--bg-subtle);color:var(--fg)}.seg button.active{background:var(--accent);color:var(--accent-fg)}.prompt-tools{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.prompt-tools .count{font-family:var(--font-mono);color:var(--fg-faint);font-size:10px}.cost-row{justify-content:space-between;align-items:center;margin-top:0;padding-top:0;display:flex}.cost-row .est{font-family:var(--font-mono);color:var(--fg-muted);font-size:11px}.cost-row .est strong{color:var(--fg);font-weight:500}.patch-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.patch-card{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-subtle);aspect-ratio:1;transition:border-color var(--transition), transform var(--transition);position:relative;overflow:hidden}.patch-card:hover{transform:translateY(-2px)}.patch-card.selected{border-color:var(--accent)}.patch-card.selected:after{content:"✓";background:var(--accent);width:22px;height:22px;color:var(--accent-fg);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;top:6px;right:6px}.patch-card img{object-fit:cover;width:100%;height:100%;display:block}.patch-card .badge{font-family:var(--font-mono);color:#fff;z-index:1;background:#000000a6;border-radius:3px;padding:2px 6px;font-size:10px;position:absolute;top:6px;left:6px}.composite-card-state{width:100%;height:100%;color:var(--fg-muted);font-family:var(--font-mono);text-align:center;text-transform:uppercase;letter-spacing:.06em;place-items:center;padding:14px;font-size:11px;display:grid}.composite-error,.composite-updating{z-index:2;color:#fff;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;background:#000000ad;border-radius:3px;padding:2px 6px;font-size:10px;position:absolute;bottom:6px;left:6px;right:38px;overflow:hidden}.composite-updating{align-items:center;gap:5px;display:inline-flex}.composite-error{color:#ffd6d6}.patch-skel{border:2px solid var(--border);border-radius:var(--radius-sm);aspect-ratio:1;background:linear-gradient(90deg, var(--bg-subtle) 0%, var(--border) 50%, var(--bg-subtle) 100%);background-size:200% 100%;animation:1.4s linear infinite veduta-shimmer;position:relative;overflow:hidden}.patch-skel .pct{font-family:var(--font-mono);color:var(--fg-faint);font-size:10px;position:absolute;bottom:6px;left:6px}@keyframes veduta-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.status-row{align-items:center;gap:var(--pad-sm);font-family:var(--font-mono);color:var(--fg-muted);font-size:12px;display:flex}.dot{background:var(--fg-faint);border-radius:50%;width:6px;height:6px;display:inline-block}.dot.ok{background:var(--success)}.dot.warn{background:var(--warn)}.dot.danger{background:var(--danger)}.dot.busy{background:var(--accent);animation:1s ease-in-out infinite veduta-pulse}@keyframes veduta-pulse{0%,to{opacity:1}50%{opacity:.3}}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite veduta-spin}.spinner-inline{border-color:#0000 currentColor currentColor;flex:none;width:12px;height:12px}.loading-overlay{pointer-events:none;color:var(--fg-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:center;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;inset:0}.inline-loading{justify-content:center;align-items:center;gap:6px;display:inline-flex}.textarea.is-loading{opacity:.35;cursor:wait}@keyframes veduta-spin{to{transform:rotate(360deg)}}.compare{aspect-ratio:16/10;border-radius:var(--radius);background:var(--bg-subtle);border:1px solid var(--border);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative;overflow:hidden}.compare.pan-mode{cursor:grab}.compare .zoom-layer{position:absolute;inset:0;overflow:hidden}.compare .zoom-content{transform:translate(var(--pan-x,0), var(--pan-y,0)) scale(var(--zoom,1));transform-origin:50%;position:absolute;inset:0}.compare img,.compare .layer{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.compare .zoom-layer.after{clip-path:inset(0 0 0 var(--split,50%))}.compare .divider{top:0;bottom:0;left:var(--split,50%);pointer-events:none;background:#fff;width:2px;position:absolute;box-shadow:0 0 0 1px #0000004d}.compare .compare-handle{top:50%;left:var(--split,50%);z-index:2;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%,-50%)}.compare .knob{width:36px;height:36px;font-family:var(--font-mono);color:#000;pointer-events:auto;background:#fff;border-radius:50%;place-items:center;font-size:14px;display:grid;box-shadow:0 2px 6px #0000004d}.compare .label-bef,.compare .label-aft{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:#fff;pointer-events:none;opacity:0;transition:opacity var(--transition), transform var(--transition);white-space:nowrap;background:#000000b3;border-radius:3px;padding:3px 8px;font-size:10px;transform:translateY(3px)}.compare .compare-handle:hover .label-bef,.compare .compare-handle:hover .label-aft,.compare.is-interacting .label-bef,.compare.is-interacting .label-aft{opacity:1;transform:translateY(0)}.compare.lightbox-compare{z-index:1;aspect-ratio:auto;background:#000;border:0;border-radius:0;width:min(96vw,1600px);height:92vh}.stage-wrap.lightbox-edit-stage{z-index:1;aspect-ratio:auto;background:#000;border:0;border-radius:0;width:min(96vw,1600px);height:92vh;max-height:92vh}.zoom-controls{z-index:5;border-radius:var(--radius-sm);color:#fff;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;background:#00000094;border:1px solid #ffffff59;align-items:center;gap:4px;padding:4px;font-size:11px;line-height:1;display:inline-flex;position:absolute;top:10px;left:10px}.zoom-controls button{width:28px;height:28px;color:inherit;cursor:pointer;font:inherit;background:#ffffff1f;border:1px solid #ffffff47;border-radius:3px}.zoom-controls button:hover,.zoom-controls button.active{background:#ffffff42}.zoom-controls button:disabled{opacity:.4;cursor:default}.zoom-controls span{text-align:center;min-width:42px}.toast{background:var(--accent);color:var(--accent-fg);border-radius:var(--radius);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;box-shadow:var(--shadow-lg);z-index:100;align-items:center;gap:14px;padding:10px 14px 10px 18px;font-size:12px;animation:.2s forwards veduta-toast-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.exiting{animation:.22s forwards veduta-toast-out}@keyframes veduta-toast-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes veduta-toast-out{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(12px)}}.toast .undo{color:inherit;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:1px solid;padding:4px 10px;font-size:11px}.toast .undo:hover{background:#ffffff26}[data-theme=dark] .toast .undo:hover{background:#00000026}.toast .close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.toast.error{background:var(--danger);color:#fff}.toast.success{background:var(--success);color:#fff}.toast .progress{opacity:.4;transform-origin:0;background:currentColor;width:100%;height:2px;animation:5s linear forwards veduta-progress;position:absolute;bottom:0;left:0}@keyframes veduta-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.batch-sections{flex-direction:column;gap:14px;display:flex}.batch-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);flex-direction:column;gap:10px;padding:14px;display:flex}.batch-section-header{align-items:center;gap:8px;display:flex}.batch-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);border:1px solid var(--border);background:var(--bg-subtle);border-radius:3px;align-self:flex-start;padding:2px 6px;font-size:10px}.expand-btn{color:#fff;cursor:pointer;width:26px;height:26px;transition:background var(--transition), border-color var(--transition), transform var(--transition);background:#0000008c;border:1px solid #ffffff80;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.expand-btn:hover{background:#000000c7;border-color:#fff}.expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.expand-btn.on-image{z-index:3;opacity:0;pointer-events:none;position:absolute;bottom:6px;right:6px}.patch-card:hover .expand-btn.on-image,.patch-card:focus-within .expand-btn.on-image,.ref-card:hover .expand-btn.on-image,.ref-card:focus-within .expand-btn.on-image,.stage-wrap:hover .expand-btn.on-image,.stage-wrap:focus-within .expand-btn.on-image,.stage-frame:hover .expand-btn.on-image,.stage-frame:focus-within .expand-btn.on-image{opacity:1;pointer-events:auto}.expand-btn.stage-expand{width:30px;height:30px;bottom:10px;right:10px}.stage-frame{position:relative}.lightbox{z-index:300;background:#000000eb;place-items:center;animation:.14s forwards veduta-dialog-fade-in;display:grid;position:fixed;inset:0}.lightbox .lb-img{z-index:1;object-fit:contain;-webkit-user-select:none;user-select:none;max-width:96vw;max-height:92vh;position:relative;box-shadow:0 8px 32px #0006}.lightbox .lb-modes{z-index:3;background:#ffffff1f;border:1px solid #fff6;border-radius:18px;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:calc(100vw - 88px);padding:4px;display:inline-flex;position:absolute;top:14px;right:60px}.lightbox .lb-modes button{color:#fff;height:28px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background var(--transition);white-space:nowrap;background:0 0;border:0;border-radius:14px;padding:0 10px;font-size:11px}.lightbox .lb-modes button:hover,.lightbox .lb-modes button.active{background:#ffffff40}.lightbox .lb-close{z-index:3;color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--transition);background:#ffffff1f;border:1px solid #fff6;border-radius:50%;place-items:center;font-size:20px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.lightbox .lb-close:hover{background:#ffffff40}.lightbox .lb-nav{z-index:3;color:#fff;cursor:pointer;width:44px;height:64px;transition:background var(--transition);background:#ffffff14;border:1px solid #ffffff4d;place-items:center;font-size:28px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lb-nav:hover{background:#ffffff38}.lightbox .lb-prev{left:14px}.lightbox .lb-next{right:14px}.lightbox .lb-hint{z-index:3;font-family:var(--font-mono);color:#fffc;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);background:#00000080;padding:6px 10px;font-size:11px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dialog-backdrop{z-index:200;background:#00000073;place-items:center;animation:.14s forwards veduta-dialog-fade-in;display:grid;position:fixed;inset:0}[data-theme=dark] .dialog-backdrop{background:#0009}.dialog{background:var(--bg);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;width:calc(100% - 32px);max-width:420px;padding:20px;animation:.16s forwards veduta-dialog-pop-in;display:flex}.dialog-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px}.dialog-body{color:var(--fg-muted);font-size:13px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@keyframes veduta-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes veduta-dialog-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.version-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.version-modal{max-width:360px;padding:var(--pad-lg);border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg);box-shadow:var(--shadow-lg)}.version-modal h3{margin-top:0}.version-modal-note{color:var(--fg-muted);font-size:13px}.console-shell{background:var(--vc-bg);min-height:100vh;color:var(--vc-ink);font-family:var(--font-sans);flex-direction:column;display:flex}.console-shell .console-stage{flex-direction:row;flex:1;min-height:0;display:flex;position:relative}.stage-grid{flex:auto;min-width:0;min-height:0;position:relative}.canvas-pane{background:var(--vc-panel);border-left:1px solid var(--vc-ink-line);flex-direction:column;flex:none;min-height:0;display:flex}.canvas-pane-inner{flex:1;min-height:0;padding:10px;display:flex}.canvas-pane-inner .panel,.canvas-pane-inner .hw-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.panel-body.canvas-pane-body{flex:1;min-height:0;padding:8px}.canvas-pane .canvas-module{width:100%;height:100%}.canvas-stagewrap{flex:1;min-width:0;min-height:0;display:flex;position:relative}.canvas-stagewrap>.canvas-frame{flex:1;min-height:0}.canvas-stagewrap.is-framed{background:var(--vc-panel-low);justify-content:center;align-items:center}.canvas-pane-divider{cursor:col-resize;background:var(--vc-ink-line);z-index:25;flex:0 0 6px}.canvas-pane-divider:hover{background:var(--vc-accent)}.canvas-plaque{background:linear-gradient(180deg, var(--vc-black-hi), var(--vc-black));border:1px solid var(--vc-black-hi);justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.canvas-plaque-text{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:#161616;text-shadow:0 1px #ffffff24,0 -1px 1px #000000bf;padding-left:.32em;font-size:22px}.panel-actions{align-items:center;gap:4px;display:inline-flex}.panel-title{margin-right:auto}.panel-icon-btn{font-family:var(--font-mono);width:18px;height:16px;color:var(--vc-ink-ghost);border:1px solid var(--vc-ink-line);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.panel-icon-btn:hover{color:var(--vc-ink);border-color:var(--vc-ink)}.panel-icon-btn.is-active{color:var(--vc-accent);border-color:var(--vc-accent)}.panel.tier-black .panel-icon-btn{border-color:#ffffff1f}.panel.tier-black .panel-icon-btn:hover{color:#fff}.console-hint{border-top:1px solid var(--vc-ink-line);background:var(--vc-panel);height:28px;color:var(--vc-ink-soft);font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;flex:none;justify-content:center;align-items:center;font-size:9px;display:flex}.flow-area{background:var(--vc-bg);position:absolute;inset:0}.react-flow__node{box-shadow:none;background:0 0;border:0;padding:0}.react-flow__node.selected,.react-flow__node:focus,.react-flow__node:focus-visible{box-shadow:none;outline:none}.react-flow__handle{display:none}.grid-wrap{background-color:var(--vc-bg);touch-action:none;position:absolute;inset:0;overflow:hidden}.grid-canvas{position:absolute;top:0;left:0}.module-grid{pointer-events:none;flex:none;position:relative}.module-grid>.react-grid-item{pointer-events:auto}.module-grid.is-group-dragging>.react-grid-item{transition:none}.zoom-control{z-index:25;background:var(--vc-panel);border:1px solid var(--vc-ink-line);box-shadow:var(--shadow);align-items:stretch;display:flex;position:absolute;top:12px;right:12px}.zoom-control button{font-family:var(--font-mono);color:var(--vc-ink);border:0;border-left:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);background:0 0;padding:5px 9px;font-size:11px}.zoom-control button:first-child{border-left:0}.zoom-control button:hover{background:var(--vc-panel-hi);color:var(--vc-accent)}.zoom-control .zoom-pct{text-align:center;min-width:46px;color:var(--vc-ink-soft)}.zoom-control .zoom-fit{text-transform:uppercase;letter-spacing:.06em;color:var(--vc-ink-soft);font-size:9px}.react-grid-item.react-grid-placeholder{background:#d9482b24;border-radius:2px}.module-node{cursor:default;width:100%;height:100%;position:relative}.connector-mount{pointer-events:none;z-index:4;position:absolute;inset:0}.module-node .panel-header{cursor:grab}.module-node .panel-header:active{cursor:grabbing}.grid-canvas .react-grid-layout{z-index:1;position:relative}.cable-layer{z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.cable-layer .cable-hit{pointer-events:stroke;cursor:pointer}.cable-layer .cable:hover path:last-child{stroke-width:3.5px}.cable-layer .cable.is-live path:last-child{stroke:var(--vc-cable-live);stroke-width:3px;stroke-dasharray:5 7;filter:drop-shadow(0 0 3px var(--vc-cable-live));animation:.55s linear infinite cable-flux}@keyframes cable-flux{to{stroke-dashoffset:-24px}}@media (prefers-reduced-motion:reduce){.cable-layer .cable.is-live path:last-child{animation:none}}.cable-temp-layer{z-index:7;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.cable-temp{pointer-events:none;opacity:.9}.connector-layer{z-index:6;pointer-events:none;position:absolute;top:0;left:0}.port-chip{box-sizing:border-box;height:25px;font-family:var(--font-mono);letter-spacing:.5px;pointer-events:none;border-radius:6px;align-items:center;gap:5px;padding:0 10px 0 8px;font-size:8px;line-height:1;display:inline-flex;position:absolute;box-shadow:inset 0 1px #ffffff59,0 1px 2px #0000004d}.chip-jack{pointer-events:all;background:radial-gradient(circle at 50% 38%,#2a2a26 0%,#141411 62%,#0a0a08 100%);border:1.5px solid #ffffff8c;border-radius:50%;flex:none;width:11px;height:11px;padding:0;transition:filter .12s;position:relative;box-shadow:inset 0 1px 1.5px #000000d9,0 0 0 .5px #0000004d}.port-chip.dir-out .chip-jack{cursor:grab}.port-chip.dir-in .chip-jack{cursor:crosshair}.chip-jack:hover{filter:brightness(1.3)}.port-chip.is-connected .chip-jack:after{content:"";background:#ece9dc;border-radius:50%;position:absolute;inset:2.5px;box-shadow:0 0 2px #ffffffb3,inset 0 1px 1px #00000040}.chip-label{pointer-events:none;white-space:nowrap}.module-node.is-selected .hw-panel{outline:2px solid var(--sel-color,var(--vc-accent));outline-offset:0}.module-node.is-selected{box-shadow:0 0 16px color-mix(in srgb, var(--sel-color,var(--vc-accent)) 40%, transparent);border-radius:16px}.module-node.fam-image.is-selected{--sel-color:var(--vc-fam-image)}.module-node.fam-text.is-selected{--sel-color:var(--vc-fam-text)}.module-node.fam-neutral.is-selected{--sel-color:var(--vc-fam-neutral)}.module-node.fam-generation.is-selected{--sel-color:var(--vc-fam-generation)}.module-node.fam-modifier.is-selected{--sel-color:var(--vc-fam-modifier)}.module-node.fam-archive.is-selected{--sel-color:var(--vc-fam-archive)}.marquee-box{z-index:6;pointer-events:none;border:1px solid var(--vc-accent);background:color-mix(in srgb, var(--vc-accent) 12%, transparent);border-radius:4px;position:absolute}.module-menu{z-index:60;background:var(--vc-panel);border:1px solid var(--vc-ink-line);box-shadow:var(--shadow);padding:3px;position:fixed}.module-menu-item{font-family:var(--font-mono);color:var(--vc-ink);cursor:pointer;transition:var(--transition);background:0 0;border:0;align-items:center;gap:6px;padding:5px 11px 5px 8px;font-size:11px;display:flex}.module-menu-item:hover{background:var(--vc-panel-hi);color:var(--vc-accent)}.module-menu-glyph{color:var(--vc-ink-soft);font-size:10px}.module-instance{z-index:5;font-family:var(--font-mono);color:var(--vc-ink-ghost);pointer-events:none;font-size:10px;line-height:1;position:absolute;top:4px;left:4px}.react-grid-item>.react-resizable-handle{z-index:4}.react-grid-item>.react-resizable-handle:after{border-color:var(--vc-ink-soft)}.module-node:hover .react-resizable-handle:after{border-color:var(--vc-accent)}.react-grid-item:has(>.module-node.is-fixed)>.react-resizable-handle{display:none}.dock{z-index:20;background:linear-gradient(#cfcfca 0%,#c1c1bc 100%);border:0;border-radius:13px;align-items:flex-start;gap:12px;width:max-content;max-width:min(1120px,96%);padding:8px 14px;transition:padding .28s;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #00000029,0 8px 24px #00000047}.dock-label{align-self:center}.dock:hover{padding:12px 16px 14px}.dock:hover .dock-label{align-self:flex-start;padding-top:4px}.dock-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#3c3c3a;text-shadow:0 1px #ffffff80;flex:none;font-size:9px}.dock-rail{flex-wrap:wrap;align-items:stretch;gap:12px 7px;padding-bottom:2px;display:flex;overflow:visible}.dock-rail::-webkit-scrollbar{height:6px}.dock-rail::-webkit-scrollbar-thumb{background:#00000038;border-radius:3px}.dock-section{border-right:1px solid #0000001f;flex-direction:column;align-items:stretch;gap:6px;padding-right:10px;display:flex}.dock-section:last-child{border-right:0}.dock-section-label{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--fam-color,var(--vc-ink-ghost));opacity:.85;border-bottom:2px solid var(--fam-color,transparent);padding:2px 2px 3px;font-size:8px}.dock-section-chips{opacity:0;flex-direction:column;gap:6px;max-height:0;transition:max-height .28s,opacity .18s;display:flex;overflow:hidden}.dock-section-chips .dock-chip{box-sizing:border-box;justify-content:flex-start}.dock:hover .dock-section-chips{opacity:1;max-height:320px;padding-bottom:6px}.dock-section.fam-image{--fam-color:var(--vc-fam-image)}.dock-section.fam-text{--fam-color:var(--vc-fam-text)}.dock-section.fam-generation{--fam-color:var(--vc-fam-generation)}.dock-section.fam-modifier{--fam-color:var(--vc-fam-modifier)}.dock-section.fam-archive{--fam-color:var(--vc-fam-archive)}.dock-chip.fam-image{--chip-fam:var(--vc-fam-image)}.dock-chip.fam-text{--chip-fam:var(--vc-fam-text)}.dock-chip.fam-generation{--chip-fam:var(--vc-fam-generation)}.dock-chip.fam-modifier{--chip-fam:var(--vc-fam-modifier)}.dock-chip.fam-archive{--chip-fam:var(--vc-fam-archive)}.dock-empty{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:#6a6a67;text-shadow:0 1px #ffffff73;padding:4px 6px;font-size:9px}.dock-chip{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--vc-ink-soft);box-shadow:inset 3px 0 0 0 var(--chip-fam,transparent), inset 0 1px 1px #fff9, 0 1px 2px #00000047;text-shadow:0 1px #fff6;cursor:pointer;white-space:nowrap;transition:var(--transition);background:linear-gradient(#d2d2cd 0%,#ccccc7 45%,#b2b2ad 100%);border:0;border-radius:7px;flex:none;align-items:center;gap:7px;padding:7px 11px;font-size:9px;display:flex}.dock-chip:hover{color:var(--vc-ink)}.dock-chip:active{transform:translateY(.5px);box-shadow:inset 0 2px 4px #0006}.dock-chip-glyph{color:var(--vc-ink-soft);text-shadow:none;font-size:10px}.dock-chip.fam-image .dock-chip-glyph{color:var(--vc-fam-image)}.dock-chip.fam-text .dock-chip-glyph{color:var(--vc-fam-text)}.dock-chip.fam-neutral .dock-chip-glyph{color:var(--vc-fam-neutral)}.dock-chip.fam-generation .dock-chip-glyph{color:var(--vc-fam-generation)}.dock-chip.fam-modifier .dock-chip-glyph{color:var(--vc-fam-modifier)}.dock-chip.fam-archive .dock-chip-glyph{color:var(--vc-fam-archive)}.dock-chip-host{color:var(--vc-ink-ghost);font-size:8px}.dock-chip-count{background:var(--vc-ink-line);min-width:13px;height:13px;color:var(--vc-ink);border-radius:7px;justify-content:center;align-items:center;padding:0 3px;font-size:8px;font-weight:600;display:inline-flex}.react-flow__controls{background:var(--vc-panel);border:1px solid var(--vc-ink-line);box-shadow:none}.react-flow__controls-button{background:var(--vc-panel);border-bottom:1px solid var(--vc-ink-line);color:var(--vc-ink);fill:var(--vc-ink)}.react-flow__controls-button:hover{background:var(--vc-panel-hi)}.react-flow__minimap{background:var(--vc-panel-low);border:1px solid var(--vc-ink-line)}.console-header{height:var(--header-h);border-bottom:1px solid var(--vc-ink-line);background:var(--vc-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.console-header .brand-logo{width:auto;height:22px}.console-header .session-meta{font-family:var(--font-mono);color:var(--vc-ink-soft);text-transform:lowercase;letter-spacing:.04em;gap:18px;font-size:9.5px;display:flex}.console-header .session-meta strong{color:var(--vc-ink);margin-left:4px;font-weight:500}.console-header .session-meta .pill-intent{color:var(--vc-accent);font-weight:600}.console-header .nav{align-items:center;gap:10px;display:flex}.console-header .nav-btn{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--vc-ink-soft);cursor:pointer;text-shadow:0 1px #fff6;transition:var(--transition);background:linear-gradient(#d2d2cd 0%,#ccccc7 45%,#b2b2ad 100%);border:0;border-radius:6px;padding:6px 11px;font-size:9px;box-shadow:inset 0 1px 1px #fff9,0 1px 2px #00000047}.console-header .nav-btn:hover{color:var(--vc-ink)}.console-header .nav-btn:active{transform:translateY(.5px);box-shadow:inset 0 2px 4px #0006}.console-header .nav-btn.is-active{color:var(--vc-accent);text-shadow:none}.console-header .version-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--vc-ink-soft);border:1px solid var(--vc-ink-line);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:0 0;padding:2px 6px;font-size:10px}.console-header .version-tag:hover{color:var(--vc-ink);border-color:var(--vc-ink)}.panel{background:var(--vc-panel);border:1px solid var(--vc-ink-line);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.panel.tier-black{background:var(--vc-black);border-color:var(--vc-black-hi);color:var(--vc-ink-ghost)}.panel.tier-premium{background:var(--vc-panel-hi);box-shadow:inset 0 0 0 1px #d9482b1f}.panel.is-disconnected{opacity:.32}.module-node.fam-image .panel{border-color:var(--vc-fam-image)}.module-node.fam-text .panel{border-color:var(--vc-fam-text)}.module-node.fam-neutral .panel{border-color:var(--vc-fam-neutral)}.module-node.fam-generation .panel{border-color:var(--vc-fam-generation)}.module-node.fam-modifier .panel{border-color:var(--vc-fam-modifier)}.module-node.fam-archive .panel{border-color:var(--vc-fam-archive)}.panel-header{border-bottom:1px solid var(--vc-ink-line);flex-shrink:0;justify-content:space-between;align-items:center;height:20px;padding:0 8px;display:flex}.panel.tier-black .panel-header{border-bottom-color:#ffffff0f}.panel-title{font-family:var(--font-sans);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink);font-size:10px;font-weight:500}.panel.tier-black .panel-title{color:var(--vc-ink-ghost)}.panel-kicker{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;font-size:9px}.panel-kicker.is-accent{color:var(--vc-accent)}.panel-body{flex:1;min-height:0;padding:12px;position:relative}.placeholder-pane{width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-ghost);background:repeating-linear-gradient(45deg,#0000 0 10px,#00000008 10px 11px);justify-content:center;align-items:center;font-size:9px;display:flex}@media (width<=720px){.console-header{flex-direction:column;gap:8px;height:auto;padding:12px}.console-header .session-meta{flex-wrap:wrap;justify-content:center;gap:8px}.console-hint{text-align:center;padding:0 8px;font-size:8px}}.prompt-versions{border-top:1px solid var(--vc-ink-line);margin-top:10px;padding-top:8px}.prompt-versions-head{letter-spacing:.08em;text-transform:uppercase;color:var(--vc-ink-soft);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;display:flex}.prompt-versions-count{color:var(--vc-ink-ghost)}.prompt-versions-list{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow-y:auto}.prompt-version{text-align:left;background:var(--vc-panel);border:1px solid var(--vc-ink-line);cursor:pointer;width:100%;color:var(--vc-ink);font:inherit;border-radius:4px;align-items:baseline;gap:7px;padding:5px 7px;line-height:1.3;display:flex}.prompt-version:hover:not(:disabled){background:var(--vc-panel-hi);border-color:var(--vc-ink-soft)}.prompt-version:disabled{opacity:.5;cursor:default}.prompt-version.is-active{border-color:var(--vc-ink);background:var(--vc-panel-hi)}.prompt-version.is-custom{border-style:dashed}.prompt-version-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--vc-ink-soft);border-left:2px solid var(--vc-ink-line);flex:none;padding-left:5px;font-size:9.5px}.prompt-version-tag.fam-text{border-left-color:var(--vc-fam-text)}.prompt-version-tag.fam-image{border-left-color:var(--vc-fam-image)}.prompt-version-text{color:var(--vc-ink-soft);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;overflow:hidden}.refine-position{align-items:center;gap:8px;margin-top:6px;display:flex}.refine-position-label{letter-spacing:.08em;text-transform:uppercase;color:var(--vc-ink-soft);flex:none;font-size:10px}.patch-menu-backdrop{z-index:50;position:fixed;inset:0}.patch-menu{z-index:51;min-width:132px;font-family:var(--font-mono);background:linear-gradient(#2a2a27 0%,#201f1d 100%);border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed;box-shadow:0 8px 24px #00000080}.patch-menu-title{letter-spacing:1px;text-transform:uppercase;color:var(--vc-ink-ghost);padding:2px 6px 4px;font-size:8px}.patch-menu-empty{color:var(--vc-ink-ghost);padding:4px 6px;font-size:10px}.patch-menu-item{color:#d8d8d2;font-family:var(--font-mono);text-transform:lowercase;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:11px;display:flex}.patch-menu-item:hover{background:#ffffff14}.patch-menu-dot{background:var(--fam-color,var(--vc-fam-neutral));border-radius:50%;flex:none;width:8px;height:8px}.patch-menu-item.fam-image{--fam-color:var(--vc-fam-image)}.patch-menu-item.fam-text{--fam-color:var(--vc-fam-text)}.patch-menu-item.fam-generation{--fam-color:var(--vc-fam-generation)}.patch-menu-item.fam-modifier{--fam-color:var(--vc-fam-modifier)}.patch-menu-item.fam-archive{--fam-color:var(--vc-fam-archive)}.grid-wrap.is-gesturing .module-grid,.grid-wrap.is-gesturing .cable-layer{pointer-events:none}.led{background:var(--vc-led-off);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block;box-shadow:inset 0 0 0 1px #00000080}.led.is-on{background:var(--vc-led-on);box-shadow:0 0 6px #e84a2c99,inset 0 0 0 1px #0000004d}.led.is-dim{background:var(--vc-led-off);opacity:.7}.image-placeholder{border:1px solid var(--vc-ink-line);background:repeating-linear-gradient(45deg,#0000 0 9px,#00000038 9px 10px);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.image-placeholder.is-dense{background:repeating-linear-gradient(45deg,#0000 0 5px,#00000038 5px 6px)}.image-placeholder .placeholder-label{font-family:var(--font-mono);color:#0000008c;text-transform:lowercase;letter-spacing:.05em;background:#dcdcdad9;padding:1px 4px;font-size:8.5px}.dropzone{border:1px dashed var(--vc-ink-line);background:var(--vc-panel-low);cursor:pointer;transition:var(--transition);font-family:var(--font-mono);color:var(--vc-ink-soft);text-transform:lowercase;letter-spacing:.05em;justify-content:center;align-items:center;font-size:9px;display:flex;position:relative}.dropzone:hover{border-color:var(--vc-ink);color:var(--vc-ink)}.dropzone.is-dragging{border-color:var(--vc-accent);color:var(--vc-accent);background:#d9482b0f}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented{border:1px solid var(--vc-ink-line);background:var(--vc-panel-low);width:100%;display:inline-flex}.segmented .seg-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink-soft);cursor:pointer;transition:var(--transition);background:0 0;border:0;flex:1;padding:6px 8px;font-size:10px}.segmented .seg-btn+.seg-btn{border-left:1px solid var(--vc-ink-line)}.segmented .seg-btn:hover{color:var(--vc-ink)}.segmented .seg-btn.is-active{background:var(--vc-ink);color:var(--vc-bg)}.chip{font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;color:var(--vc-ink);background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);text-align:left;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:9.5px;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--vc-ink)}.chip.is-selected{background:var(--vc-accent);color:#fff;border-color:var(--vc-accent)}.chip.is-disabled{color:var(--vc-ink-ghost);cursor:not-allowed;border-style:dashed}.chip .chip-marker{text-align:center;width:10px;font-size:9px;font-weight:600;display:inline-block}.chip .chip-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chip .chip-suffix{color:#ffffffb3;margin-left:4px;font-size:8px}.chip:not(.is-selected) .chip-suffix{color:var(--vc-ink-ghost)}.toggle{font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.06em;cursor:pointer;color:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10px;display:inline-flex}.toggle .toggle-track{background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);width:28px;height:14px;transition:var(--transition);position:relative}.toggle .toggle-knob{background:var(--vc-ink-soft);width:10px;height:10px;transition:var(--transition);position:absolute;top:1px;left:1px}.toggle.is-on .toggle-track{background:var(--vc-accent);border-color:var(--vc-accent)}.toggle.is-on .toggle-knob{background:#fff;left:15px}.knob{cursor:ns-resize;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;display:inline-flex}.knob svg{display:block}.knob .knob-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink-soft);font-size:8.5px}.knob .knob-value{font-family:var(--font-mono);color:var(--vc-ink);font-size:9px;font-weight:500}.inputs-module{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.inputs-section{flex-direction:column;gap:4px;min-height:0;display:flex}.inputs-section .row-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:var(--vc-ink-ghost);justify-content:space-between;font-size:8.5px;display:flex}.inputs-section .row-label .row-count{color:var(--vc-ink-soft)}.location-slot{align-items:stretch;gap:6px;width:100%;height:64px;display:flex;position:relative}.location-slot .location-thumb,.location-slot .location-dropzone{background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);flex:1;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.location-slot .location-thumb{cursor:default}.location-slot .location-thumb img{object-fit:cover;width:100%;height:100%}.location-slot .location-running{pointer-events:none;border:1.5px dashed var(--vc-accent);opacity:.55;mix-blend-mode:normal;animation:5s linear infinite running-marquee;position:absolute;inset:0}@keyframes running-marquee{0%{background-position:0 0,100% 0,0 100%,0 0}to{background-position:20px 0,100% -20px,-20px 100%,0 20px}}.location-slot .location-meta{color:#fff;font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.04em;background:#0a0a0a99;padding:2px 5px;font-size:8.5px;position:absolute;bottom:4px;left:4px}.location-slot .location-led{position:absolute;top:6px;right:6px}.location-slot .replace-btn{color:#fff;font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.04em;cursor:pointer;background:#0a0a0a99;border:0;justify-content:center;align-items:center;padding:2px 6px;font-size:8.5px;display:flex;position:absolute;bottom:4px;right:4px}.location-slot .replace-btn:hover{background:#0a0a0ad1}.inputs-section .row-label .row-clear{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:8.5px}.inputs-section .row-label .row-clear:hover{text-decoration:underline}.ref-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.ref-slot{aspect-ratio:1;background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ref-slot:hover{border-color:var(--vc-ink)}.ref-slot img{object-fit:cover;width:100%;height:100%}.ref-slot.is-disabled{opacity:.45}.ref-slot.is-disabled img{filter:grayscale()brightness(.8)}.ref-slot.is-anchor{border-color:var(--vc-accent);box-shadow:inset 0 0 0 1px var(--vc-accent)}.ref-slot .ref-anchor{color:#fff;cursor:pointer;opacity:0;width:16px;height:16px;transition:var(--transition);z-index:2;background:#0a0a0a99;border:0;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;top:0;left:0}.ref-slot:hover .ref-anchor{opacity:.85}.ref-slot .ref-anchor.is-on{opacity:1;background:var(--vc-accent);color:var(--vc-bg)}.ref-slot .ref-led{position:absolute;top:3px;right:3px}.ref-slot .ref-remove{color:#fff;width:14px;height:14px;font-family:var(--font-mono);cursor:pointer;opacity:0;transition:var(--transition);background:#0a0a0ab3;border:0;font-size:9px;line-height:1;position:absolute;top:0;right:0}.ref-slot:hover .ref-remove{opacity:1}.ref-slot .ref-glyph{font-family:var(--font-mono);color:var(--vc-ink-soft);font-size:14px}.ref-type-switch{opacity:0;transition:var(--transition);z-index:2;position:absolute;bottom:2px;left:2px;right:16px}.ref-slot:hover .ref-type-switch,.ref-slot:focus-within .ref-type-switch{opacity:1}.ref-type-switch .segmented .seg-btn{color:#fff;background:#0a0a0a9e;padding:2px 3px;font-size:7px}.ref-type-switch .segmented .seg-btn.is-active{background:var(--vc-accent);color:#fff}.ref-slot.add-slot{color:var(--vc-ink-soft);font-family:var(--font-mono);background:0 0;border-style:dashed;font-size:12px;line-height:1}.ref-slot .ref-name{color:#fff;font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:1;transition:var(--transition);background:#0a0a0aad;padding:1px 3px;font-size:7px;position:absolute;bottom:2px;left:2px;right:2px;overflow:hidden}.ref-slot:hover .ref-name{opacity:0}.inputs-module .module-footer{border-top:1px solid var(--vc-ink-line);font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink-soft);justify-content:space-between;margin-top:auto;padding-top:4px;font-size:8.5px;display:flex}.canvas-module{flex-direction:column;gap:6px;width:100%;height:100%;min-height:0;display:flex}.canvas-frame{background:var(--vc-black);border:1px solid var(--vc-black-hi);flex:1;min-height:0;position:relative;overflow:hidden}.canvas-stage{position:absolute;inset:0}.canvas-empty,.canvas-empty-drop{border:1px dashed var(--vc-ink-line);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-empty-drop{cursor:pointer;transition:var(--transition)}.canvas-empty-drop:hover,.canvas-empty-drop.is-dragging{border-color:var(--vc-accent);background:#d9482b0a}.canvas-empty-text{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:var(--vc-ink-ghost);font-size:10px}.canvas-empty-drop:hover .canvas-empty-text,.canvas-empty-drop.is-dragging .canvas-empty-text{color:var(--vc-accent)}.canvas-stage[data-loading]{cursor:progress}.canvas-stage:hover .expand-btn.on-image,.canvas-stage:focus-within .expand-btn.on-image,.candidate-tile:hover .expand-btn.on-image,.candidate-tile:focus-within .expand-btn.on-image,.export-compare:hover .expand-btn.on-image,.export-compare:focus-within .expand-btn.on-image{opacity:1;pointer-events:auto}.canvas-recompute-badge{z-index:5;color:#fff;font-family:var(--font-mono);letter-spacing:.05em;text-transform:lowercase;background:#0a0a0ab8;border:1px solid #ffffff38;align-items:center;gap:6px;padding:4px 7px;font-size:9px;display:inline-flex;position:absolute;top:10px;right:10px}.canvas-error{color:#fff;font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;pointer-events:none;z-index:4;background:#a02010eb;padding:5px 8px;font-size:9px;position:absolute;bottom:8px;left:8px;right:8px}.canvas-allhidden{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink-ghost);pointer-events:none;z-index:4;border:1px dashed #ffffff2e;padding:8px 14px;font-size:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compare-split-line{pointer-events:none;background:#d9482bcc;width:1px;position:absolute;top:0;bottom:0;box-shadow:0 0 8px #d9482b66}.canvas-footer{flex-shrink:0;align-items:center;gap:10px;min-height:30px;padding:0 4px;display:flex}.canvas-meta{min-width:160px;font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.05em;flex-direction:column;gap:1px;font-size:8.5px;display:flex}.canvas-meta .canvas-warn{color:var(--vc-accent)}.canvas-compare{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.canvas-footer .compare-label{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.06em;min-width:90px;font-size:9px}.canvas-footer .compare-slider{accent-color:var(--vc-accent);flex:1;min-width:70px}.canvas-export-group{flex:none;align-items:center;gap:8px;display:flex}.canvas-export{flex:none;height:24px;padding:0 10px;font-size:9px}.canvas-psd{font-family:var(--font-mono);color:var(--vc-ink-soft);cursor:pointer;background:0 0;border:0;flex:none;font-size:9px}.canvas-psd:hover:not(:disabled){color:var(--vc-fam-image)}.canvas-psd:disabled{opacity:.35;cursor:not-allowed}.canvas-aspect-picker{flex:none;align-items:flex-start;gap:8px;padding:2px 2px 0;display:flex;overflow-x:auto}.canvas-aspect-picker .aspect-group{flex-direction:column;flex:none;gap:3px;display:flex}.canvas-aspect-picker .aspect-group .label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:var(--vc-ink-ghost);font-size:7.5px}.canvas-aspect-picker .aspect-list{gap:3px;display:flex}.canvas-aspect-picker .aspect-chip{background:var(--vc-black-hi);min-height:22px;color:var(--vc-ink-ghost);font-family:var(--font-mono);text-transform:lowercase;cursor:pointer;border:1px solid #ffffff17;align-items:center;gap:4px;padding:3px 6px;font-size:8.5px;display:inline-flex}.canvas-aspect-picker .aspect-chip:hover{border-color:var(--vc-ink-soft)}.canvas-aspect-picker .aspect-chip.active{background:var(--vc-accent);border-color:var(--vc-accent);color:#fff}.canvas-aspect-picker .aspect-chip.estimated{border-color:var(--vc-accent)}.canvas-aspect-picker .aspect-chip .glyph{border:1px solid;display:inline-block}.canvas-aspect-picker .estimated-text{color:currentColor;opacity:.75}.prompt-module{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex}.prompt-copy{font-family:var(--font-mono);letter-spacing:.04em;text-transform:lowercase;flex-shrink:0;align-items:baseline;gap:10px;display:flex}.prompt-copy .copy-label{color:var(--vc-ink);font-size:10px;font-weight:500}.prompt-copy .copy-hint{color:var(--vc-ink-ghost);font-size:9px}.prompt-fields{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.prompt-input,.prompt-output-text{background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);width:100%;font-family:var(--font-sans);color:var(--vc-ink);resize:none;flex-shrink:0;padding:6px 8px;font-size:12px;line-height:1.4}.prompt-input{max-height:80px;overflow-y:auto}.prompt-output-text{max-height:90px;overflow-y:auto}.prompt-input:focus,.prompt-output-text:focus{border-color:var(--vc-accent);outline:none}.prompt-input:disabled{opacity:.45;cursor:not-allowed}.prompt-output{flex-direction:column;gap:4px;display:flex}.prompt-output-wrap{position:relative}.prompt-output .output-label{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.06em;font-size:8.5px}.refine-row{gap:6px;display:flex}.refine-module{flex-direction:column;gap:8px;height:100%;display:flex}.refine-module .refine-wrap{flex:1;min-height:0}.refine-module .refine-input{height:100%}.refine-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.refine-input{border:1px solid var(--vc-ink-line);font-family:var(--font-sans);background:0 0;flex:1;padding:4px 8px;font-size:11px}.refine-input:focus{border-color:var(--vc-accent);outline:none}.prompt-char-count{font-family:var(--font-mono);color:var(--vc-ink-ghost);pointer-events:none;z-index:3;font-size:8px;position:absolute;bottom:4px;right:6px}.prompt-char-count.is-warn{color:var(--vc-accent);font-weight:600}.prompt-footer{border-top:1px solid var(--vc-ink-line);flex-shrink:0;align-items:center;gap:10px;padding-top:4px;display:flex}.prompt-status-stack{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prompt-footer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.prompt-status,.prompt-error{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.05em;font-size:9px}.prompt-error{color:var(--vc-danger)}.btn-accent{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:#fff;background:var(--vc-accent);cursor:pointer;transition:var(--transition);border:0;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:600;display:inline-flex}.btn-accent:hover:not(:disabled){background:var(--vc-accent-dim)}.btn-accent:disabled{background:var(--vc-ink-line);cursor:not-allowed;opacity:.6}.btn-secondary{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink);background:var(--vc-panel-hi);border:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:6px;padding:4px 10px;font-size:10px;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--vc-ink)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.intent-module{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.intent-section{flex-direction:column;gap:4px;display:flex}.intent-section .row-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:lowercase;color:var(--vc-ink-ghost);justify-content:space-between;font-size:8.5px;display:flex}.intent-section .row-label .row-count{color:var(--vc-ink-soft)}.refs-section{flex:1;min-height:0}.chip-list{flex-direction:column;gap:4px;min-height:0;display:flex;overflow-y:auto}.chip-list .muted-line{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-align:center;padding:12px 0;font-size:9px}.intent-module .explain-text{font-family:var(--font-sans);color:var(--vc-ink-soft);margin:2px 0 0;font-size:11px;line-height:1.4}.intent-aspect-knob{flex-direction:column;align-items:center;gap:4px;display:flex}.intent-aspect-knob .explain-text{text-align:center}.intent-hint{border-top:1px solid var(--vc-ink-line);padding-top:6px;color:var(--vc-ink-ghost)!important}.generate-module,.candidates-module{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex}.cand-head{justify-content:flex-end;align-items:center;gap:10px;min-height:14px;display:flex}.cand-head .muted-line{font-family:var(--font-mono);color:var(--vc-ink-ghost);margin-right:auto;font-size:8.5px}.gen-knobs{grid-template-columns:repeat(2,1fr);place-items:start center;gap:8px 4px;display:grid}.gen-status-row{font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--vc-ink-ghost);justify-content:space-between;align-items:center;font-size:8.5px;display:flex}.gen-status-row .status-text{color:var(--vc-ink-soft)}.gen-status-row .status-actions{gap:8px;display:flex}.link-action{font-family:var(--font-mono);color:var(--vc-ink-ghost);cursor:pointer;background:0 0;border:0;padding:0;font-size:8.5px}.link-action:hover{color:var(--vc-accent)}.gen-model-row{padding:2px 0;display:flex}.gen-model-row .segmented{width:100%}.gen-param-stack{flex-direction:column;gap:4px;display:flex}.gen-param-row{grid-template-columns:38px 1fr;align-items:center;gap:6px;display:grid}.gen-param-label{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.06em;font-size:8.5px}.gen-param-row .segmented .seg-btn,.gen-model-row .segmented .seg-btn{padding:4px 5px;font-size:8.5px}.gen-fire{flex-direction:column;align-items:center;gap:6px;padding:2px 0;display:flex}.gen-fire-btn{cursor:pointer;background:radial-gradient(120% 120% at 50% 32%,#e8442b 0%,#c5311c 55%,#8f2113 100%);border:2px solid #7a1d12;border-radius:50%;width:62px;height:62px;transition:box-shadow .15s,filter .15s,transform 50ms;box-shadow:inset 0 2px #fff3,0 4px 8px #00000073}.gen-fire-btn:hover:not(:disabled){filter:brightness(1.1)}.gen-fire-btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #ffffff26,0 2px 4px #00000080}.gen-fire-btn:disabled{cursor:not-allowed;background:radial-gradient(120% 120% at 50% 32%,#565656 0%,#444 60%,#333 100%);border-color:#333;box-shadow:0 2px 4px #0000004d}.gen-fire-btn.is-firing,.gen-fire-btn.is-firing:disabled{cursor:progress;background:radial-gradient(120% 120% at 50% 32%,#ff5a3c 0%,#e8442b 55%,#c5311c 100%);border-color:#ff7a5c;animation:.9s ease-in-out infinite fire-glow}.gen-fire-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-soft);font-size:9px}@keyframes fire-glow{0%,to{filter:brightness(1.05);box-shadow:inset 0 2px #ffffff40,0 0 10px 2px #e8442bb3}50%{filter:brightness(1.35);box-shadow:inset 0 2px #fff6,0 0 26px 8px #ff6446}}.gen-error{font-family:var(--font-mono);color:var(--vc-danger);letter-spacing:.05em;font-size:8.5px}.candidates-row{scroll-snap-type:x proximity;scrollbar-width:thin;--cand-cols:4;--cand-min:52px;flex-direction:row;flex:none;gap:4px;padding-bottom:4px;display:flex;overflow:auto hidden}.gen-scroll{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.candidates-row .muted-line{text-align:center;font-family:var(--font-mono);color:var(--vc-ink-ghost);flex:1;padding:12px 0;font-size:9px}.candidate-tile{flex:0 0 max(var(--cand-min), calc((100% - (var(--cand-cols) - 1) * 4px) / var(--cand-cols)));aspect-ratio:1;scroll-snap-align:start;background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);padding:0;position:relative;overflow:hidden}.candidate-select{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.candidate-tile.is-skeleton{background:linear-gradient(90deg, transparent, #ffffff47, transparent), var(--vc-panel-low);background-size:180% 100%;border-style:dashed;animation:1.1s linear infinite candidate-pulse}@keyframes candidate-pulse{to{background-position:-180% 0}}.candidate-tile:hover{border-color:var(--vc-ink)}.candidate-tile.is-selected{border-color:var(--vc-accent);box-shadow:0 0 0 1px var(--vc-accent)}.candidate-tile img{object-fit:cover;width:100%;height:100%}.candidate-tile .cand-marker{font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px #0009;font-size:11px;position:absolute;top:2px;right:4px}.candidate-tile.is-selected .cand-marker{color:var(--vc-accent)}.candidate-tile .cand-batch{font-family:var(--font-mono);color:#fff;background:#0009;padding:0 4px;font-size:8.5px;position:absolute;bottom:2px;left:4px}.iterate-cta{font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.08em;color:var(--vc-accent);border:1px dashed var(--vc-accent);cursor:pointer;transition:var(--transition);background:0 0;padding:4px 0;font-size:10px}.iterate-cta:hover{background:#d9482b0f}.iter-banner{border:1px solid var(--vc-accent);font-family:var(--font-mono);color:var(--vc-accent);letter-spacing:.05em;text-transform:lowercase;background:#d9482b14;justify-content:space-between;align-items:center;padding:4px 8px;font-size:9px;display:flex}.vignette-module{flex-direction:column;gap:6px;height:100%;min-height:0;display:flex}.vig-tabs{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.vig-tab{width:22px;height:22px;font-family:var(--font-mono);color:var(--vc-ink);background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);cursor:pointer;transition:var(--transition);font-size:10px}.vig-tab:hover{border-color:var(--vc-ink)}.vig-tab.is-active{border-color:var(--vc-accent);box-shadow:0 0 0 1px var(--vc-accent)}.vig-tab.is-off{opacity:.45}.vig-tab-add{color:var(--vc-accent);border-style:dashed}.vig-tab-remove{margin-left:auto}.vig-row{align-items:center;gap:10px;display:flex}.vig-controls{flex-shrink:0}.vig-controls .segmented{width:140px}.vig-feather-mode{flex-shrink:0}.vig-feather-mode .segmented{width:150px}.vig-label{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.06em;font-size:8.5px}.vig-fit:disabled{opacity:.4;cursor:not-allowed}.vig-knobs{flex-wrap:wrap;flex:1;justify-content:space-around;align-items:center;gap:8px;overflow-y:auto}.tier-black .toggle .toggle-label,.tier-black .knob .knob-label,.tier-black .knob .knob-value,.tier-black .seg-btn{color:var(--vc-ink-ghost)}.tier-black .seg-btn.is-active{background:var(--vc-ink-ghost);color:var(--vc-black)}.tier-black .segmented{background:var(--vc-black-hi);border-color:#ffffff14}.tier-black .segmented .seg-btn+.seg-btn{border-left-color:#ffffff14}.lut-module{flex-direction:column;height:100%;min-height:0;display:flex}.lut-error{font-family:var(--font-mono);letter-spacing:.04em;color:var(--vc-accent);justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:9px;display:flex}.lut-grid{align-items:stretch;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.lut-grid .muted-line{font-family:var(--font-mono);color:var(--vc-ink-ghost);padding:12px 0;font-size:9px}.lut-tile{background:var(--vc-black-hi);cursor:pointer;min-width:64px;transition:var(--transition);border:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:4px;padding:4px;display:flex}.lut-tile:hover{border-color:var(--vc-ink-soft)}.lut-tile.is-selected{border-color:var(--vc-accent);box-shadow:0 0 0 1px var(--vc-accent)}.lut-tile .lut-thumb{background:linear-gradient(135deg,#3a2a1a,#8b6a4a 30%,#d2b88a 60%,#ffd9a0);height:28px;position:relative;overflow:hidden}.lut-tile .lut-thumb-strip{background:repeating-linear-gradient(90deg,#0000 0 6px,#00000026 6px 7px);position:absolute;inset:0}.lut-tile .lut-name{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-align:center;text-transform:lowercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.lut-tile.is-selected .lut-name{color:var(--vc-accent)}.lut-params{border-top:1px dashed var(--vc-ink-line);gap:12px;margin-top:8px;padding-top:6px;display:flex}.knob.is-disabled{opacity:.4;cursor:not-allowed}.layers{flex-direction:column;gap:4px;height:100%;min-height:0;display:flex;overflow-y:auto}.layers-head{font-family:var(--font-mono);letter-spacing:.05em;text-transform:lowercase;color:var(--vc-ink-ghost);border-bottom:1px solid var(--vc-ink-line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;padding:0 2px 4px;font-size:8.5px;display:flex}.layers-head .link-action{color:var(--vc-accent);font-size:9px}.layer-row{border:1px solid #0000;border-radius:2px;align-items:center;gap:7px;padding:4px 5px;display:flex}.layer-row.is-shown{border-color:var(--vc-ink-line);background:var(--vc-panel-hi)}.layer-row.is-hidden{opacity:.5}.layer-eye{width:22px;height:22px;color:var(--vc-ink-soft);cursor:pointer;transition:var(--transition);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.layer-eye:hover{color:var(--vc-accent)}.layer-row.is-hidden .layer-eye{color:var(--vc-ink-ghost)}.layer-thumb{border:1px solid var(--vc-ink-line);background:var(--vc-panel-low);flex:none;justify-content:center;align-items:center;width:34px;height:26px;display:flex;overflow:hidden}.layer-thumb img{object-fit:cover;width:100%;height:100%;display:block}.layer-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.layer-label{font-family:var(--font-sans);color:var(--vc-ink);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.layer-sub{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.04em;font-size:8.5px}.layer-row.is-shown .layer-sub{color:var(--vc-accent)}.history-card{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex;overflow-y:auto}.hist-current{border:1px solid var(--vc-accent);background:var(--vc-panel-hi);gap:6px;padding:7px;display:flex}.hist-dot{border:1px solid var(--vc-accent);border-radius:50%;flex:none;width:7px;height:7px;margin-top:4px}.hist-dot.is-solid{background:var(--vc-accent)}.hist-current-body{min-width:0;font-family:var(--font-mono);letter-spacing:.04em;flex-direction:column;gap:2px;font-size:9px;display:flex}.hist-current-body .hist-meta{color:var(--vc-accent)}.hist-current-body strong{color:var(--vc-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.hist-current-body em{color:var(--vc-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.hist-before-head{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:8.5px;display:flex}.hist-before-head:after{content:"";background:var(--vc-ink-line);flex:1;height:1px}.hist-empty{font-family:var(--font-mono);color:var(--vc-ink-ghost);font-size:8.5px}.hist-past-list{flex-direction:column;gap:3px;display:flex}.hist-past-row{text-align:left;font-family:var(--font-mono);color:var(--vc-ink-soft);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;grid-template-columns:10px 36px 1fr 42px;align-items:center;gap:5px;padding:4px 3px;font-size:8.5px;display:grid}.hist-past-row:hover{background:var(--vc-panel-hi)}.hist-past-row .hist-intent{color:var(--vc-accent)}.hist-past-row .hist-label{text-overflow:ellipsis;white-space:nowrap;color:var(--vc-ink-soft);overflow:hidden}.hist-past-row .hist-iter{color:var(--vc-ink-ghost)}.meter-card{flex-direction:column;gap:4px;height:100%;display:flex}.meter-row{font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;align-items:baseline;font-size:9.5px;display:flex}.meter-row .meter-label{color:var(--vc-ink-ghost);text-transform:lowercase}.meter-row .meter-value{color:var(--vc-ink-soft);font-weight:500}.tier-black .meter-row .meter-value{color:#f0f0ee}.hist-past-wrapper{position:relative}.hist-popover{z-index:20;background:var(--vc-panel);border:1px solid var(--vc-ink-line);flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 16px #00000040}.hist-popover-prompt{font-family:var(--font-sans);color:var(--vc-ink-soft);white-space:pre-wrap;word-break:break-word;max-height:80px;margin:0;font-size:11px;line-height:1.4;overflow-y:auto}.hist-popover-revert{border:1px dashed var(--vc-accent);color:var(--vc-accent);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:var(--transition);background:0 0;align-self:flex-end;padding:3px 8px;font-size:9px}.hist-popover-revert:hover{background:#d9482b14}.vig-guidance{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.04em;opacity:.7;margin:0;font-size:8.5px}.meter-readout{border-top:1px dashed var(--vc-ink-line);margin-top:1px;padding-top:3px}.meter-value-wrap{white-space:normal;word-break:break-all;text-align:right;max-width:170px;font-size:8.5px}.admin-loading{font-family:var(--font-mono);color:var(--vc-ink-ghost);text-transform:lowercase;letter-spacing:.06em;justify-content:center;align-items:center;gap:8px;padding:16px 0;font-size:10px;display:flex}.spinner{border:2px solid var(--vc-ink-line);border-top-color:var(--vc-accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.download-link{text-decoration:none}.download-link .dl-icon{flex:none}.settings-num{background:var(--vc-panel-low);border:1px solid var(--vc-ink-line);width:56px;color:var(--vc-ink);text-align:right;padding:2px 4px;font-size:11px}.settings-num:focus{border-color:var(--vc-accent);outline:none}:root{--hw-ramp-hi:#d9d9d6;--hw-ramp-mid:#b5b5b3;--hw-ramp-lo:#949492;--hw-bezel:#0d0d0d;--hw-glass:#151514;--hw-glass-ink:#e8e8e3;--hw-disc-hi:#cfcfcc;--hw-disc-lo:#bababa;--hw-blade:#e0e0de;--hw-rubber-hi:#ccccc7;--hw-rubber-lo:#b2b2ad;--hw-nameplate-ink:#353535;--hw-panel-border:#6f8ca0b3;--hw-panel-fill:#e6e6e633}.hw-panel{border:1.5px solid var(--hw-panel-border);width:100%;height:100%;color:var(--vc-ink);background:linear-gradient(#ffffff59 0%,#fff0 14%),linear-gradient(#dcdcda 0%,#d5d5d3 100%);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000029,0 4px 10px #0000001a,inset 0 1px #ffffff8c}.hw-panel.is-disconnected{opacity:.4}.hw-panel-body{padding:14px 14px 50px;position:absolute;inset:0}.hw-panel .panel-header.hw-nameplate{cursor:grab;background:0 0;border:0;height:auto;margin:0;padding:0;display:block;position:absolute;bottom:10px;left:16px;right:16px}.hw-panel .panel-header.hw-nameplate:active{cursor:grabbing}.hw-nameplate-text{font-family:var(--font-mono);letter-spacing:5px;text-transform:uppercase;color:var(--hw-nameplate-ink);text-shadow:0 1px #ffffff61;-webkit-user-select:none;user-select:none;white-space:nowrap;font-weight:400;line-height:1}.hw-knob{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;display:inline-flex}.hw-knob-dial{cursor:ns-resize;touch-action:none;position:relative}.hw-knob.is-disabled .hw-knob-dial{cursor:default;opacity:.5}.hw-knob-ramp{background:radial-gradient(120% 120% at 50% 28%, #e4e4e1 0%, var(--hw-ramp-hi) 46%, var(--vc-panel) 72%, var(--hw-ramp-lo) 100%);filter:blur(6px);border-radius:50%;position:absolute;box-shadow:0 6px 13px #00000038}.hw-knob-well{background:radial-gradient(120% 120% at 50% 40%,#b0b0ad 0%,#a2a29f 72%,#969693 100%);border-radius:50%;position:absolute;box-shadow:inset 0 2px 4px #00000059,0 1px #fff9}.hw-knob-disc{background:radial-gradient(140% 140% at 50% 28%, #dcdcd9 0%, var(--hw-disc-hi) 48%, var(--hw-disc-lo) 100%);border-radius:50%;position:absolute;box-shadow:0 1px 3px #00000042,inset 0 1px 1px #ffffffb3,inset 0 -1px 2px #0000001f}.hw-knob-blade{background:linear-gradient(180deg, #ededeb 0%, var(--hw-blade) 55%, #cfcfcc 100%);transform-origin:50%;border-radius:5px;position:absolute;top:50%;left:50%;box-shadow:1px 2px 3px #00000047,inset 0 1px #ffffffbf}.hw-knob-name{font-family:var(--font-sans);color:#6e6e6c;text-transform:lowercase;font-size:9px}.hw-knob-value{font-family:var(--font-sans);color:#2a2a2a;font-size:9px}.hw-knob-ticks{pointer-events:none;position:absolute;inset:0;overflow:visible}.hw-knob-ticks .tick-hit{pointer-events:auto;cursor:pointer}.hw-rubber-group{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.hw-rubber-tray{background:linear-gradient(#9a9a97 0%,#a6a6a3 100%);border-radius:9px;gap:2px;padding:2px;display:inline-flex;box-shadow:inset 0 2px 4px #0006,0 1px #ffffff80}.hw-rubber-tray.is-row{flex-direction:row}.hw-rubber-tray.is-col{flex-direction:column}.hw-rubber-btn{appearance:none;cursor:pointer;font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;background:linear-gradient(180deg, #d2d2cd 0%, var(--hw-rubber-hi) 45%, var(--hw-rubber-lo) 100%);color:var(--vc-ink-soft);text-shadow:0 1px #fff6;border:0;border-radius:6px;padding:9px 12px;font-size:9px;box-shadow:inset 0 1px 1px #fff9,0 1px 2px #00000047}.hw-rubber-btn:active:not(:disabled){transform:translateY(.5px);box-shadow:inset 0 2px 4px #0006}.hw-rubber-btn.is-active{color:var(--hw-accent,var(--vc-accent));text-shadow:none}.hw-rubber-btn:disabled{cursor:default;opacity:.5}.hw-sphere{border:2px solid var(--vc-dome-dim);background:radial-gradient(120% 120% at 50% 32%, var(--vc-dome-hi) 0%, var(--vc-dome) 55%, var(--vc-dome-dim) 100%);cursor:pointer;border-radius:50%;width:41px;height:41px;padding:0;transition:filter .15s,transform 50ms,box-shadow .15s;box-shadow:inset 0 2px #fff3,0 4px 8px #00000073}.hw-sphere:hover:not(:disabled){filter:brightness(1.1)}.hw-sphere:active:not(:disabled){transform:translateY(1px)}.hw-sphere.is-firing,.hw-sphere.is-firing:disabled{background:radial-gradient(120% 120% at 50% 32%, #ffe6d6 0%, var(--vc-dome-hi) 55%, var(--vc-dome) 100%);border-color:var(--vc-dome-hi)}.hw-sphere:disabled{cursor:not-allowed;background:radial-gradient(120% 120% at 50% 32%,#565656 0%,#444 60%,#333 100%);border-color:#333;box-shadow:0 2px 4px #0000004d}.hw-sphere-wrap{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.hw-sphere-label{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--vc-ink-soft);font-size:9px}.gen21{flex-direction:column;align-items:center;gap:8px;height:100%;display:flex}.gen21 .hw-sphere-wrap{margin-top:2px}.gen21-top{width:100%;display:flex}.gen21-top-cell{flex:1 1 0;justify-content:center;min-width:0;display:flex}.gen21 .hw-sphere-label{letter-spacing:1px;color:var(--vc-ink-soft)}.gen21-controls{align-items:flex-start;width:100%;margin-top:10px;display:flex}.gen21-ctl{flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;display:flex;overflow:visible}.gen21-ctl-body{justify-content:center;align-items:center;height:104px;display:flex}.gen21-error{font-family:var(--font-mono);color:var(--vc-danger);text-align:center;font-size:8.5px}.hw-screen{position:relative}.hw-screen-ramp{filter:blur(3px);z-index:0;background:linear-gradient(#d9d9d6 0%,#b5b5b2 50%,#949491 100%);border-radius:18px;position:absolute;inset:-11px;box-shadow:0 6px 10px #00000052}.hw-screen-bezel{z-index:1;background:var(--hw-bezel);box-sizing:border-box;width:100%;height:100%;padding:8px;position:relative}.hw-screen-embedded .hw-screen-bezel{box-shadow:inset 0 2px 3px #00000059,0 1px #ffffff4d,0 3px 6px #00000059}.hw-screen-raised .hw-screen-bezel{box-shadow:0 2px 3px #00000059,inset 0 1px 1px #fff6}.hw-screen-raised .hw-screen-glass{box-shadow:inset 0 1px 2px #ffffff1a}.hw-screen-raised .hw-screen-glass:before{display:none}.hw-screen-glass{background:var(--hw-glass);width:100%;height:100%;color:var(--hw-glass-ink);font-family:var(--font-mono);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,inset 0 2px 4px #0000008c}.hw-screen-glass:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0f 0%,#fff0 24% 88%,#ffffff06 100%);position:absolute;inset:0}.hw-wheel-v{align-items:center;gap:8px;display:inline-flex}.hw-wheel-h{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.hw-wheel-labels{text-align:right;height:128px;font-family:var(--font-sans);color:#6e6e6c;flex-direction:column;justify-content:space-between;font-size:7px;display:flex}.hw-wheel-h .hw-wheel-labels{flex-direction:row;width:128px;height:auto}.hw-wheel-slot{cursor:ns-resize;touch-action:none;background:linear-gradient(#6b6b69 0%,#8c8c8a 50%,#757573 100%);border-radius:16px;width:32px;height:128px;position:relative;box-shadow:inset 0 2px 4px #0006,0 1px #ffffff59}.hw-wheel-h .hw-wheel-slot{cursor:ew-resize;background:linear-gradient(90deg,#6b6b69 0%,#8c8c8a 50%,#757573 100%);width:128px;height:32px}.hw-wheel-capsule{background:linear-gradient(#949491 0%,#d4d4d1 16%,#ebebe8 50%,#ccccc9 84%,#8c8c8a 100%);border-radius:11px;justify-content:center;align-items:center;width:22px;height:112px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000004d}.hw-wheel-h .hw-wheel-capsule{background:linear-gradient(90deg,#949491 0%,#d4d4d1 16%,#ebebe8 50%,#ccccc9 84%,#8c8c8a 100%);width:112px;height:22px}.hw-wheel-ridge{background:#ffffff8c;width:18px;height:1px;position:relative}.hw-wheel-ridge:after{content:"";background:#00000026;width:18px;height:1px;position:absolute;top:1px;left:0}.hw-wheel-h .hw-wheel-ridge{width:1px;height:18px}.hw-wheel-h .hw-wheel-ridge:after{width:1px;height:18px;top:0;left:1px}.hw-wheel.is-disabled{opacity:.5;pointer-events:none}.vig21{height:100%;position:relative}.vig21-tabs{align-items:center;gap:6px;display:flex}.vig21-tab{min-width:22px;height:22px;font-family:var(--font-mono);cursor:pointer;background:linear-gradient(180deg, var(--hw-rubber-hi) 0%, var(--hw-rubber-lo) 100%);color:var(--vc-ink-soft);border:0;border-radius:5px;font-size:10px;box-shadow:inset 0 1px 1px #ffffff73,0 1px 2px #0000004d}.vig21-tab.is-active{color:var(--vc-fam-image)}.vig21-iconbtn{cursor:pointer;color:var(--vc-ink-soft);background:0 0;border:0;padding:0 2px;font-size:13px}.vig21-iconbtn:hover{color:var(--vc-fam-image)}.vig21-trays{flex-direction:column;align-items:flex-end;gap:10px;width:240px;display:flex;position:absolute;top:0;right:0}.vig21-tray-row{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.vig21-tray-label,.vig21-tray-row .vig21-fit{font-family:var(--font-sans);color:var(--vc-ink-soft);margin-right:auto;font-size:9px}.vig21-tray-row .hw-rubber-group{width:150px}.vig21-tray-row .hw-rubber-tray{width:100%}.vig21-tray-row .hw-rubber-btn{flex:1;padding-left:0;padding-right:0}.vig21-knobs{justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:44px;left:0;right:0}.vig21-guidance{font-family:var(--font-mono);color:var(--vc-ink-ghost);margin-top:8px;font-size:8.5px}.mask21{box-sizing:border-box;justify-content:center;align-items:flex-start;gap:32px;height:100%;padding:42px 14px 28px;display:flex;position:relative}.mask21-left{flex-direction:column;gap:22px;display:flex}.mask21-right{flex-direction:column;align-items:center;gap:10px;display:flex}.mask21-count{flex-direction:column;align-items:center;display:flex}.mask21-sel{align-items:center;gap:8px;display:flex}.mask21-sel.is-disabled{opacity:.4}.mask21-sel-labels{text-align:right;flex-direction:column;justify-content:space-between;width:48px;height:52px;display:flex}.mask21-sel-lbl{font-family:var(--font-mono);color:var(--vc-ink-soft);font-size:8.5px;line-height:1}.mask21-sel-lbl.is-on{font-weight:600}.mask21-sel .hw-knob-value{display:none}.mask-vmeter{display:flex}.mask-vmeter-track{box-sizing:border-box;background:#dededa;border-radius:6px;flex-direction:column;justify-content:space-between;width:80px;height:150px;padding:10px 12px;display:flex;position:relative;box-shadow:inset 0 2px 5px #0003,inset 0 -1px #ffffff8c}.mask-vmeter-tick{color:#a2a29d;align-items:center;gap:8px;display:flex}.mask-vmeter-tick:before{content:"";background:currentColor;width:15px;height:1px}.mask-vmeter-tick.is-on{color:#4a4a46}.mask-vmeter-num{font-family:var(--font-mono);font-size:10px}.mask-vmeter-needle{border-radius:1px;height:2px;position:absolute;left:8px;right:8px;box-shadow:0 0 2px #00000040}.lut21{align-items:flex-start;gap:14px;height:100%;display:flex;position:relative}.lut21-screen-wrap{flex:none}.lut21-tiles{box-sizing:border-box;gap:10px;height:100%;padding:12px;display:flex}.lut21-tile{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;padding:0;display:flex}.lut21-swatch{background:linear-gradient(90deg,#2b2b2b,#6e6e6e);border-radius:3px;width:130px;height:44px;box-shadow:inset 0 0 0 1px #ffffff0f}.lut21-tile.is-selected .lut21-swatch{box-shadow:inset 0 0 0 1.5px var(--vc-fam-image)}.lut21-name{font-family:var(--font-mono);color:var(--hw-glass-ink);font-size:9px}.lut21-tile.is-selected .lut21-name{color:var(--vc-fam-image)}.lut21-knobs{align-items:flex-start;gap:14px;margin-left:auto;display:flex}.lut21-error{font-family:var(--font-mono);color:var(--vc-danger);font-size:8.5px}.hw-screen-label{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:#e8e8e380;pointer-events:none;font-size:10px;position:absolute;top:8px;right:10px}.hw-glass-text{box-sizing:border-box;resize:none;width:100%;height:100%;color:var(--hw-glass-ink);font-family:var(--font-mono);background:0 0;border:0;outline:0;padding:16px 14px;font-size:11.5px;line-height:1.5;position:absolute;inset:0}.hw-glass-text::placeholder{color:#e8e8e359}.hw-glass-text:disabled{color:#e8e8e38c}.hw-rocker{align-items:center;gap:8px;display:inline-flex}.hw-rocker-labels{text-align:right;height:128px;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--vc-ink-soft);flex-direction:column;justify-content:space-between;padding:18px 0;font-size:8px;display:flex}.hw-rocker-pill{background:linear-gradient(135deg,#e6e6e2 0%,#c6c6c2 100%);border-radius:16px;flex-direction:column;width:32px;height:128px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffffb3}.hw-rocker-half{cursor:pointer;background:0 0;border:0;flex:1;padding:0}.hw-rocker-half:disabled{cursor:default}.hw-rocker-half.is-active{background:#00000012;box-shadow:inset 0 2px 4px #00000047}.hw-rocker-half.is-top{border-bottom:1px solid #0000002e}.pr21,.rf21{flex-direction:column;align-items:center;gap:6px;height:100%;display:flex}.pr21{position:relative}.pr21-row,.rf21-row{justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.pr21 .pr21-screen{position:relative}.pr21-row,.rf21-row{justify-content:flex-start;align-items:center;gap:30px}.pr21-row{margin-top:50px}.rf21-row{margin-top:28px}.pr21-side,.rf21-side{flex-direction:column;align-items:flex-end;gap:22px;display:flex}.pr21-row{align-items:flex-start}.pr21-side{position:absolute;top:2px;right:13px}.pr21-side .hw-sphere-wrap{align-items:center;gap:8px;width:32px}.rf21{--rf-pair-x:0px;--rf-pair-y:10px}.rf21-screen{transform:translate(var(--rf-pair-x,0px), var(--rf-pair-y,0px))}.rf21-side .hw-wheel{transform:translate(var(--rf-pair-x,0px), calc(-40px + var(--rf-pair-y,0px)))}.rf21-side .hw-sphere-wrap{align-items:center;gap:8px;width:32px;transform:translateY(-32px)}.pr21-error,.rf21-error{font-family:var(--font-mono);color:var(--vc-danger);font-size:8.5px}.pr21-mode{text-align:right;width:550px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vc-fam-text);align-self:flex-start;font-size:8.5px}.tx21{flex-direction:column;align-items:center;gap:8px;height:100%;display:flex}.tx21-bar{align-items:center;gap:10px;width:100%;padding:0 6px;display:flex}.tx21-upload{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vc-fam-text);background:color-mix(in srgb, var(--vc-fam-text) 14%, transparent);border:1px solid var(--vc-fam-text);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:9px}.tx21-upload:hover{background:color-mix(in srgb, var(--vc-fam-text) 24%, transparent)}.tx21-name{font-family:var(--font-mono);color:var(--vc-fam-text-idle);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.crop21{justify-content:center;align-items:center;height:100%;display:flex}.hw-fan{position:relative}.hw-fan-svg{position:absolute;inset:0}.hw-fan-knob{cursor:ns-resize;touch-action:none;position:absolute}.hw-fan-knob .hw-knob-dial{position:relative}.hw-fan-blade-slope{filter:blur(1.4px);transform-origin:50%;pointer-events:none;background:linear-gradient(#ffffff8c 0%,#0000 45%,#00000038 100%);border-radius:7px;position:absolute;top:50%;left:50%}.canvas21{height:100%;position:relative}.canvas21-window{z-index:3;position:absolute;bottom:6px;right:6px;transform:translateY(7px)}.hw-panel.is-windowed .panel-header.hw-nameplate{top:auto;bottom:12px;transform:none}.canvas21.is-windowed .canvas21-window{top:auto;bottom:2px;right:7px;transform:none}.hw-panel .canvas21 .canvas-stagewrap,.hw-panel .canvas21 .canvas-frame{border-radius:10px}.hw-panel-body.canvas21-body{padding:10px}.hw-panel-body.canvas21-body.canvas-io-lip{padding-top:41px}.canvas21{flex-direction:column;height:100%;display:flex}.canvas21 .canvas-module{flex-direction:column;flex:auto;min-height:0;display:flex}.canvas21 .canvas-stagewrap{flex:auto;min-height:0}.canvas21 .canvas-footer{pointer-events:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;height:34px;padding:0 96px;display:flex}.canvas21 .canvas-footer>*{pointer-events:auto;z-index:4;position:relative}.canvas21 .canvas-meta,.canvas21 .compare-label,.canvas21 .canvas-warn{display:none}.canvas21 .canvas-footer{gap:12px}.canvas21 .canvas-psd,.canvas21 .canvas-export{font-size:8px;transform:translateY(3px)}.canvas21 .canvas-export{height:auto;color:var(--vc-ink-soft);background:0 0;border:0;padding:0}.canvas21 .canvas-export:hover:not(:disabled){color:var(--vc-fam-image)}.canvas21 .canvas-export:disabled{opacity:.35}.canvas21 .canvas-compare{width:100%;max-width:200px;transform:translateY(3px)}.canvas21 .compare-slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px}.canvas21 .compare-slider::-webkit-slider-runnable-track{background:linear-gradient(#b6b6b3 0%,#c6c6c3 100%);border-radius:4px;height:7px;box-shadow:inset 0 1px 2px #00000052,inset 0 -1px #ffffff8c}.canvas21 .compare-slider::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 50% 34%,#f2f2f0 0%,#dcdcd9 54%,#bdbdba 100%);border-radius:50%;width:18px;height:18px;margin-top:-5.5px;box-shadow:0 1px 3px #00000061,inset 0 1px 1px #ffffffbf,inset 0 -1px 2px #0000001f}.canvas21 .compare-slider::-moz-range-track{background:linear-gradient(#b6b6b3 0%,#c6c6c3 100%);border-radius:4px;height:7px;box-shadow:inset 0 1px 2px #00000052}.canvas21 .compare-slider::-moz-range-thumb{background:radial-gradient(circle at 50% 34%,#f2f2f0 0%,#dcdcd9 54%,#bdbdba 100%);border:0;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000061,inset 0 1px 1px #ffffffbf}.canvas21 .compare-slider:disabled{opacity:.45}.canvas21 .hw-rubber-btn{padding:6px 11px;font-size:9px}.hw-encoder{cursor:ns-resize;touch-action:none;position:relative}.hw-encoder.is-disabled{opacity:.55;cursor:default}.hw-encoder-css>span{pointer-events:none;border-radius:50%;position:absolute}.hw-enc-well{background:radial-gradient(circle at 50% 30%,#e7e7e4 0%,#d4d4d1 58%,#b9b9b6 100%);inset:3%;box-shadow:0 7px 14px #00000042,0 2px 5px #0000002e,inset 0 1px 1px #ffffffb3,inset 0 -3px 6px #0000001a}.hw-enc-base{background:radial-gradient(circle at 50% 34%,#efefed 0%,#dededb 62%,#c8c8c5 100%);inset:8%;box-shadow:inset 0 1px 1px #fff9}.hw-enc-knurl{background:repeating-conic-gradient(#dededb 0deg 1.3deg,#8f8f8b 2.5deg,#dededb 3.7deg 5deg);transition:transform .18s;inset:8%;-webkit-mask:radial-gradient(circle,#0000 0 50%,#000 53% 100%);mask:radial-gradient(circle,#0000 0 50%,#000 53% 100%)}.hw-enc-sheen{background:linear-gradient(#ffffff42 0%,#fff0 42%,#0000000d 72%,#00000026 100%);inset:8%}.hw-enc-cap{background:radial-gradient(circle at 50% 28%, #fff3, #fff0 46%), radial-gradient(circle at 50% 52%, var(--vc-dome-hi) 0%, var(--vc-dome) 70%, var(--vc-dome-dim) 100%);inset:29%;box-shadow:0 3px 6px #00000057,inset 0 0 0 1px #0000000f,inset 0 1px 1px #ffffff59}.hw-shutter-wrap{flex-direction:column;align-items:center;gap:5px;display:inline-flex}.hw-shutter{cursor:pointer;background:0 0;border:0;padding:0}.hw-shutter:disabled{opacity:.5;cursor:not-allowed}.hw-shutter-label{font-family:var(--font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--vc-ink-soft);font-size:9px}.screen21-panel{position:relative}.screen21-binding.panel-header{height:auto;font-family:var(--font-mono);color:#6e6e6b;cursor:grab;background:0 0;border:0;align-items:center;gap:5px;margin:0;padding:0;font-size:9px;display:flex;position:absolute;top:10.4%;left:3.13%}.screen21-binding.panel-header:active{cursor:grabbing}.screen21-role{font-family:var(--font-mono);color:var(--vc-ink);border:0;border-bottom:1px dotted var(--vc-ink-line);cursor:pointer;background:0 0;padding:0 2px 1px;font-size:9px}.screen21-rolename{color:var(--vc-ink)}.screen21-folder{color:var(--vc-ink);text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-weight:500;overflow:hidden}.screen21-screenbox{width:40.43%;height:52.51%;position:absolute;top:30.09%;left:9.64%}.screen21-img{object-fit:contain;width:100%;height:100%;display:block}.screen21-add{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.screen21-plus{font-family:var(--font-mono);color:#8c8c87;font-size:18px;line-height:1}.screen21-add:hover .screen21-plus{color:var(--vc-fam-image)}.screen21-enc-abs{position:absolute;top:41.84%;left:68.51%}.screen21-counter-abs{white-space:nowrap;font-family:var(--font-mono);letter-spacing:1.5px;color:#6b6b69;text-shadow:0 1px #ffffff4d;font-size:9px;position:absolute;top:76.94%;left:78.66%;transform:translate(-50%)}.screen21-shutter-abs{position:absolute;top:88%;left:78.66%;transform:translate(-50%)}.hw-screen-glass .screen21-add,.screen21-add.dropzone{border-radius:inherit;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.screen21-add.dropzone.is-dragging{background:#d9482b1f}.inputs21-panel{position:relative}.inputs21-label{text-overflow:ellipsis;white-space:nowrap;max-width:82%;font-family:var(--font-mono);color:#6e6e6b;font-size:9px;position:absolute;top:4.86%;left:4.15%;overflow:hidden}.inputs21-label-rename{cursor:text}.inputs21-label-rename:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.inputs21-label-edit{font-family:var(--font-mono);color:#e8e8e3;background:#0006;border:1px solid #ffffff38;border-radius:3px;width:82%;padding:0 4px;font-size:9px}.inputs21-compress{z-index:2;font-family:var(--font-mono);color:#6e6e6b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;font-size:9px;display:inline-flex;position:absolute;bottom:10px;right:16px}.inputs21-compress input{width:10px;height:10px;accent-color:var(--vc-led-on,#e4ff47);cursor:pointer;margin:0}.inputs21-screenbox{width:91.7%;height:35.4%;position:absolute;top:15.07%;left:4.15%}.inputs21-enc-abs{position:absolute;top:61.5%;left:6.23%}.inputs21-choose-abs{position:absolute;top:61.2%;left:69.9%}.action21-mode-abs{position:absolute;top:61.5%;left:50%;transform:translate(-50%)}.action21-mode-abs .hw-rubber-btn{padding:6px 12px;font-size:9px}.inputs21-choose-seat{flex-direction:column;align-items:center;width:68px;display:flex;position:relative}.inputs21-choose-ring{pointer-events:none;width:68px;height:68px;position:absolute;top:0;left:0}.inputs21-choose-seat .hw-shutter-wrap{gap:9px;margin-top:8px}.inputs21-choose-seat .hw-shutter-label{letter-spacing:2px;color:#6e6e6b;text-shadow:0 1px #ffffff80;font-size:8px}.inputs21-fname{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-family:var(--font-mono);color:#e8e8e3d9;background:#00000080;border-radius:3px;padding:1px 6px;font-size:8px;position:absolute;bottom:7px;right:7px;overflow:hidden}.inputs21-count{font-family:var(--font-mono);color:#e8e8e3cc;background:#00000080;border-radius:3px;padding:1px 5px;font-size:8px;position:absolute;bottom:7px;left:7px}.inputs21-chosen{font-family:var(--font-mono);letter-spacing:.08em;color:#fff;background:var(--vc-fam-image);border-radius:3px;padding:1px 6px;font-size:8px;position:absolute;top:7px;left:7px;box-shadow:0 0 8px #d9482b80}.inputs21-empty-state{flex-direction:column;align-items:center;gap:8px;display:flex}.inputs21-hint{font-family:var(--font-mono);letter-spacing:.06em;color:#e8e8e352;text-transform:uppercase;font-size:8px}.inputs21-hint--wire{color:#1a1206;background:#ffc24a;border-radius:3px;padding:1px 6px;position:absolute;top:7px;left:7px;box-shadow:0 0 8px #ffc24a73}.stack21{flex-direction:column;height:100%;display:flex;position:relative}.stack21-binding.panel-header{height:auto;font-family:var(--font-mono);color:#6e6e6b;cursor:grab;background:0 0;border:0;justify-content:space-between;align-items:center;margin:0 0 8px;padding:0;font-size:9px;display:flex;position:static}.stack21-binding.panel-header:active{cursor:grabbing}.stack21-psd{font-family:var(--font-mono);color:var(--vc-ink-soft);cursor:pointer;background:0 0;border:0;font-size:8px}.stack21-psd:hover{color:var(--vc-fam-image)}.stack21-conn-row{align-items:center;gap:8px;display:inline-flex}.stack21-conn{font-family:var(--font-mono);letter-spacing:.5px;color:#3c3c39;background:#c8c8c5;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;display:inline-flex;box-shadow:inset 0 1px 1px #ffffff59,0 1px 2px #0000004d}.stack21-jack{background:#121210;border-radius:50%;width:11px;height:11px;box-shadow:inset 0 1px 1.5px #000000d9,0 0 0 1.5px #969692}.stack21-screen-wrap{flex:auto;min-height:0;display:flex}.stack21-grid{grid-auto-rows:1fr;gap:4px;width:100%;height:100%;display:grid}.stack21-tile{cursor:zoom-in;background:#000;border-radius:4px;min-width:0;min-height:0;position:relative;overflow:hidden}.stack21-tile img{object-fit:contain;width:100%;height:100%;display:block}.stack21-tile-ph{background:#222;width:100%;height:100%;display:block}.stack21-tile.is-live{box-shadow:inset 0 0 0 1.5px var(--tile-accent,var(--vc-fam-image))}.stack21-tile.is-hidden{opacity:.4}.stack21-lightbox{z-index:1000;cursor:zoom-out;background:#080808eb;justify-content:center;align-items:center;padding:4vmin;display:flex;position:fixed;inset:0}.stack21-lightbox-img{object-fit:contain;border-radius:4px;max-width:92vw;max-height:92vh;box-shadow:0 12px 48px #0009}.stack21-lightbox-close{color:#e8e8e3;cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;width:34px;height:34px;font-size:15px;position:fixed;top:18px;right:22px}.stack21-lightbox-close:hover{background:#ffffff2e}.stack21-lightbox-label{text-align:center;font-family:var(--font-mono);letter-spacing:.5px;color:#c2c2bd;font-size:11px;position:fixed;bottom:20px;left:0;right:0}.stack21-tile-dot{color:#e8e8e3;text-align:center;cursor:pointer;background:#0006;border:0;border-radius:50%;width:14px;height:14px;padding:0;font-size:9px;line-height:14px;position:absolute;top:5px;left:5px}.stack21-tile.is-live .stack21-tile-dot{color:var(--tile-accent,var(--vc-fam-image))}.stack21-tile-live{font-family:var(--font-mono);letter-spacing:1px;color:var(--tile-accent,var(--vc-fam-image));text-shadow:0 1px 2px #000c;font-size:8px;position:absolute;top:5px;right:6px}.stack21-empty-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.stack21-empty{font-family:var(--font-mono);color:var(--vc-ink-ghost);font-size:9px}.comb21-panel .hw-panel-body{box-sizing:border-box;height:100%;padding:48px 14px 0}.comb21-screenbox{height:194px}.comb21-glass{box-sizing:border-box;padding:8px}.comb21-mosaic{gap:4px;width:100%;height:100%;min-height:0;display:flex}.comb21-loc{border:1.5px solid var(--vc-fam-image);background:#1a1a19;border-radius:4px;flex:0 0 55%;justify-content:center;align-items:center;margin:0;animation:.45s cubic-bezier(.34,1.3,.64,1) both comb21-pop;display:flex;position:relative;overflow:hidden}.comb21-grid{flex:1;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(0,1fr);gap:4px;min-width:0;display:grid}.comb21-tile{background:#1a1a19;border-radius:4px;margin:0;animation:.4s ease-out both comb21-rise;position:relative;overflow:hidden}.comb21-img{object-fit:cover;width:100%;height:100%;display:block}.comb21-tag{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 10px);font-family:var(--font-mono);letter-spacing:.04em;color:#e8e8e3;text-shadow:0 1px 2px #000000b3;font-size:7px;position:absolute;bottom:4px;left:5px;overflow:hidden}.comb21-tag--live{color:#fff;background:var(--vc-fam-image);text-shadow:none;border-radius:3px;padding:1px 5px}.comb21-slot{color:#6e6e6c;font-family:var(--font-mono);border:1px dashed #4a4a48;border-radius:4px;justify-content:center;align-items:center;font-size:13px;animation:.4s ease-out .84s both comb21-rise;display:flex}.comb21-slot-hint{font-family:var(--font-mono);color:#6e6e6c;letter-spacing:.08em;font-size:8px}@keyframes comb21-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes comb21-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.comb21-panel--text .comb21-loc--text{border-color:#6e868c;justify-content:flex-start;align-items:flex-start;overflow:hidden}.comb21-draft{font-family:var(--font-mono);color:#c7ccd2;max-height:100%;margin:0;padding:8px 10px 16px;font-size:8px;line-height:1.5;overflow:hidden}.comb21-tag--text{color:#fff;text-shadow:none;background:#6e868c;border-radius:3px;padding:1px 5px}.comb21-tile--preset{justify-content:center;align-items:center;display:flex}.comb21-preset{font-family:var(--font-mono);letter-spacing:.08em;color:#c9a23a;font-size:7px}.comb21-loc--wide{flex:1}.comb21-grid--slim{flex:0 0 56px}.hw-nameplate-input{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--vc-fluo,#e4ff47);border:1px solid var(--vc-fluo,#e4ff47);cursor:text;background:#0a0a0a;border-radius:6px;outline:none;width:100%;max-width:280px;padding:2px 8px;font-weight:500}
