.roof-visual[data-v-9709e9d9]{margin:0}.roof-visual.is-staged[data-v-9709e9d9]{grid-template-columns:minmax(0,1fr);display:grid}.roof-visual.is-staged>.roof-visual-progress[data-v-9709e9d9],.roof-visual.is-staged>figcaption[data-v-9709e9d9]{grid-area:2/1;align-self:start}.roof-visual-progress[data-v-9709e9d9]{margin-top:10px}.roof-visual-progress-leave-active[data-v-9709e9d9]{transition:opacity .3s,max-height .5s ease-in;overflow:hidden}.roof-visual-progress-leave-from[data-v-9709e9d9]{max-height:320px}.roof-visual-progress-leave-to[data-v-9709e9d9]{opacity:0;max-height:0}.roof-visual.is-staged>figcaption[data-v-9709e9d9]{transition:opacity .4s .12s,visibility}.roof-visual.is-staged>figcaption.is-held[data-v-9709e9d9]{visibility:hidden;opacity:0;transition:none}.roof-visual-frame[data-v-9709e9d9]{border:1px solid var(--color-border);background:#e9edf3;border-radius:4px;position:relative;overflow:hidden}.roof-visual-layer[data-v-9709e9d9]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.roof-visual-panels[data-v-9709e9d9]{position:absolute;inset:0}.roof-visual-array[data-v-9709e9d9]{filter:drop-shadow(0 1.6px 1.8px #050b1673)}.roof-visual-dim[data-v-9709e9d9]{pointer-events:none;background:#060d1800;transition:background-color .6s;position:absolute;inset:0}.roof-visual.is-scanning .roof-visual-dim[data-v-9709e9d9]{background:#060d186b}.roof-visual.has-faces:not(.is-scanning) .roof-visual-dim[data-v-9709e9d9]{background:#060d181f}.roof-visual-scan[data-v-9709e9d9]{opacity:0;pointer-events:none;transition:opacity .6s ease-out;position:absolute}.roof-visual-scan.is-active[data-v-9709e9d9]{opacity:1}.roof-visual-faces[data-v-9709e9d9]{filter:drop-shadow(0 0 1.2px #050b16b3)}.roof-visual-face[data-v-9709e9d9]{fill:#0000;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.roof-visual-face.is-planned[data-v-9709e9d9]{fill:#42d03c1a;stroke:var(--color-green);stroke-width:2.4px}.roof-visual-face.is-open[data-v-9709e9d9]{stroke:#ffffffd9;stroke-width:1.6px}.roof-visual-face.is-blocked[data-v-9709e9d9]{stroke:#ffffff8c;stroke-width:1.2px;stroke-dasharray:4 3}.roof-visual-panel[data-v-9709e9d9]{transform-box:fill-box;transform-origin:50%;pointer-events:none}.roof-panel-enter-active[data-v-9709e9d9]{transition:transform .26s cubic-bezier(.34,1.56,.64,1) var(--delay,0s),opacity .2s ease var(--delay,0s)}.roof-panel-enter-from[data-v-9709e9d9]{opacity:0;transform:scale(.45)}.roof-visual-face-labels[data-v-9709e9d9]{pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.roof-visual-face-label[data-v-9709e9d9]{color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;background:#fffffff0;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;animation:.4s ease-out both roof-face-label-9709e9d9;position:absolute;transform:translate(-50%,-50%)}@keyframes roof-face-label-9709e9d9{0%{opacity:0}}.roof-visual-sr[data-v-9709e9d9]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roof-visual-marker[data-v-9709e9d9]{background:var(--color-green);border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #130a3373}.roof-visual-shimmer[data-v-9709e9d9]{background:#e9edf3 linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%) 0 0/220% 100%;animation:1.6s ease-in-out infinite roof-visual-shimmer-9709e9d9;position:absolute;inset:0}@keyframes roof-visual-shimmer-9709e9d9{0%{background-position:120% 0}to{background-position:-120% 0}}.roof-visual-status[data-v-9709e9d9]{color:var(--color-ink-muted);text-align:center;place-items:center;margin:0;padding:16px;font-size:13px;display:grid;position:absolute;inset:0}.roof-visual figcaption[data-v-9709e9d9]{color:var(--color-ink-muted);margin-top:9px;font-size:12px;font-weight:700}.roof-visual-legend[data-v-9709e9d9]{flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;padding:0;font-weight:500;list-style:none;display:flex}.roof-visual-legend li[data-v-9709e9d9]{align-items:center;gap:6px;display:inline-flex}.roof-visual-legend-swatch[data-v-9709e9d9]{border:2px solid #9aa5b5;border-radius:2px;width:14px;height:10px}.roof-visual-legend-swatch.is-planned[data-v-9709e9d9]{border-color:var(--color-green);background:#42d03c2e}.roof-visual-legend-swatch.is-open[data-v-9709e9d9]{border-color:#9aa5b5}.roof-visual-legend-swatch.is-blocked[data-v-9709e9d9]{border-style:dashed;border-color:#b9c1cd}.roof-visual-source[data-v-9709e9d9]{color:#1f1f1f;letter-spacing:normal;white-space:nowrap;background:#ffffffe0;border-radius:2px;padding:2px 4px;font-family:Roboto,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.2;position:absolute;bottom:5px;right:5px}@media (prefers-reduced-motion:reduce){.roof-panel-enter-active[data-v-9709e9d9],.roof-visual-dim[data-v-9709e9d9],.roof-visual-progress-leave-active[data-v-9709e9d9],.roof-visual-scan[data-v-9709e9d9],.roof-visual.is-staged>figcaption[data-v-9709e9d9]{transition:none}.roof-visual-face-label[data-v-9709e9d9],.roof-visual-shimmer[data-v-9709e9d9]{animation:none}}
