/* Approved Step 2 system diagram, shared with exported plans. */
.plan-graph{--pg-electric:#efd064;--pg-water:#86bddd;--pg-gas:#ef8980;--pg-ink:var(--ai,#223028);--pg-muted:var(--ai2,#57665b);--pg-card:var(--as,#f7f8f4);--pg-border:var(--al,#ccd3c9);--pg-wire:var(--pg-electric);width:100%;max-width:460px;margin:0 auto;font-family:inherit}
.plan-graph[data-system="water"]{--pg-wire:var(--pg-water)}.plan-graph[data-system="gas"]{--pg-wire:var(--pg-gas)}
.plan-graph svg{width:100%;height:auto;display:block;overflow:visible}.pg-wire{fill:none;stroke:var(--pg-wire);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.pg-waste{stroke:#9aa6a0;stroke-dasharray:4 3}.pg-node{cursor:pointer;outline:none}.pg-node>rect{fill:var(--pg-card);stroke:var(--pg-border);stroke-width:1}.pg-node:focus-visible>rect,.pg-highlight>rect{stroke:var(--pg-wire);stroke-width:2.5}.pg-unknown>rect{stroke-dasharray:3 3}.pg-name,.pg-value{text-anchor:middle;fill:var(--pg-ink);font-size:10.5px;font-weight:700}.pg-value{font-size:8.5px;font-weight:500;fill:var(--pg-muted)}.pg-battery>rect{fill:color-mix(in srgb,var(--pg-card) 90%,#94af8c);stroke:color-mix(in srgb,var(--pg-border) 60%,#94af8c)}.pg-node>rect.pg-badge,.pg-question{fill:var(--pg-ink);stroke:none}.pg-badge-text{fill:var(--pg-card);font-size:7px;font-weight:800;text-anchor:middle}.pg-cross{cursor:pointer}.pg-cross rect{fill:var(--pg-card);stroke:var(--pg-wire);stroke-width:.7}.pg-cross text{font-size:8.5px;font-weight:700;fill:var(--pg-wire);text-anchor:middle}.pg-cross:focus-visible rect{stroke-width:2.5}.pg-wire-highlight{stroke-width:2.8}
html[data-theme="light"] .plan-graph{--pg-electric:#9b7412;--pg-water:#286b9b;--pg-gas:#b4473c;--pg-card:#fff}
#vn.systems-active #vn-body{overflow-x:hidden}#vn.systems-active #sys-view{min-width:0}#vn.systems-active #sys-action{flex-wrap:wrap}#vn.systems-active #sys-action button{flex:1;min-width:120px}
#vn.systems-active .s2-steps{background:color-mix(in srgb,var(--ai) 5%,transparent);border:1px solid var(--al);border-radius:10px;padding:3px;gap:2px;margin:0 0 8px}#vn.systems-active .s2-steps button{font-size:11px;height:40px;min-height:40px;border-radius:7px;padding:0 3px}#vn.systems-active .s2-steps button.on{background:var(--ai);color:var(--as)}#vn.systems-active .s2-tabs{margin-bottom:12px}#vn.systems-active .s2-tabs button{min-height:40px;font-size:12px}
#vn .s2-verdict{display:flex;gap:10px;padding:12px;border:1px solid var(--al);border-radius:12px;background:color-mix(in srgb,#82a777 8%,transparent);margin-bottom:10px}#vn .s2-dot{width:12px;height:12px;background:#a5c997;border-radius:50%;flex:none;margin-top:3px}#vn .s2-verdict.warn .s2-dot{background:#e7b667}#vn .s2-verdict b{font-size:14px;line-height:1.35;display:block}#vn .s2-verdict p{font-size:11px;line-height:1.45;margin:4px 0 0;color:var(--ai2)}#vn .s2-cost{display:flex;align-items:center;gap:7px;width:100%;text-align:left;min-height:44px;border:1px solid var(--al);border-radius:9px;margin-bottom:8px;padding:7px 10px}#vn .s2-cost b{font-size:11px}#vn .s2-cost small{font-size:9px;color:var(--ai2);margin-left:auto}#vn .s2-pick-note,#vn .s2-caption{font-size:10px;line-height:1.45;color:var(--ai2);margin:4px 0 10px}#vn .s2-caption{text-align:center}
#vn .s2-try h3,#vn .s2-editor h3,#vn .s2-prices h3{font-size:11px;font-weight:800;margin:16px 0 8px}#vn .s2-chips{display:flex;flex-wrap:wrap;gap:6px}#vn .s2-chips button{font-size:10.5px;min-height:44px;padding:6px 9px;border:1px solid var(--al);border-radius:8px;background:color-mix(in srgb,var(--as) 50%,transparent)}#vn .s2-chips button[aria-pressed="true"]{background:var(--ai);color:var(--as)}#vn .s2-result{padding:12px;border:1px solid var(--al);border-radius:12px;margin:10px 0;background:color-mix(in srgb,var(--as) 70%,transparent)}#vn .s2-result.warn{border-color:color-mix(in srgb,#cc9846 55%,var(--al));background:color-mix(in srgb,#cc9846 7%,var(--as))}#vn .s2-result>b{font-size:14px}#vn .s2-result p{font-size:11px;line-height:1.5;margin:6px 0;color:var(--ai2)}#vn .s2-result .two{margin-top:10px}#vn .s2-remedy{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border-top:1px solid var(--al);border-radius:0;text-align:left;min-height:48px;margin-top:5px;padding:8px 0;font-size:11px}#vn .s2-remedy small{max-width:48%;text-align:right;font-size:10px;color:var(--ai2)}#vn .s2-charge{display:flex;align-items:center;gap:8px;font-size:11px;margin:10px 0}#vn .s2-charge meter{flex:1;min-width:0;height:10px}
#vn .s2-ask-entry{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:8px 10px;border:1px solid var(--al);border-radius:16px;margin-top:14px;text-align:left;font-size:12px}#vn .s2-ask-entry>span:nth-child(2){flex:1}#vn .s2-ai{font-size:9px;font-weight:800;border:1px solid var(--al);border-radius:6px;padding:4px 5px}#vn .s2-demo{display:block;text-align:right;font-size:10px;line-height:1.5;color:var(--ai2);margin:4px 5px 8px;font-weight:400}#vn .s2-ask-entry.used,#vn .s2-used{border-style:dashed}
#vn .s2-editor header{display:flex;align-items:center;gap:9px;padding:8px 0 14px;border-bottom:1px solid var(--al);margin-bottom:8px}#vn .s2-editor header img{width:48px;height:48px;object-fit:contain}#vn .s2-editor h2,#vn .s2-answer h2,#vn .s2-prices h2{font-size:16px;margin:0;line-height:1.35}#vn .s2-editor header p{font-size:10px;color:var(--ai2);margin:4px 0}#vn .s2-tag{font-size:8px;font-weight:800;border-radius:5px;padding:4px 6px;background:var(--ai);color:var(--as);white-space:nowrap;margin-left:auto;font-style:normal}#vn .day .s2-tag{margin-left:8px}
#vn .s2-sizing{display:flex;height:29px;background:var(--as2);border:1px solid var(--al);border-radius:5px;overflow:hidden}#vn .s2-sizing span{min-width:0;display:grid;place-items:center;background:color-mix(in srgb,#90b181 60%,var(--as));color:var(--ai);font-size:8px;border-right:1px solid var(--al)}#vn .s2-sizing .reserve{background:repeating-linear-gradient(120deg,transparent 0 4px,#c1a26125 4px 6px)}#vn .s2-options{display:flex;gap:6px}#vn .s2-options button{flex:1;min-width:0;min-height:48px;border:1px solid var(--al);border-radius:9px;padding:7px 4px;font-size:12px}#vn .s2-options button[aria-pressed="true"]{background:var(--ai);color:var(--as)}#vn .s2-options b{display:block;font-size:12px}#vn .s2-options small{display:block;font-size:9px;line-height:1.4;margin-top:3px}#vn .s2-quantity{display:flex;gap:15px;align-items:center}#vn .s2-quantity button{min-width:44px;min-height:44px;border:1px solid var(--al);border-radius:8px;font-size:19px}
#vn .s2-changes{margin-bottom:12px}#vn .s2-changes>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--al);padding:8px 0;font-size:11px}#vn .s2-changes b{font-weight:600;text-align:right}#vn .s2-editor>.btn{display:block;min-height:44px;margin:12px auto 4px}#vn .s2-context-ask{font-size:12px;min-height:44px;width:100%;text-decoration:underline;margin-top:10px}
#vn .s2-value-form{display:flex;align-items:end;gap:8px;margin:12px 0}#vn .s2-value-form label{flex:1;font-size:11px;font-weight:700}#vn .s2-value-form input{display:block;min-height:44px;width:100%;margin-top:6px;border:1px solid var(--al);background:var(--as);color:var(--ai);border-radius:8px;padding:8px;font:inherit}#vn .s2-value-form button{min-height:44px}
#vn .s2-prices h3{display:flex;justify-content:space-between}#vn .s2-price-row,#vn .s2-price-total{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;border-bottom:1px solid var(--al)}#vn .s2-price-row small{display:block;font-size:10px;line-height:1.4;color:var(--ai2);margin-top:4px}#vn .s2-price-row>b{flex:none;font-size:11px}#vn .s2-price-total{font-weight:800;margin-top:14px}#vn .s2-prices details small{display:block;font-size:10px;line-height:1.5;margin-top:4px}#vn .s2-prices a{color:var(--ai);font-size:12px}
#vn .s2-location{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;width:100%;text-align:left;padding:10px;border:1px solid var(--al);border-radius:10px;margin-bottom:8px}#vn .s2-location[aria-pressed="true"]{border-color:var(--ai2);background:color-mix(in srgb,var(--ai) 4%,transparent)}#vn .s2-location b{font-size:12px;line-height:1.45;display:block}#vn .s2-location small{display:block;font-size:10px;margin-top:4px;color:var(--ai2)}#vn .s2-location strong{font-size:10px;flex:0 0 75px;text-align:right}#vn .warn-text{color:var(--warn-ink,var(--ai2))}
#vn .s2-trip-system{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--al);border-radius:12px;margin-bottom:12px}#vn .s2-trip-system b{font-size:12px}#vn .s2-trip-system small{font-size:10px;color:var(--ai2);display:block;line-height:1.6;margin-top:4px}#vn .s2-trip-system button{min-width:64px;min-height:44px;margin-left:auto;font-size:12px}
#vn .s2-answer h2{display:flex;align-items:center;justify-content:space-between}#vn .s2-question{margin:16px 0 12px 24px;background:var(--ai);color:var(--as);padding:12px;border-radius:12px;font-size:12px;line-height:1.5}#vn .s2-answer-card{border:1px solid var(--al);padding:12px;border-radius:12px;background:color-mix(in srgb,var(--as) 70%,transparent)}#vn .s2-answer-card>b{font-size:14px}#vn .s2-answer-card>p{font-size:12px;line-height:1.65;color:var(--ai2)}#vn #s2-ask-form{margin-top:16px}#vn #s2-ask-form label{font-size:11px}#vn .s2-input-line{display:flex;gap:5px;padding:4px;border:1px solid var(--al);border-radius:14px;margin-top:5px}#vn .s2-input-line input{flex:1;min-width:0;min-height:44px;border:none;background:transparent;padding:8px;color:var(--ai);font:inherit;font-size:12px}#vn .s2-input-line button{min-height:44px;min-width:44px;background:var(--ai);color:var(--as);border-radius:10px}#vn .s2-character-count{display:block;text-align:right;font-size:10px;color:var(--ai2)}
#vn .s2-hint{position:absolute;z-index:10;top:15px;left:50%;transform:translateX(-50%);background:var(--ai);color:var(--as);border-radius:9px;padding:10px 12px;min-height:44px;white-space:nowrap;font-size:11px;box-shadow:0 5px 20px #0003}#vn .s2-nudge{animation:s2-nudge 1.1s cubic-bezier(.3,.9,.3,1)}#vn .s2-nudge #vn-grab i{animation:s2-grip .55s ease 2}@keyframes s2-nudge{0%,100%{translate:0 0}40%{translate:0 -30px}}@keyframes s2-grip{50%{background:var(--ai);scale:1.3 1}}
@media(prefers-reduced-motion:reduce){#vn .s2-nudge,#vn .s2-nudge #vn-grab i{animation:none}}
@media(min-width:900px){#vn.systems-active #sys-view{max-width:460px;margin-inline:auto}#vn.systems-active .s2-steps button{font-size:12px}}
@media print{.plan-graph{--pg-ink:#223028;--pg-muted:#57665b;--pg-card:#fff;--pg-electric:#9b7412;--pg-water:#286b9b;--pg-gas:#b4473c;break-inside:avoid}}
#vn.systems-active #sys-view .s2-steps{padding:3px;margin:0 0 4px;gap:2px}
#vn.systems-active #sys-view .s2-steps button{height:40px;min-height:40px;font-size:11px;padding:0 3px}
#vn.systems-active #sys-view .s2-tabs{margin:0 0 7px}
#vn.systems-active #sys-view .s2-tabs button{min-height:40px;height:40px;padding:4px;font-size:12px}
#vn.systems-active #vn-panel[data-state="1"] .s2-verdict{padding:8px 10px;margin-bottom:6px}
#vn.systems-active #vn-panel[data-state="1"] .s2-verdict b{font-size:12px}
#vn.systems-active #vn-panel[data-state="1"] .s2-verdict p{font-size:10px;margin-top:2px}
#vn.systems-active #vn-panel[data-state="1"] .s2-cost{margin-bottom:0;min-height:40px}
#vn.systems-active #sys-action{padding:8px 16px 10px}
#vn.systems-active #sys-action .btn{min-height:44px;font-size:12px;padding:4px 8px}
#vn.systems-active #vn-panel.s2-detail #vn-body{position:relative;overflow:hidden;padding:0}
#vn.systems-active #vn-panel.s2-detail #sys-view{padding:0;max-width:none}
#vn .s2-context-graph{padding:12px 16px;opacity:.25;pointer-events:none;filter:blur(.5px)}
#vn .s2-sheet{position:absolute;inset:92px 0 0;overflow:auto;overscroll-behavior:contain;padding:10px 16px 20px;border:1px solid var(--al);border-bottom:0;border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--as) 90%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);outline:none;scrollbar-width:none;box-shadow:0 -8px 25px #0001}
#vn .s2-sheet::-webkit-scrollbar{display:none}#vn .s2-sheet-grip{width:30px;height:3px;background:var(--al);margin:0 auto 12px;border-radius:2px}
#vn .s2-detail #sys-action{background:color-mix(in srgb,var(--as) 90%,transparent);backdrop-filter:blur(24px)}
@media(min-width:900px){#vn .s2-sheet{inset-block-start:110px}}

.pg-generic{fill:none;stroke:var(--pg-muted);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1100px){
 html[data-design="n"][data-pro] #vn.polish-workspace>#vn-parts:not([hidden]){display:flex!important;position:absolute;left:auto;right:0;bottom:34px;width:300px;transform:none;border-radius:0;z-index:28;height:68px;box-sizing:border-box}
 html[data-design="n"][data-pro] #vn.polish-workspace #vn-insp{bottom:102px}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active #vn-insp{display:none!important}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active>#vn-panel:not([hidden]){display:flex!important;left:auto;right:0;top:var(--top);bottom:102px;width:380px;height:auto!important;max-height:none!important;transform:none;border-radius:0;transition:none}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active>#vn-parts:not([hidden]){width:380px}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active #vn-grab{display:none}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active #vn-body{display:block!important;flex:1;min-height:0;padding-top:12px}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active #vn-fold{display:none!important}
 html[data-design="n"][data-pro] #vn.polish-workspace.systems-active #vn-rail{right:394px}
}
@media(min-width:1100px){
 html[data-design="n"][data-pro] #vn.polish-workspace>#vn-parts:not([hidden]){display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px!important;gap:2px}
 html[data-design="n"][data-pro] #vn.polish-workspace>#vn-parts button{width:100%;min-width:0;margin:0}
}
#vn .s2-location-option{margin-bottom:10px;border:1px solid var(--al);border-radius:10px;overflow:hidden}
#vn .s2-location-option .s2-location{margin:0;border:0;border-radius:0}
#vn .s2-location-option .s2-location[aria-pressed="true"]{box-shadow:inset 3px 0 var(--ai2)}
#vn .s2-measure{display:block;width:100%;min-height:36px;padding:6px 10px;text-align:left;font-size:10px;color:var(--ai2);border:0;border-top:1px solid var(--al);background:transparent}
