.ev-visual{--ev-blue:#056bff;position:relative;width:100%;max-width:690px;margin:0 auto;isolation:isolate}
.ev-legend{display:flex;justify-content:space-between;gap:18px;padding:0 8% 0 7%;color:#35516e;font-size:clamp(12px,1.05vw,15px);font-weight:550;line-height:1.4;letter-spacing:-.015em}
.ev-legend span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.ev-legend i{width:7px;height:7px;border-radius:50%;background:var(--ev-blue);flex:none}
.ev-legend span:last-child i{background:#9bbdec;box-shadow:0 0 0 3px #edf4ff}
.ev-scene{width:100%;height:auto;display:block;overflow:visible;margin-top:2px}
.ev-existing-edge{fill:none;stroke:#357edf;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ev-grid{fill:none;stroke:#99bff1;stroke-width:.7;opacity:.62}
.ev-wall-detail{fill:none;stroke:#85afe7;stroke-width:1.2;stroke-linejoin:round}
.ev-sofa{stroke-width:1.1}
.ev-existing-points{fill:var(--ev-blue);stroke:#fff;stroke-width:1.25}
.ev-new-edge{fill:none;stroke:#8eafe0;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ev-new-grid{fill:none;stroke:#bdd3f0;stroke-width:.7;opacity:.7}
.ev-seam{fill:none;stroke:#95b9e9;stroke-width:1;stroke-dasharray:3 6;opacity:.5}
.ev-window{fill:#d0e3fb;stroke:#96b6e0;stroke-width:1.4;stroke-linejoin:round}
.ev-window-line{fill:none;stroke:#95b4dc;stroke-width:1.1}
.ev-new-points{fill:#83aee6;stroke:#fff;stroke-width:1.25}
.ev-anchor-links{fill:var(--ev-blue);stroke:var(--ev-blue);stroke-width:1}
.ev-anchor-links path{fill:none;stroke-dasharray:3 5;opacity:.43}
.ev-photo-shadow{fill:#4f78ac;opacity:.06}
.ev-depth-marks{fill:var(--ev-blue);stroke:var(--ev-blue);stroke-width:.9}
.ev-depth-marks path{fill:none;opacity:.58}
.ev-observation-cone{fill:#b5d4ff;opacity:.11}
.ev-observation-ray{fill:none;stroke:#91b6e6;stroke-width:1;stroke-dasharray:3 6;opacity:.65}
.ev-stages{display:flex;justify-content:center;gap:18px;list-style:none;padding:0;margin:4px 0 15px;color:#7086a1;font-size:clamp(10px,.9vw,12px);line-height:1.5}
.ev-stages li{display:flex;align-items:center;gap:6px;transition:color .2s}
.ev-stages li>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #9ebce144;font-size:10px;background:#eef5ff}
.ev-visual[data-ev-stage="stored"] .ev-stages li:first-child,.ev-visual[data-ev-stage="scanning"] .ev-stages li:nth-child(2),.ev-visual[data-ev-stage="extended"] .ev-stages li:last-child{color:#226bce}
.ev-visual[data-ev-stage="stored"] .ev-stages li:first-child>span,.ev-visual[data-ev-stage="scanning"] .ev-stages li:nth-child(2)>span,.ev-visual[data-ev-stage="extended"] .ev-stages li:last-child>span{background:#d4e5ff;border-color:#77a9ef}
.ev-caption{display:flex;gap:8px;align-items:center;margin:0 4% 0 6%;color:#4e6682;font-size:clamp(11px,1vw,13px);line-height:1.5;letter-spacing:-.01em}
.ev-caption-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--ev-blue);flex:none}
@media(max-width:600px){.ev-visual{max-width:470px}.ev-legend{padding:0 3% 0 5%;gap:10px}.ev-legend span{gap:7px}.ev-caption{max-width:90%;font-size:11px}.ev-legend{font-size:12px}.ev-stages{gap:9px;font-size:10px}.ev-stages li{gap:4px}.ev-stages li>span{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.ev-visual *{animation:none!important;transition:none!important}}
