.solar-reveal-dialog{border:1px solid var(--color-border,#d5e1dd);background:var(--color-surface,#fff);width:min(820px,100vw - 24px);max-height:94dvh;color:var(--color-ink,#18352b);border-radius:24px;padding:32px;overflow:auto;box-shadow:0 28px 100px #001c3750}.solar-reveal-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#001c37a8}.reveal-close{float:right;background:0 0;border:0;border-radius:50%;padding:8px}.reveal-eyebrow{color:var(--color-green,#0c8369);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.solar-reveal-dialog h2,.reveal-result h2{letter-spacing:-.025em;margin:0 36px 12px 0;font-size:clamp(24px,4vw,36px);font-weight:700;line-height:1.15}.solar-reveal-dialog p,.reveal-result p{margin:8px 0 16px;line-height:1.6}.reveal-image{background:#e5ece8;border-radius:16px;line-height:0;position:relative;overflow:hidden}.reveal-image img{width:100%;height:auto;display:block}.reveal-image svg{fill:none;width:100%;height:100%;position:absolute;inset:0}.reveal-select svg{cursor:crosshair}.reveal-image polygon{fill:#16d9b32b;stroke:#40ffcf;stroke-width:4px}.reveal-image circle{fill:#fff;stroke:#09846d;stroke-width:4px}.reveal-image rect{stroke:#ffcc45;stroke-width:3px}.reveal-image text{fill:#fff;stroke:#122820;stroke-width:3px;paint-order:stroke;font:600 22px sans-serif}.reveal-attribution{opacity:.75;margin:8px 0!important;font-size:11px!important}.reveal-primary,.reveal-cta{color:#fff;cursor:pointer;background:#075e50;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 20px;font-size:16px;font-weight:650;display:flex}.reveal-primary:disabled{opacity:.45;cursor:default}.reveal-cta{background:linear-gradient(125deg,#064e45,#138671);justify-content:space-between;padding:20px;box-shadow:0 8px 24px #077a4920}.reveal-cta small{text-align:left;color:#c4f1df;margin-top:4px;font-size:12px;font-weight:400;display:block}.reveal-tabs{background:#deeae5;border-radius:12px;width:fit-content;margin:18px 0;padding:4px;display:flex}.reveal-tabs button{color:#26483d;background:0 0;border:0;border-radius:9px;padding:10px 22px;font-weight:600}.reveal-tabs button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px #1232}.reveal-metrics{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.reveal-metrics div{border:1px solid #9bbcac60;border-radius:14px;padding:16px}.reveal-metrics b{font-size:26px;display:block}.reveal-metrics span,.reveal-note{opacity:.8;font-size:12px}.reveal-selection-summary,.reveal-actions{justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.reveal-selection-summary button,.reveal-actions a,.reveal-share button,.reveal-coordinate-editor button{background:0 0;border:1px solid #9bbcac70;border-radius:9px;align-items:center;gap:5px;padding:9px;font-size:13px;display:inline-flex}.reveal-actions .reveal-primary{width:auto}.reveal-loading{justify-content:center;align-items:center;gap:12px;min-height:120px;display:flex}.reveal-processing{opacity:.6}.reveal-coordinate-editor{margin:12px 0}.reveal-coordinate-editor div{align-items:center;gap:8px;margin:10px 0;display:flex}.reveal-coordinate-editor input{border:1px solid #9bbcac;border-radius:6px;width:75px;padding:6px}.reveal-coordinate-editor label{font-size:12px}.reveal-share{background:#759b8718;border-radius:14px;padding:16px}.reveal-share input{border:1px solid #9bbcac;width:100%;padding:8px;font-size:12px;display:block}.reveal-library{max-width:820px;margin:auto;padding:30px 20px}.reveal-library-list{gap:12px;margin:20px 0;display:grid}.reveal-library-list button{text-align:left;background:0 0;border:1px solid #9bbcac;border-radius:12px;padding:18px}.reveal-result details{margin:16px 0}.reveal-result li{margin:8px 0}.reveal-result summary{cursor:pointer;font-weight:600}@media (max-width:600px){.solar-reveal-dialog{border-radius:18px;padding:22px 16px}.reveal-actions{flex-direction:column;align-items:stretch}.reveal-actions .reveal-primary{width:100%}.reveal-metrics{gap:8px}.reveal-metrics b{font-size:22px}}.solar-reveal-dialog{margin:auto;inset:0}.reveal-image{width:min(100%,560px);margin-inline:auto}.reveal-close{z-index:2;background:var(--color-surface,#fff);position:sticky;top:0}.roof-frame-stage{isolation:isolate;background:#d9e3db;border-radius:16px;height:clamp(280px,48dvh,460px);position:relative;overflow:hidden}.roof-frame-map{position:absolute;inset:0}.roof-frame-map>img{object-fit:fill;width:100%;height:100%}.roof-frame-loading{background:#e3ebe5;place-content:center;display:grid;position:absolute;inset:0}.roof-frame-box{cursor:move;touch-action:none;outline-offset:5px;border:2px solid #32f5b0;position:absolute;box-shadow:0 0 0 2000px #001b2b4a}.roof-frame-box:focus-visible{outline:3px solid #fff}.roof-frame-label{color:#fff;white-space:nowrap;pointer-events:none;background:#063e34;border:1px solid #32f5b0;border-radius:20px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:650;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.roof-frame-handle{color:#fff;cursor:nwse-resize;touch-action:none;background:#063e34;border:2px solid #32f5b0;border-radius:10px;place-content:center;width:36px;height:36px;display:grid;position:absolute;bottom:-16px;right:-16px}.roof-frame-tools{align-items:center;gap:18px;padding-top:16px;display:flex}.roof-frame-tools label{flex:1;min-width:0;font-size:12px}.roof-frame-tools input{accent-color:#08765f;width:100%;margin-top:6px;display:block}.roof-frame-tools button{color:inherit;background:#16805e12;border:0;border-radius:8px;align-items:center;gap:6px;padding:10px;display:flex}.roof-frame-picker .reveal-note{margin:10px 0 18px}.solar-reveal-dialog [hidden]{display:none}.solar-reveal-dialog>p{max-width:650px}.solar-reveal-dialog .reveal-image{width:fit-content;max-width:100%;max-height:52dvh}.solar-reveal-dialog .reveal-image img{object-fit:contain;width:auto;max-width:100%;max-height:52dvh}.reveal-attribution{text-align:center}.roof-frame-stage{touch-action:none;cursor:grab;background:#152820}.roof-frame-map{pointer-events:none}.roof-frame-tools{gap:12px}.roof-frame-tools button{flex-shrink:0}.roof-frame-tools button:disabled{opacity:.35}.roof-frame-map>img{object-fit:contain}.roof-outline-stage{cursor:crosshair}.roof-outline-stage.is-panning{cursor:grab}.roof-outline-lines{pointer-events:none;position:absolute;inset:0}.roof-outline-corner{color:#fff;cursor:move;touch-action:none;background:#063e34;border:2px solid #32f5b0;border-radius:50%;place-content:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.roof-outline-corner:focus-visible,.roof-outline-stage:focus-visible{outline-offset:3px;outline:3px solid #fff}.roof-outline-tools{flex-wrap:wrap;gap:8px}.roof-outline-tools button{min-height:44px}.roof-outline-tools button[aria-pressed=true]{color:#fff;background:#075e50}.roof-outline-finish{color:#064e45;background:#e2f3e9;border:1px solid #08765f;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:12px;font-weight:650;display:flex}.roof-outline-finish:disabled{opacity:.45}.roof-outline-keyboard{margin:8px 0 16px;font-size:12px}.roof-outline-crosshair{display:none}.roof-outline-stage:focus-visible .roof-outline-crosshair{display:block}.obstruction-review{border-top:1px solid #9bbcac70;margin:24px 0;padding:20px 0}.obstruction-review h3{margin:0 0 8px;font-size:22px;font-weight:700}.obstruction-review>p{font-size:14px;line-height:1.5}.obstruction-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.obstruction-actions button,.obstruction-fields button{min-height:44px;color:inherit;background:0 0;border:1px solid #739f8e;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;display:flex}.obstruction-actions .reveal-primary{color:#fff;background:#075e50}.obstruction-canvas{isolation:isolate;background:#14251f;width:100%;line-height:0;position:relative}.obstruction-canvas>img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.obstruction-canvas>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.obstruction-box{background:#ffbd5320;border:2px solid #ffbd53;min-width:2px;min-height:2px;position:absolute}.obstruction-box.is-selected{z-index:1;background:#ffbd5333;border:3px solid #ffdc8f}.obstruction-move{cursor:move;touch-action:none;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.obstruction-move span{color:#fff;background:#6c3d00;border-radius:6px;padding:5px 8px;font-size:13px;line-height:1;position:absolute;top:-26px;left:-1px}.obstruction-resize{color:#fff;touch-action:none;cursor:nwse-resize;background:#6c3d00;border:2px solid #ffdc8f;border-radius:6px;width:28px;height:28px;line-height:1;position:absolute;bottom:-12px;right:-12px}.obstruction-list{gap:8px;margin:12px 0;display:grid}.obstruction-list>button{text-align:left;color:inherit;background:0 0;border:1px solid #9bbcac;border-radius:9px;padding:10px 12px;line-height:1.4}.obstruction-list>button[aria-pressed=true]{background:#16805e12;border:2px solid #08765f}.obstruction-review .obstruction-list small{color:var(--color-ink,#18352b);opacity:1;font-size:12px;display:block}.obstruction-fields{border:1px solid #9bbcac;border-radius:12px;min-width:0;padding:14px}.obstruction-fields legend{font-size:14px;font-weight:600}.obstruction-fields input:not([type=range]){width:100%;color:inherit;background:0 0;border:1px solid #9bbcac;border-radius:8px;padding:9px;display:block}.obstruction-fields label{font-size:13px}.obstruction-sliders{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.obstruction-sliders input{accent-color:#075e50;width:100%;display:block}.obstruction-confirm{align-items:flex-start;gap:10px;margin:18px 0;font-size:14px;line-height:1.5;display:flex}.obstruction-confirm input{flex-shrink:0;margin-top:4px}.obstruction-review button:disabled{opacity:.5}.obstruction-review details{font-size:13px}.obstruction-review button:focus-visible{outline-offset:2px;outline:3px solid #086bdb}.solar-reveal-inline{min-width:0}.solar-reveal-inline>.home-back{margin-bottom:20px}.solar-reveal-inline h2{margin:12px 0;font-size:clamp(24px,3vw,32px);font-weight:700;line-height:1.15}.solar-reveal-inline p{margin:10px 0 16px;line-height:1.6}.solar-reveal-inline [hidden]{display:none}.solar-reveal-inline .reveal-image{width:100%}.solar-reveal-inline .reveal-image img{width:100%;height:auto}.solar-reveal-inline .roof-frame-stage{height:350px}.roof-map-keyboard{margin:12px 0;font-size:13px}.roof-map-keyboard button,.roof-image-switch,.roof-map-picker [role=alert] button{color:inherit;background:0 0;border:1px solid #739f8e;border-radius:8px;margin:5px 5px 5px 0;padding:10px}.roof-image-switch{font-size:13px}.roof-map-picker .reveal-note{opacity:1}.consumer-auth-inline{width:100%;min-width:0}.consumer-auth-inline .consumer-login-body{padding:0}.consumer-auth-inline .consumer-login-actions{padding:16px 0}.solar-reveal-inline .reveal-actions{flex-wrap:wrap}@media (max-width:767px){.home-split.is-solar-drawing .home-map{z-index:4;height:36dvh;min-height:240px;position:sticky;top:0;box-shadow:0 5px 15px #0002}.home-split.is-solar-drawing .home-map-caption{display:none}.home-split.is-solar-drawing .home-map .map-panel>.fine{pointer-events:none}.solar-reveal-inline h2{scroll-margin-top:42dvh}}.home-map-base{height:100%}.home-map.is-roof-visual{background:var(--color-surface,#fff);height:auto;min-height:0;overflow:hidden}.home-map.is-roof-visual>.home-map-base{visibility:hidden;pointer-events:none;height:620px;position:absolute;inset:0}.roof-visual-host{width:100%}.roof-visual-content{padding:16px}.roof-visual-content .reveal-image{width:100%;max-width:none}.roof-visual-content .reveal-image img{width:100%;height:auto}.roof-visual-content .reveal-tabs{margin:0 0 12px}.roof-visual-heading{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:2px 0 14px;font-size:14px;display:flex}.roof-visual-heading span{color:#075e50}.roof-progress{gap:14px;margin:24px 0;padding:0;list-style:none;display:grid}.roof-progress li{border:1px solid #9bbcac70;border-radius:10px;padding:12px 16px}.roof-progress [aria-current]{background:#16805e12;border-color:#08765f;font-weight:600}.is-enhancing:after{content:"";pointer-events:none;background:linear-gradient(#0000,#58d3b529,#0000);animation:2.5s ease-in-out infinite roof-scan;position:absolute;inset:0}@keyframes roof-scan{0%,to{transform:translateY(-65%)}50%{transform:translateY(65%)}}@media (prefers-reduced-motion:reduce){.is-enhancing:after{animation:none}}@media (max-width:767px){.home-map.is-roof-visual>.home-map-base{height:230px}.roof-visual-content{padding:12px}.home-map.is-roof-visual{position:relative;top:auto}.roof-visual-heading{font-size:13px}}.roof-visual-content .obstruction-canvas{width:fit-content;max-width:100%;margin:0 auto}.roof-visual-content .obstruction-canvas>img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 190px)}.roof-visual-content .reveal-image img{object-fit:contain;max-height:calc(100dvh - 190px)}@media (max-width:767px){.roof-visual-content .obstruction-canvas>img,.roof-visual-content .reveal-image img{max-height:60dvh}.home-map.is-roof-visual:has(.obstruction-canvas){z-index:4;position:sticky;top:0;box-shadow:0 5px 15px #0002}.roof-visual-content:has(.obstruction-canvas){padding:8px}.roof-visual-content:has(.obstruction-canvas) .roof-visual-heading{margin:0 0 6px}.roof-visual-content .obstruction-canvas>img{max-height:28dvh}.roof-visual-content:has(.obstruction-canvas) .reveal-attribution{margin:4px 0;font-size:9px}}.roof-workflow{color:#172b25;background:#fff;grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);gap:32px;max-width:1500px;max-height:100vh;margin:auto;padding:32px;display:grid;overflow:auto}.roof-workflow-visual{border:1px solid #d9e4df;border-radius:24px;align-self:start;min-width:0;padding:16px;position:sticky;top:0}.roof-workflow-visual img{border-radius:16px;max-width:100%}.roof-workflow-controls{min-width:0}.roof-workflow button{cursor:pointer}.roof-workflow input{color:inherit;background:#fff}@media (max-width:800px){.roof-workflow{grid-template-columns:1fr;gap:16px;padding:16px}.roof-workflow-visual{position:static}}.roof-workflow .reveal-primary{color:#fff}.roof-workflow{font-size:16px;line-height:1.5}
