:root{--vlp-bg:#07111c;--vlp-panel:#0d1926;--vlp-line:#26384b;--vlp-text:#f2f7fb;--vlp-muted:#91a2b5;--vlp-cyan:#24d7e7;--vlp-blue:#4988ff;--vlp-good:#49d8a2;--vlp-warn:#f0bd5d;--vlp-bad:#ff7187}
body.vlp-open{overflow:hidden}.vlp-backdrop{position:fixed;inset:0;z-index:2500;background:rgba(2,7,14,.86);backdrop-filter:blur(12px);padding:clamp(10px,3vw,36px)}.vlp-backdrop[hidden]{display:none}.vlp-dialog{height:100%;max-width:1480px;margin:auto;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden;border:1px solid #2a4056;border-radius:20px;background:linear-gradient(145deg,#0a1522,#07101a);box-shadow:0 30px 100px #000b;color:var(--vlp-text)}.vlp-dialog>header{display:flex;justify-content:space-between;gap:24px;padding:24px 28px 18px;border-bottom:1px solid var(--vlp-line);background:radial-gradient(circle at 20% -80%,#134c69,transparent 55%)}.vlp-dialog h1,.vlp-dialog h2,.vlp-dialog h3,.vlp-dialog p{margin:0}.vlp-dialog>header small,.vlp-change>header small,.vlp-proof>header small,.vlp-plan header small{color:var(--vlp-cyan);font-weight:800;letter-spacing:.14em}.vlp-dialog>header h1{font-size:clamp(25px,3vw,38px);margin:5px 0}.vlp-dialog>header p,.vlp-change>header p,.vlp-proof>header p{color:var(--vlp-muted);line-height:1.5}.vlp-dialog>header button{width:42px;height:42px;border:1px solid var(--vlp-line);border-radius:12px;background:#101e2d;color:white;font-size:28px;cursor:pointer}.vlp-dialog>nav{display:flex;gap:4px;padding:8px 24px;border-bottom:1px solid var(--vlp-line);background:#09131e}.vlp-dialog>nav button{border:0;border-radius:9px;background:transparent;color:var(--vlp-muted);padding:10px 14px;font-weight:750;cursor:pointer}.vlp-dialog>nav button.active{background:#13283a;color:white;box-shadow:inset 0 -2px var(--vlp-cyan)}.vlp-dialog>main{overflow:auto;padding:22px}.vlp-loading,.vlp-error,.vlp-empty{min-height:180px;display:grid;place-content:center;text-align:center;color:var(--vlp-muted);padding:24px}.vlp-error{color:var(--vlp-bad)}.vlp-empty.compact{min-height:120px;border:1px dashed var(--vlp-line);border-radius:14px}.vlp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.vlp-summary article{border:1px solid var(--vlp-line);border-radius:14px;padding:15px;background:linear-gradient(145deg,#102031,#0a1521)}.vlp-summary span,.vlp-summary small{display:block;color:var(--vlp-muted)}.vlp-summary strong{display:block;font-size:29px;margin:5px 0}.vlp-graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.vlp-map,.vlp-inspector,.vlp-change,.vlp-proof{border:1px solid var(--vlp-line);border-radius:16px;background:rgba(13,25,38,.86);padding:18px}.vlp-map>header p{color:var(--vlp-muted);margin-top:5px}.vlp-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.vlp-nodes button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;border:1px solid var(--vlp-line);border-radius:12px;background:#0a1520;color:white;padding:13px;cursor:pointer}.vlp-nodes button:hover,.vlp-nodes button.selected{border-color:var(--vlp-cyan);background:#102435}.vlp-nodes button i,.vlp-scenarios article>i{width:9px;height:9px;border-radius:50%;background:var(--vlp-warn);box-shadow:0 0 12px currentColor}.vlp-nodes i.good,.vlp-scenarios i.good{background:var(--vlp-good)}.vlp-nodes i.bad,.vlp-scenarios i.bad{background:var(--vlp-bad)}.vlp-nodes span,.vlp-nodes small{display:block;min-width:0}.vlp-nodes strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vlp-nodes small{color:var(--vlp-muted);margin-top:4px;text-transform:capitalize}.vlp-nodes em{font-style:normal;color:var(--vlp-muted);font-size:11px;text-transform:uppercase}.vlp-inspector h2{margin-bottom:10px}.vlp-pill{display:inline-flex;border:1px solid var(--vlp-line);border-radius:999px;padding:5px 9px;color:var(--vlp-warn);font-size:11px;font-weight:800;text-transform:uppercase}.vlp-pill.good{color:var(--vlp-good)}.vlp-pill.bad{color:var(--vlp-bad)}.vlp-inspector dl{margin:18px 0}.vlp-inspector dl div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #1c2e40}.vlp-inspector dt{color:var(--vlp-muted)}.vlp-inspector dd{margin:0;text-align:right;text-transform:capitalize}.vlp-primary{border:0;border-radius:10px;background:linear-gradient(135deg,var(--vlp-blue),#6254df);color:white;padding:11px 15px;font-weight:800;cursor:pointer}.vlp-truth{display:block;color:var(--vlp-muted);line-height:1.5;margin-top:12px}.vlp-change,.vlp-proof{max-width:1020px;margin:auto}.vlp-change>header,.vlp-proof>header{margin-bottom:20px}.vlp-change h2,.vlp-proof h2{font-size:28px;margin:5px 0}.vlp-change>label{display:block;color:var(--vlp-muted);font-size:12px;font-weight:750;margin:14px 0}.vlp-change select,.vlp-change textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--vlp-line);border-radius:11px;background:#08131e;color:white;padding:12px;font:inherit;box-sizing:border-box}.vlp-actions{display:flex;justify-content:flex-end;margin-bottom:18px}.vlp-plan{border-top:1px solid var(--vlp-line);padding-top:18px}.vlp-plan>header{display:flex;justify-content:space-between;align-items:center}.vlp-plan ul{list-style:none;padding:0;margin:14px 0}.vlp-plan li,.vlp-scenarios article{display:flex;align-items:center;gap:11px;border:1px solid #203349;background:#091521;border-radius:11px;padding:12px;margin:7px 0}.vlp-plan li i{width:8px;height:8px;border-radius:50%;background:var(--vlp-cyan)}.vlp-plan li span,.vlp-plan li small,.vlp-scenarios span,.vlp-scenarios small{display:block}.vlp-plan li small,.vlp-scenarios small{color:var(--vlp-muted);margin-top:3px;text-transform:capitalize}.vlp-plan li em,.vlp-scenarios em{margin-left:auto;color:var(--vlp-muted);font-style:normal;font-size:11px}.vlp-confirm{display:flex!important;align-items:flex-start;gap:9px;color:var(--vlp-text)!important}.vlp-confirm input{margin-top:2px}.vlp-scenarios{margin:18px 0}.vlp-boundary{border-left:3px solid var(--vlp-warn);background:#101b27;padding:13px 15px}.vlp-boundary p{color:var(--vlp-muted);margin-top:4px;line-height:1.5}
@media(max-width:900px){.vlp-backdrop{padding:0}.vlp-dialog{border-radius:0;border:0}.vlp-summary{grid-template-columns:1fr 1fr}.vlp-graph-layout{grid-template-columns:1fr}.vlp-nodes{grid-template-columns:1fr}.vlp-dialog>header{padding:18px}.vlp-dialog>main{padding:14px}.vlp-dialog>nav{overflow:auto;padding-inline:12px}}
