
.fvwfg-builder{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:780px;background:#0b0d10;color:#f4f4f4;border:1px solid #292d35;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
.fvwfg-panel{padding:24px;background:#17191d;border-right:1px solid #2a2d33;overflow-y:auto;z-index:2}
.fvwfg-brand{font-weight:900;letter-spacing:.08em;font-size:16px}.fvwfg-brand span{display:block;font-size:10px;color:#9298a3;letter-spacing:.18em;margin-top:5px}
.fvwfg-panel h2{margin:28px 0 18px;font-size:30px;letter-spacing:-.025em}.fvwfg-panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#8f96a3;margin:24px 0 9px}
.fvwfg-field-label{font-size:12px;color:#aab0ba;display:block;margin-bottom:9px}.fvwfg-panel input,.fvwfg-panel select{width:100%;box-sizing:border-box;margin-top:6px;padding:11px 12px;min-height:43px;border:1px solid #343841;background:#0e1013;color:#fff;border-radius:6px;font-size:14px}
.fvwfg-actions,.fvwfg-test-actions{display:grid;gap:8px;margin-top:12px}.fvwfg-actions button,.fvwfg-test-actions button{width:100%;padding:11px;border-radius:6px;border:1px solid #3b404a;background:#24272d;color:#fff;cursor:pointer}
.fvwfg-actions .button-primary{background:#f1f1f1;color:#0b0d10;border-color:#f1f1f1}.fvwfg-status{font-size:11px;line-height:1.45;color:#9ca3af;margin-top:12px;min-height:32px}
.fvwfg-camera-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.fvwfg-camera-buttons button{padding:9px 4px;border:1px solid #383d47;border-radius:5px;background:#111318;color:#d9dde4;cursor:pointer}
.fvwfg-validation{margin-top:18px;border:1px solid #30353e;border-radius:7px;background:#101216;padding:11px}.fvwfg-validation-title{font:10px monospace;letter-spacing:.15em;color:#858d99;margin-bottom:7px}.fvwfg-validation ol{list-style:none;padding:0;margin:8px 0 0}.fvwfg-validation li{display:grid;grid-template-columns:24px 1fr auto;gap:6px;padding:6px 0;border-top:1px solid #252a31;font-size:10px;color:#aeb5c0}.fvwfg-validation li strong{text-transform:capitalize}.fvwfg-validation li em{font-style:normal;letter-spacing:.08em}.fvwfg-validation li.pass em{color:#bfc6cf}.fvwfg-validation li.fail em{color:#fff}.fvwfg-validation li small{grid-column:2/4;color:#8f96a3}.fvwfg-validation.is-running{opacity:.65}
.fvwfg-stage{position:relative;min-width:0;min-height:780px;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(63,70,82,.42),transparent 45%),#0d0f12}.fvwfg-canvas-wrap{position:absolute;inset:0}.fvwfg-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
.fvwfg-stage-toolbar{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;z-index:5;pointer-events:none}.fvwfg-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(9,11,14,.76);color:#aab1bc;font:10px/1 monospace;letter-spacing:.12em;backdrop-filter:blur(8px)}
.fvwfg-chip.is-ready{color:#e7e9ed}.fvwfg-stage-help{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:5;color:#858d99;background:rgba(7,8,10,.72);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:11px;pointer-events:none;backdrop-filter:blur(8px)}.fvwfg-stage-help strong{color:#d9dde4}
.fvwfg-caption{position:absolute;bottom:16px;left:16px;right:16px;z-index:5;color:#707782;letter-spacing:.1em;font:10px/1 monospace;pointer-events:none}
@media(max-width:760px){.fvwfg-builder{display:flex;flex-direction:column;min-height:0}.fvwfg-panel{border-right:0;border-bottom:1px solid #2a2d33}.fvwfg-stage{min-height:680px;height:680px}.fvwfg-stage-help{font-size:10px;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis}.fvwfg-stage-toolbar{top:10px;left:10px;right:10px}.fvwfg-caption{bottom:10px;left:10px;right:10px;font-size:8px}}

.fvwfg-diagnostics{margin-top:12px;border:1px solid #30353e;border-radius:7px;background:#0d0f12;padding:11px}.fvwfg-diagnostics-title{font:10px monospace;letter-spacing:.15em;color:#858d99;margin-bottom:6px}.fvwfg-diagnostics-meta{font-size:10px;color:#777f8b;line-height:1.4}.fvwfg-diagnostics ul{list-style:none;padding:0;margin:8px 0 0}.fvwfg-diagnostics li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 0;border-top:1px solid #252a31}.fvwfg-diagnostics li strong{font:10px monospace;color:#c5cad2}.fvwfg-diagnostics li span{font:10px monospace;letter-spacing:.08em;color:#858d99}.fvwfg-diagnostics li small{grid-column:1/3;color:#777f8b;font-size:9px;line-height:1.35}.fvwfg-diagnostics li.loaded span{color:#d9dde4}.fvwfg-diagnostics li.failed span{color:#fff}.fvwfg-diagnostics li.fallback span{color:#9299a4}

.fvwfg-diagnostics li.pending{opacity:.78}.fvwfg-diagnostics li.pending span{color:#aab0bb}.fvwfg-diagnostics li.failed span{color:#ff5a68}.fvwfg-diagnostics li.loaded span{color:#c7ff5b}
