    :root {
        --aig-veil:        color-mix(in srgb, var(--ui-text) 7%,  transparent);
        --aig-veil-weak:   color-mix(in srgb, var(--ui-text) 4%,  transparent);
        --aig-veil-strong: color-mix(in srgb, var(--ui-text) 25%, transparent);
        --aig-text-soft:   color-mix(in srgb, var(--ui-text) 75%, transparent);
        --aig-accent-tint: color-mix(in srgb, var(--ui-accent) 5%, transparent);
        --aig-scrim:       color-mix(in srgb, var(--ui-bg-deep) 82%, transparent);
        --aig-scrim-hard:  color-mix(in srgb, var(--ui-bg-deep) 92%, transparent);
    }

    .aig-panel { display:flex; flex-direction:column; gap:0; }
    .aig-sec { padding:11px 12px; border-bottom:1px solid var(--ui-border); }
    .aig-sec:last-child { border-bottom:none; }
    .aig-h { font-size:9px; font-weight:700; letter-spacing:.06em; color:var(--ui-text-muted); text-transform:uppercase;
        margin-bottom:7px; display:flex; align-items:center; justify-content:space-between; }
    .aig-h .n { color:var(--ui-text-dim); font-weight:700; }
    .aig-h .n:not(:empty) { margin-left:6px; }
    .aig-panel select,
    .aig-panel input:not([type="checkbox"]):not([type="radio"]),
    .aig-panel textarea { width:100%; box-sizing:border-box;
        background:var(--ui-bg-input); color:var(--ui-text); border:1px solid var(--ui-border);
        border-radius:var(--ui-radius-sm); font-size:12px; padding:7px 8px; font-family:var(--ui-font); }
    .aig-panel select:focus,
    .aig-panel input:not([type="checkbox"]):not([type="radio"]):focus,
    .aig-panel textarea:focus { outline:none; border-color:var(--ui-border-focus); }
    .aig-panel input[type="checkbox"] { width:auto; flex-shrink:0; margin:0; padding:0; }
    .aig-model { display:flex; flex-direction:column; gap:7px; }
    .aig-model-hint { font-size:10px; color:var(--ui-text-muted); }
    .aig-fal-params { display:flex; flex-direction:column; gap:7px; }
    .aig-panel .fal-sel { width:auto; padding:4px 8px; font-size:12px; }
    .aig-key-ok { font-size:14px; color:var(--ui-accent); width:10px; }
    .aig-refs { display:flex; gap:6px; flex-wrap:wrap; }
    .aig-refs.empty { padding:10px; border:1px dashed var(--ui-border); border-radius:var(--ui-radius); }
    .aig-hint { font-size:11px; color:var(--ui-text-muted); line-height:1.5; }
    .aig-global { min-height:52px !important; }
    .aig-global + .aig-hint { margin-top:6px; }
    .aig-panel { height:100%; min-height:0; }
    .aig-title { flex:0 0 auto;
        display:flex; align-items:center; justify-content:space-between; gap:8px;
        font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
        color:var(--ui-text-dim,var(--ui-text-dim)); padding:0 0 8px;
        border-bottom:1px solid var(--ui-border,var(--aig-veil)); }
    .aig-body { flex:1 1 auto; min-height:0; overflow-y:auto; padding-top:12px;
        display:flex; flex-direction:column; gap:0; }
    .aig-refresh { background:transparent; border:none; color:var(--ui-text-dim,var(--ui-text-dim)); cursor:pointer; padding:2px; display:flex; }
    .aig-refresh:hover { color:var(--ui-accent,var(--ui-accent-hover)); }
    .aig-ref { position:relative; width:50px; height:50px; border-radius:var(--ui-radius-sm); overflow:hidden;
        background:var(--ui-bg-deep) center/contain no-repeat; border:1.5px solid transparent; }
    .aig-ref.off { opacity:.32; }
    .aig-ref .tg { position:absolute; top:2px; right:2px; width:15px; height:15px; border-radius:3px; border:none;
        background:var(--aig-scrim); color:var(--ui-text); cursor:pointer; font-size:9px; line-height:1; padding:0; }
    .aig-ref .del { position:absolute; top:2px; left:2px; width:15px; height:15px; border-radius:3px; border:none;
        background:var(--aig-scrim); color:var(--ui-text); cursor:pointer; font-size:11px; line-height:1; padding:0; }
    .aig-ref .del:hover { background:var(--ui-danger); }
    .aig-ref .nm { position:absolute; bottom:0; left:0; right:0; font-size:7px; padding:1px 3px; background:var(--aig-scrim-hard);
        color:var(--aig-text-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .aig-ref .note { position:absolute; right:2px; bottom:12px; width:15px; height:15px; border-radius:3px; border:none;
        background:var(--aig-scrim); color:var(--ui-accent); cursor:pointer; padding:0; display:none;
        align-items:center; justify-content:center; }
    .aig-ref:hover .note { display:inline-flex; }
    .aig-ref .note.has { display:inline-flex; }
    .aig-ref .note.has::after { content:''; position:absolute; top:-2px; right:-2px; width:6px; height:6px;
        border-radius:50%; background:var(--ui-accent); }
    .aig-ref-note-pop { position:fixed; z-index:99999; width:240px;
        background:var(--ui-bg-deep); border:1px solid var(--ui-border);
        border-radius:var(--ui-radius); padding:8px; box-shadow:0 10px 40px var(--aig-scrim-hard); }
    .aig-ref-note-pop .head { font-size:10px; font-weight:700; letter-spacing:0.04em; opacity:0.8;
        margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ui-text); }
    .aig-ref-note-pop textarea { width:100%; resize:vertical; font-size:11px; background:var(--aig-veil-weak);
        border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); color:var(--ui-text); padding:5px 6px; box-sizing:border-box; }
    .aig-ref-note-pop .row { display:flex; gap:6px; margin-top:5px; }
    .aig-ref-note-pop .row button { flex:1; font-size:10px; padding:4px 6px; border-radius:var(--ui-radius-sm); border:none; cursor:pointer;
        background:var(--ui-accent); color:var(--ui-bg-deep); font-weight:700; }
    .aig-ref-note-pop .row button.ghost { background:var(--aig-veil); color:var(--ui-text); font-weight:500; }
    .aig-chips { display:flex; gap:6px; flex-wrap:wrap; }
    .aig-chip { display:flex; align-items:center; gap:5px; padding:3px 8px 3px 3px; border-radius:20px;
        background:var(--aig-veil-weak); border:1px solid var(--ui-border); color:var(--ui-text); font-size:11px; cursor:pointer; transition:all .12s; }
    .aig-chip:hover { border-color:var(--ui-text-muted); }
    .aig-chip.on { border-color:var(--ui-accent); background:var(--ui-accent-glow); color:var(--ui-accent); }
    .aig-chip .av { width:18px; height:18px; border-radius:50%; background:var(--ui-border) center/cover no-repeat; flex-shrink:0;
        display:flex; align-items:center; justify-content:center; font-size:9px; color:var(--ui-text-dim); }
    .aig-chip .k { font-size:8px; opacity:.55; text-transform:uppercase; }
    .aig-prompt { min-height:80px; resize:vertical; line-height:1.5; }
    .aig-sb-list { display:flex; flex-direction:column; gap:6px; max-height:230px; overflow-y:auto; overflow-x:hidden; padding-right:2px; }
    .aig-sb { border:1px solid var(--ui-border); border-left:3px solid var(--ui-border); border-radius:8px;
              padding:7px 9px; cursor:pointer; background:var(--ui-bg-input,var(--ui-bg-deep));
              transition:border-color .12s, background .12s; }
    .aig-sb.action { border-left-color:var(--ui-text-muted); }
    .aig-sb.dialog { border-left-color:var(--ui-accent); }
    .aig-sb:hover  { background:var(--aig-veil-weak); }
    .aig-sb.on     { border-color:var(--ui-accent); background:var(--ui-accent-glow); }
    .aig-sb-head { display:flex; align-items:center; gap:7px; margin-bottom:4px; }
    .aig-sb-cb   { flex-shrink:0; }
    .aig-sb-type { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
                   color:var(--ui-text-dim,var(--ui-text-muted)); flex-shrink:0; }
    .aig-sb-char { font-size:11px; font-weight:700; color:var(--ui-accent); margin-left:auto;
                   min-width:0; overflow-wrap:anywhere; text-align:right; }
    .aig-sb-text { font-size:12px; line-height:1.4; color:var(--ui-text); white-space:pre-wrap;
                   overflow-wrap:anywhere; }
    #imgcanvas-wrap { position:relative; }
    .aig-refinfo { display:flex; gap:8px; align-items:center; margin-top:9px; padding:6px; border-radius:var(--ui-radius-sm); background:var(--ui-bg-input); border:1px solid var(--ui-border); }    .aig-refinfo .thumb { width:40px; height:40px; flex-shrink:0; border-radius:4px; overflow:hidden; background:var(--ui-bg-deep,var(--ui-bg-input)); display:flex; align-items:center; justify-content:center; }
    .aig-refinfo .thumb img { width:100%; height:100%; object-fit:contain; }
    .aig-refinfo .thumb .ph { color:var(--ui-text-muted); font-size:16px; }
    .aig-refinfo .meta { min-width:0; }
    .aig-refinfo .lbl { font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ui-text-muted); }
    .aig-refinfo .src { font-size:11px; color:var(--ui-accent); margin-top:2px; word-break:break-word; line-height:1.3; }
    .aig-gen { width:100%; box-sizing:border-box; margin-top:9px; }
    .aig-progress { height:3px; margin-top:8px; border-radius:2px; background:var(--ui-bg-input); overflow:hidden; display:none; position:relative; }
    .aig-progress.on { display:block; }
    .aig-progress.on::after { content:''; position:absolute; inset:0; width:40%; background:var(--ui-accent); animation:aigBar 1.1s ease-in-out infinite; }
    @keyframes aigBar { 0%{left:-40%} 100%{left:100%} }
    .aig-foot { margin-top:8px; font-size:10px; color:var(--ui-text-muted); line-height:1.5; }
    .aig-add-src {
        display:block; width:100%; margin-top:8px; padding:7px 10px;
        border:1px dashed var(--ui-border); border-radius:var(--ui-radius-sm);
        background:transparent; color:var(--ui-text-dim);
        font-size:11px; font-weight:700; cursor:pointer; text-align:center;
        transition:background .14s, color .14s, border-color .14s;
    }
    .aig-add-src:hover {
        background:var(--aig-veil);
        border-color:var(--ui-accent); color:var(--ui-text);
    }

    .aig-seg-row { margin-bottom:9px; }
    .aig-seg-label { display:block; margin-bottom:5px; font-size:10px; font-weight:700;
        letter-spacing:.04em; text-transform:uppercase; color:var(--ui-text-muted); }
    .aig-seg { display:grid; gap:2px; padding:2px;
        border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-bg-deep); }
    .aig-seg-format { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .aig-seg-tier   { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .aig-seg button { min-width:0; padding:6px 4px; border:none; background:transparent;
        border-radius:calc(var(--ui-radius-sm) - 2px); color:var(--ui-text-dim);
        font-size:10px; font-weight:700; cursor:pointer; white-space:nowrap;
        overflow:hidden; text-overflow:ellipsis; transition:background .14s, color .14s; }
    .aig-seg button:hover:not(.on) { background:var(--aig-veil-weak); color:var(--ui-text); }
    .aig-seg button.on,
    .aig-seg button.on:hover { background:var(--ui-accent); color:var(--ui-bg); }
    .aig-seg button.muted { opacity:.45; }
    .aig-seg button[data-seg="ref"] { grid-column:1 / -1; }
    .aig-size-cur { font-size:10px; color:var(--ui-text-muted); margin-bottom:7px; }
    .aig-size-cur b { color:var(--ui-accent); }
    .aig-size-custom { display:flex; gap:4px; align-items:center; margin-top:6px; }
    .aig-size-custom input { width:0; flex:1; min-width:0; }
    .aig-size-custom button { flex:0 0 auto; display:flex; align-items:center; justify-content:center;
        width:26px; height:26px; padding:0; cursor:pointer;
        border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm);
        background:transparent; color:var(--ui-text-dim); transition:border-color .14s, color .14s, background .14s; }
    .aig-size-custom button:hover { border-color:var(--ui-accent); color:var(--ui-accent); }
    .aig-size-lock.on { border-color:var(--ui-accent); background:var(--ui-accent-glow); color:var(--ui-accent); }
    .aig-angles { display:grid; grid-template-columns:1fr 1fr 1fr; gap:5px; }
    .aig-angles button { padding:8px 3px; border-radius:var(--ui-radius-sm); cursor:pointer; font-size:9px; font-weight:600;
        border:1px solid var(--ui-border); background:var(--aig-veil-weak); color:var(--ui-text-dim); transition:all .12s; }
    .aig-angles button:hover { border-color:var(--ui-accent); color:var(--ui-accent); background:var(--ui-accent-glow); }
    .aig-angles button:disabled { opacity:.4; cursor:default; }
    .aig-turntable { width:100%; box-sizing:border-box; margin-top:6px; padding:8px; border-radius:var(--ui-radius-sm); cursor:pointer;
        border:1px dashed var(--ui-border); background:transparent; color:var(--ui-text); font-size:11px; font-weight:600; }
    .aig-turntable:hover { border-color:var(--ui-accent); color:var(--ui-accent); }
    .aig-turntable:disabled { opacity:.4; cursor:default; }
    .aig-orbit { display:flex; flex-direction:column; gap:8px;
        -webkit-user-select:none; -moz-user-select:none; user-select:none; -webkit-touch-callout:none; }
    .aig-orbit, .aig-orbit * { -webkit-user-select:none; user-select:none; }
    .aig-orbit-svg text { -webkit-user-select:none; user-select:none; }
    .aig-orbit-svg { width:100%; height:128px; }
    .aig-orbit-svg .ring { fill:var(--aig-accent-tint); stroke:var(--ui-border); stroke-width:1.5; }
    .aig-orbit-svg .ringv { fill:none; stroke:var(--ui-border); stroke-width:1.2; stroke-dasharray:3 3; opacity:.65; }
    .aig-orbit-descrow { display:flex; align-items:flex-start; gap:8px; }
    .aig-orbit-descrow .aig-orbit-desc { flex:1 1 auto; min-width:0; }
    .aig-orbit-reset { flex-shrink:0; width:26px; height:26px; padding:0; display:inline-flex;
        align-items:center; justify-content:center; border-radius:var(--ui-radius-sm);
        background:transparent; border:1px solid var(--ui-border); color:var(--ui-text-muted);
        cursor:pointer; transition:color .12s, border-color .12s, background .12s; }
    .aig-orbit-reset:hover { color:var(--ui-accent); border-color:var(--ui-accent); background:var(--ui-accent-glow); }
    .aig-analyze-row { display:flex; align-items:center; gap:8px; margin-top:8px; padding:7px 8px;
        border-radius:var(--ui-radius-sm); background:var(--ui-bg-input); cursor:pointer;
        font-size:11px; font-weight:600; color:var(--ui-text); }
    .aig-analyze-row:hover { color:var(--ui-accent); }
    .aig-analyze-row input { accent-color:var(--ui-accent); width:14px; height:14px; margin:0; flex-shrink:0; }
    .aig-orbit-svg .subj { fill:var(--ui-text-muted); }
    .aig-orbit-svg .subj-frame { fill:none; stroke:var(--aig-veil-strong); stroke-width:1; }
    .aig-orbit-svg .cam { fill:var(--ui-accent); stroke:var(--ui-text); stroke-width:1.5; }
    .aig-orbit-svg .beam { stroke:var(--ui-accent); stroke-width:1.5; stroke-dasharray:3 3; opacity:.55; }
    .aig-orbit-svg .lbl { fill:var(--ui-text-muted); font-size:9px; font-weight:700; font-family:var(--ui-font); }
    .aig-orbit-slider { display:flex; align-items:center; gap:7px; }
    .aig-orbit-slider .ic { color:var(--ui-text-muted); font-size:12px; width:12px; text-align:center; flex-shrink:0; }
    .aig-orbit-slider input { flex:1; min-width:0; accent-color:var(--ui-accent); }
    .aig-orbit-slider .val { font-size:10px; color:var(--ui-accent); min-width:62px; text-align:right; flex-shrink:0; }
    .aig-orbit-desc { display:flex; flex-direction:column; gap:3px; padding:7px 8px; border-radius:var(--ui-radius-sm); background:var(--ui-bg-input); min-height:54px; box-sizing:border-box; justify-content:center; }
    .aig-orbit-desc .ru { font-size:11px; color:var(--ui-text); font-weight:600; }
    .aig-orbit-desc code { font-size:9px; color:var(--ui-accent); font-family:var(--ui-font-code); word-break:break-word; line-height:1.4; }
    .aig-folder { margin-top:8px; display:flex; align-items:center; gap:6px; }
    .aig-folder button { background:var(--aig-veil); border:1px solid var(--ui-border); color:var(--ui-text-dim);
        border-radius:var(--ui-radius-sm); font-size:11px; padding:5px 8px; cursor:pointer; }
    .aig-folder button:hover { border-color:var(--ui-accent); color:var(--ui-text); }
    .aig-folder .cur { font-size:10px; color:var(--ui-text-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.aig-panel :focus-visible,
.aig-panel select:focus-visible,
.aig-panel input:focus-visible,
.aig-panel textarea:focus-visible,
.aig-chip:focus-visible {
    outline: 2px solid var(--ui-border-focus);
    outline-offset: 2px;
    border-radius: var(--ui-radius-xs);
}
.aig-sec:focus,
.aig-sec:focus-visible { outline: none; }

.aig-sec.aig-foldable > .aig-h {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 7px;
    justify-content: flex-start;
}
.aig-sec.aig-foldable > .aig-h > .n,
.aig-sec.aig-foldable > .aig-h > *:last-child:not(.aig-cv):not(:first-child) { margin-left: auto; }
.aig-sec.aig-foldable > .aig-h:hover { color: var(--ui-text-dim); }
.aig-cv {
    width: 9px; height: 9px; flex: 0 0 9px;
    color: var(--ui-text-muted);
    transition: transform .16s ease;
}
.aig-sec.aig-collapsed > .aig-cv,
.aig-sec.aig-collapsed > .aig-h .aig-cv { transform: rotate(-90deg); }
.aig-sec.aig-collapsed > *:not(.aig-h) { display: none !important; }
.aig-sec.aig-collapsed { padding-top: 9px; padding-bottom: 9px; }
.aig-sec.aig-collapsed > .aig-h { margin-bottom: 0; }
.aig-sec.aig-collapsed > .aig-h .n { display: inline-block; }

.aig-switch {
    position: relative;
    width: 26px; height: 15px; flex: 0 0 26px;
    padding: 0; border: 0; border-radius: 999px;
    background: var(--aig-veil);
    cursor: pointer;
    transition: background .17s ease;
    -webkit-appearance: none; appearance: none;
}
.aig-switch:hover { background: var(--aig-veil-strong); }
.aig-switch.on { background: var(--ui-accent); }
.aig-switch.on:hover { background: var(--ui-accent-hover); }
.aig-switch-knob {
    position: absolute; top: 2px; left: 2px;
    width: 11px; height: 11px; border-radius: 50%;
    background: var(--ui-text);
    transition: transform .17s cubic-bezier(.32, .72, .35, 1), background .17s ease;
    pointer-events: none;
}
.aig-switch.on .aig-switch-knob { transform: translateX(11px); background: var(--ui-bg-deep); }
.aig-switch:focus-visible { outline: 2px solid var(--ui-accent-hover); outline-offset: 2px; }

.aig-switch-head { margin-left: auto; cursor: pointer; }
.aig-switch:disabled { opacity: .45; cursor: default; }
.aig-switch:disabled:hover { background: var(--aig-veil); }
.aig-switch.on:disabled:hover { background: var(--ui-accent); }
.aig-switch-row { display: flex; align-items: center; gap: 8px; min-height: 26px; }
.aig-switch-row .aig-switch-label { font: 500 11px var(--ui-font); color: var(--ui-text-dim); cursor: pointer; }
.aig-switch-row:hover .aig-switch-label { color: var(--ui-text); }
.aig-switch-row.off .aig-switch-label, .aig-switch-row.off:hover .aig-switch-label { color: var(--ui-text-muted); cursor: default; }
.aig-dock-note { font-size: 11px; color: var(--ui-text-muted); white-space: nowrap; }

.aig-sec.aig-src-off > *:not(.aig-h) { opacity: .38; pointer-events: none; }
.aig-sec.aig-src-off > .aig-h { opacity: .72; }

.aig-dock {
    flex: 0 0 auto;
    padding: 9px 12px 11px;
    border-top: 1px solid var(--aig-veil);
    background: linear-gradient(to bottom, var(--aig-scrim), var(--aig-scrim-hard));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.aig-dock-row { display: flex; align-items: center; gap: 9px; }
.aig-dock-row .aig-price-badge { flex: 0 0 auto; margin: 0; }
.aig-dock-row .aig-gen { flex: 1; margin-top: 0; }
.aig-dock .aig-progress { margin-top: 8px; }
.aud-busy {
    flex: 1; min-width: 0; min-height: 38px;
    display: flex; align-items: center; gap: 10px;
    padding: 0 10px;
    background: var(--aig-veil-weak); border: 1px solid var(--aig-veil);
    border-radius: 7px;
}
.aud-spin {
    width: 16px; height: 16px; flex-shrink: 0;
    border: 2px solid var(--aig-veil-strong); border-top-color: var(--ui-accent);
    border-radius: 50%;
    animation: aud-spin .8s linear infinite;
}
@keyframes aud-spin { to { transform: rotate(360deg); } }
.aud-busy-tx {
    flex: 1; min-width: 0;
    font-size: 11px; color: var(--ui-text-dim);
    font-variant-numeric: tabular-nums;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.aud-stop {
    flex-shrink: 0; height: 26px; padding: 0 12px;
    border: 1px solid var(--ui-danger); background: transparent;
    color: var(--ui-danger); border-radius: 5px;
    font: 600 11px var(--ui-font); cursor: pointer;
}
.aud-stop:hover { background: var(--ui-danger); color: var(--ui-bg-deep); }
.aud-stop:disabled { opacity: .5; cursor: default; }

.aig-vf {
    position: relative; margin: 2px auto 0;
    border-radius: var(--ui-radius-sm, 4px);
    border: 1px solid var(--aig-veil);
    background: var(--ui-bg-input);
    overflow: hidden; cursor: grab; user-select: none; touch-action: none;
}
.aig-vf.panning { cursor: grabbing; }
.aig-vf-scene {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.aig-vf-floor {
    position: absolute; left: -30%; right: -30%; bottom: -14%; height: 60%;
    background:
        linear-gradient(to top, var(--aig-accent-tint), transparent 78%),
        repeating-linear-gradient(90deg, var(--aig-veil-weak) 0 1px, transparent 1px 34px),
        repeating-linear-gradient(0deg,  var(--aig-veil-weak) 0 1px, transparent 1px 26px);
    transform: perspective(220px) rotateX(66deg); transform-origin: bottom center;
}
.aig-vf-card { position: relative; transform-style: preserve-3d; will-change: transform; }
.aig-vf-face, .aig-vf-back {
    position: absolute; inset: 0; border-radius: 2px;
    backface-visibility: hidden; overflow: hidden;
}
.aig-vf-face {
    background: var(--ui-bg-hover) center/cover no-repeat;
    box-shadow: 0 0 0 1px var(--aig-veil-strong), var(--ui-shadow);
}
.aig-vf-back {
    transform: rotateY(180deg);
    background: repeating-linear-gradient(45deg, var(--ui-bg) 0 5px, var(--ui-bg-deep) 5px 10px);
    box-shadow: 0 0 0 1px var(--aig-veil);
}
.aig-vf-grid { position: absolute; inset: 0; pointer-events: none; }
.aig-vf-grid i { position: absolute; background: var(--aig-veil); }
.aig-vf-grid i.v1 { left: 33.33%; top: 0; bottom: 0; width: 1px; }
.aig-vf-grid i.v2 { left: 66.66%; top: 0; bottom: 0; width: 1px; }
.aig-vf-grid i.h1 { top: 33.33%; left: 0; right: 0; height: 1px; }
.aig-vf-grid i.h2 { top: 66.66%; left: 0; right: 0; height: 1px; }
.aig-vf-hud {
    position: absolute; pointer-events: none;
    font: 600 9px var(--ui-font); font-variant-numeric: tabular-nums; color: var(--ui-text-dim);
    letter-spacing: .04em;
}
.aig-vf-hud.l { left: 7px; top: 6px; }
.aig-vf-hud.r { right: 7px; top: 6px; }
.aig-vf-hud.b { left: 7px; bottom: 6px; color: var(--ui-text-muted); }
.aig-vf-mini {
    position: absolute; right: 6px; bottom: 6px; width: 46px; height: 46px;
    border-radius: 50%; background: var(--aig-scrim); border: 1px solid var(--aig-veil);
    pointer-events: none;
}
.aig-vf-mini .mini-ring { fill: none; stroke: var(--aig-veil-strong); stroke-width: 1; }
.aig-vf-mini .mini-subj { fill: var(--aig-veil-strong); }
.aig-vf-mini .mini-beam { stroke: var(--ui-accent-hover); stroke-opacity: .55; }
.aig-vf-mini .mini-cam  { fill: var(--ui-accent-hover); }

.aig-cam-head { display: flex; justify-content: flex-end; margin-bottom: 4px; }

.aig-chip .aig-var {
    margin-left: 4px; max-width: 120px; padding: 1px 4px;
    border: 1px solid var(--ui-border); border-radius: 10px;
    background: var(--ui-bg-input); color: var(--ui-text-dim);
    font-family: inherit; font-size: 10px; cursor: pointer;
}
.aig-chip.on .aig-var { color: var(--ui-text); border-color: var(--aig-accent-tint); }


.fal-params { display:flex; flex-direction:column; gap:7px; }
.fal-row { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--ui-text); }
.fal-row-l { flex:0 0 auto; }
.fal-sel { flex:0 1 auto; max-width:60%; padding:4px 8px; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm);
    background:var(--ui-bg-input); color:var(--ui-text); font-size:12px; font-family:inherit; }
.fal-range { display:inline-flex; align-items:center; gap:7px; flex:0 1 55%; }
.fal-range input { flex:1 1 auto; min-width:0; accent-color:var(--ui-accent); }
.fal-range-v { width:34px; text-align:right; font-variant-numeric:tabular-nums; color:var(--ui-text); }
