:root{--page:#f8f8f4;--paper:#fff;--ink:#252e27;--muted:#80857b;--faint:#a4a69b;--line:#e6e7df;--accent:#a65c3d;--accent-dark:#85432b;--accent-wash:#f6ede5;--rail:#222b25;--font:Inter,"Segoe UI",Arial,sans-serif;font-family:var(--font);color:var(--ink);background:var(--page);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled,input:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b76f49;outline-offset:4px}button:disabled{opacity:.55}svg.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-symbols{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;z-index:200;left:90px;top:8px;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:none}.app-rail{position:fixed;inset:0 auto 0 0;width:76px;z-index:30;background:var(--rail);display:flex;align-items:center;flex-direction:column}.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:48px;margin-top:19px;color:#e6b289;font-size:31px;line-height:1;font-weight:500;letter-spacing:-3px}.brand-mark i{position:absolute;width:4px;height:4px;right:6px;top:7px;border-radius:50%;background:#e6b289}.rail-center{margin-top:71px;display:flex;align-items:center;flex-direction:column;gap:25px}.rail-item{width:42px;height:42px;display:grid;place-items:center;border-radius:10px}.rail-item.selected{background:#3e4940;color:#ead0b8}.rail-line{height:1px;width:24px;background:#455047}.rail-decor{color:#a3aea3}.rail-bottom{margin-top:auto;margin-bottom:23px;width:35px;height:35px;background:#3a453c;border:1px solid #526052;border-radius:50%;display:grid;place-items:center;color:#d8dece;position:relative;font-size:13px}.rail-bottom span{position:absolute;bottom:-1px;right:-1px;color:#c3b794;font-size:10px;border:2px solid var(--rail);line-height:8px;border-radius:50%}.app-shell{margin-left:76px}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.65)}.wordmark{font-size:20px;letter-spacing:4px;font-weight:650;display:flex;align-items:center;gap:19px;flex:none}.wordmark>span{font-size:11px;letter-spacing:.3px;font-weight:400;color:var(--muted);border-left:1px solid var(--line);padding-left:18px}.topbar-project{display:flex;align-items:center;gap:10px;font-size:12px;color:#61685e}.project-dot{width:6px;height:6px;background:#af775a;border-radius:50%}.topbar-divider{width:1px;height:12px;background:#d8dbcf;margin:0 4px}.muted{color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:20px}.phase-badge{display:flex;gap:8px;align-items:center;font-size:11px;color:#6c715f;background:#eff1e8;border:1px solid #e3e6d9;padding:8px 12px;border-radius:20px;white-space:nowrap}.phase-badge>span{width:5px;height:5px;border-radius:50%;background:#7e8b63}.icon-button{border:0;padding:0;background:transparent;display:grid;place-items:center;width:34px;height:34px;border-radius:7px;transition:background .15s,color .15s}.icon-button:hover{background:#e6e7de;color:var(--accent-dark)}.help-button{color:#6a7267}.help-button svg{width:22px;height:22px}main{padding:34px 40px 0;max-width:1760px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:var(--accent);margin:0 0 10px;line-height:1.6}h1{font-size:34px;letter-spacing:-1.4px;font-weight:550;margin:0;line-height:1.25}h1 span{font-weight:400;color:#858a7e}.page-description{font-size:13px;line-height:1.6;color:#7b8175;margin:10px 0 0}.demo-status{display:flex;align-items:center;gap:13px;padding:0 0 0 25px}.status-orbit{width:42px;height:42px;border:1px solid #dddccf;border-radius:50%;display:grid;place-items:center;color:#8b917d}.demo-status strong{font-size:11px;font-weight:550;display:block;margin-bottom:5px}.demo-status>div>span{font-size:10px;color:#909585;display:block}.workflow{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;border:1px solid var(--line);border-radius:11px;background:#fdfdfa;margin-bottom:23px;overflow:hidden}.workflow-step{display:flex;align-items:center;gap:13px;padding:18px 21px;position:relative;min-width:0}.workflow-step:not(:last-child):after{content:"";width:1px;height:29px;background:var(--line);position:absolute;right:0;top:22px}.step-number{font-size:10px;font-weight:500;color:#9ca391;display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid #e6e8de;border-radius:50%}.workflow-step strong{display:block;font-size:11px;font-weight:550;white-space:nowrap}.workflow-step small{font-size:10px;display:block;color:#9ba08e;margin-top:5px}.workflow-step.current{background:#f5eee5}.current .step-number{background:var(--accent);border-color:var(--accent);color:white}.current strong{color:#633f2c}.current small{color:#9f816a}.step-tag{font-size:7px;letter-spacing:1px;font-weight:600;color:#9d7256;margin-left:auto;padding-left:10px}.future{color:#969b8e}.future>.icon{margin-left:auto;width:13px;height:13px;color:#b7bbae}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:stretch}.configuration-panel{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:22px;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:25px}.small-icon{background:#f4f2eb;width:34px;height:36px;display:grid;place-items:center;border-radius:8px;color:#8c7258;flex:none}.small-icon .icon{width:19px;height:19px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.3px;color:#8d9381;margin:0 0 4px}.panel-heading h2{font-size:12px;letter-spacing:-.15px;font-weight:550;margin:0}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:11px}.field-heading label,.field-label{font-size:10px;font-weight:550;color:#5c6558}.soon-label{font-size:7px;letter-spacing:.5px;background:#f1f2ec;color:#999e8d;border-radius:3px;padding:4px 5px}.address-field{display:flex;align-items:center;gap:8px;background:#f8f9f5;border:1px solid #e8eae1;border-radius:7px;padding:11px 10px}.address-field>.icon{width:14px;height:14px;color:#9b9f90}.address-field input{background:transparent;border:0;width:100%;min-width:0;font-size:10px;padding:0;color:#7b8171;opacity:1;-webkit-text-fill-color:#8e9385}.address-field input::placeholder{color:#8e9385;opacity:1}.field-hint{font-size:9px;line-height:1.7;color:#969b8e;margin:10px 0 0}.panel-divider{height:1px;background:var(--line);margin:22px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h3{font-size:12px;font-weight:550;margin:0}.subtle-pill{border:1px solid #e3e6da;border-radius:3px;padding:3px 5px;font-size:7px;letter-spacing:.8px;color:#9a9f8b}.section-description{font-size:10px;color:#939989;line-height:1.6;margin:8px 0 18px}.field-label{display:block;margin-bottom:10px;font-size:9px;color:#77816e}.roof-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.roof-option{background:#fff;border:1px solid #e5e8dd;border-radius:7px;display:flex;align-items:center;flex-direction:column;padding:8px 5px 10px;position:relative;transition:background .15s,border-color .15s}.roof-option svg{width:49px;height:36px;stroke:#9da38f;fill:none;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}.roof-option span{font-size:9px;color:#969c8b;margin-top:5px}.roof-option i{position:absolute;top:7px;right:7px;width:8px;height:8px;border:1px solid #d7dccf;border-radius:50%}.roof-option[aria-pressed=true]{background:#fbf6f0;border-color:#b78664}.roof-option[aria-pressed=true] svg{stroke:#9a6847}.roof-option[aria-pressed=true] span{color:#7a563d}.roof-option[aria-pressed=true] i{border:2px solid #fbf6f0;background:#a46b46;outline:1px solid #b38a6c}.roof-option:hover{border-color:#b78664}.panel-toggle{display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;padding:0;border:0;width:100%;margin-top:22px}.toggle-label{font-size:10px;color:#596453;display:flex;align-items:center;gap:8px}.toggle-label .icon{width:14px;height:14px;color:#8b947e}.switch{height:17px;width:29px;border-radius:12px;background:#bcc1b0;padding:3px;display:flex;flex:none;transition:background .15s}.switch i{display:block;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0001;transition:transform .15s}.panel-toggle[aria-pressed=true] .switch{background:#7d8a69}.panel-toggle[aria-pressed=true] .switch i{transform:translateX(12px)}.fine-print{font-size:8px;line-height:1.7;color:#9a9f90;margin:10px 0 21px}.panel-note{display:flex;align-items:flex-start;gap:9px;background:#f5f6f0;border-radius:7px;padding:12px 10px;margin-top:auto}.panel-note>.icon{width:13px;height:13px;color:#8b967d;margin-top:1px}.panel-note p{font-size:9px;line-height:1.7;color:#748166;margin:0}.panel-note p span{color:#949e89}.scene-panel{border:1px solid #e3e5d9;border-radius:11px;overflow:hidden;background:#eeede6;min-width:0;display:flex;flex-direction:column}.scene-topbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 19px;border-bottom:1px solid #ddded25c;gap:10px;background:#f0efe8}.scene-label{display:flex;align-items:center;gap:9px;min-width:0}.live-dot{width:5px;height:5px;flex:none;background:#7c8c62;border-radius:50%}.scene-label strong{font-size:10px;font-weight:500;color:#59614f}.scene-demo-label{font-size:8px;color:#a2a591;border-left:1px solid #d6dacc;padding-left:11px;margin-left:3px}.scene-actions{display:flex;align-items:center;gap:7px}.scene-actions .icon{width:16px;height:16px;color:#838d77}.viewport{position:relative;min-height:430px;flex:1;isolation:isolate;overflow:hidden;background:#eeede6}.viewport canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;outline:none}.viewport canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.viewport-note{position:absolute;top:20px;left:21px;color:#a3a692;letter-spacing:1.5px;font-size:7px;display:flex;align-items:center;gap:9px;pointer-events:none}.tiny-cross{font-size:16px;font-weight:200;line-height:8px;color:#b9bdab}.view-switch{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;border:1px solid #e2e3d8;background:#fffffff2;box-shadow:0 4px 14px #38403007;padding:4px;border-radius:8px;gap:2px;z-index:2}.view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;padding:9px 12px;font-size:9px;color:#8d9582;border-radius:5px;white-space:nowrap;transition:background .15s,color .15s}.view-switch button>.icon{width:13px;height:13px}.view-switch button[aria-pressed=true]{background:#eef0e6;color:#667951;font-weight:550}.view-switch button:hover{background:#f2f3ec;color:#62744e}.zoom-controls{position:absolute;right:19px;bottom:22px;display:flex;flex-direction:column;align-items:center;background:#fffffff2;border:1px solid #e2e3d8;border-radius:7px;z-index:2;box-shadow:0 4px 14px #38403007;padding:2px}.zoom-controls .icon-button{width:30px;height:29px;color:#7f8a71}.zoom-controls .icon{width:14px;height:14px}.zoom-controls>span{width:18px;height:1px;background:#e8eade}.scene-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#f8f8f1d9;padding:12px 17px;border-top:1px solid #e1e4d5;min-height:38px}.scene-footer>span:first-child{display:flex;align-items:center;gap:6px;color:#919c80;font-size:8px;white-space:nowrap}.scene-footer .icon{width:11px;height:11px}.scene-footer p{font-size:8px;margin:0;color:#909a7f;line-height:1.5;text-align:center}.scene-engine{font-size:7px;letter-spacing:.8px;color:#a2ab91;white-space:nowrap}.scene-engine>span{font-size:6px;margin-left:5px;color:#93a478}.project-metrics{margin-top:19px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{display:flex;align-items:center;gap:13px;padding:18px 21px;border:1px solid var(--line);border-radius:9px;background:#fff}.metric-icon{display:grid;place-items:center;background:#f6f6ef;width:40px;height:40px;border-radius:9px;color:#929c81;flex:none}.metric-icon>.icon{width:19px;height:19px}.metric h3{font-size:9px;font-weight:400;color:#8c9580;margin:0 0 6px}.metric p{display:flex;align-items:center;gap:8px;margin:0}.metric p strong{font-weight:400;font-size:22px;line-height:1;color:#57654c}.metric p>span{font-size:9px;color:#a0a893}.metric-state{margin-left:auto;font-size:7px;color:#a9af9c;background:#f6f7f0;padding:5px 7px;border-radius:4px;white-space:nowrap}.energy-section{margin-top:34px}.energy-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.energy-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px;color:#a18368}.energy-heading h2{font-size:21px;letter-spacing:-.6px;font-weight:500;margin:0}.energy-heading p:not(.eyebrow){font-size:10px;margin:8px 0 0;color:#929b86}.preview-pill{display:flex;align-items:center;gap:6px;border:1px solid #e2e5d9;color:#98a087;border-radius:5px;padding:7px 10px;font-size:8px;white-space:nowrap}.preview-pill>.icon{width:10px;height:10px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.product-card{padding:22px 19px;position:relative;display:flex;overflow:hidden;border:1px solid #e5e7dd;background:#f0f1e9;border-radius:9px;text-align:left;min-height:163px;transition:border-color .2s,transform .2s,background .2s}.product-card:hover{border-color:#b6bba5;background:#ecefe3;transform:translateY(-2px)}.product-content{display:flex;flex-direction:column;align-items:flex-start;z-index:1;position:relative;min-width:0}.manufacturer{font-size:8px;letter-spacing:3.5px;color:#626e56;font-weight:550;margin-bottom:11px}.product-content>strong{font-size:17px;letter-spacing:-.3px;font-weight:500;color:#434e3c}.product-kind{font-size:9px;color:#8b967c;margin-top:6px}.product-status{font-size:7px;color:#9ca58d;margin-top:23px}.product-arrow{position:absolute;right:13px;bottom:14px;z-index:2;color:#8b987c}.product-arrow>.icon{width:14px;height:14px}.product-art{position:absolute;right:25px;top:29px;display:block;opacity:.65;pointer-events:none}.powerwall-art{width:69px;height:111px;transform:rotate(-10deg);right:26px;top:24px}.powerwall-art>span{display:block;width:54px;height:103px;border-radius:12px;background:linear-gradient(110deg,#fff 0%,#fff 55%,#e1e5d9 100%);border:1px solid #d4d9cb;box-shadow:5px 9px 8px #6d785314;position:relative}.powerwall-art i{font-size:3px;letter-spacing:1.3px;color:#9ca28e;position:absolute;top:16px;left:15px;font-style:normal}.powerwall-art b{height:2px;width:14px;border-radius:3px;background:#a1a78e;position:absolute;bottom:12px;left:20px}.panels-art{width:92px;height:100px;transform:rotate(-18deg) skewY(10deg);right:18px;top:29px;display:flex;gap:4px;opacity:.52}.panels-art>span{display:block;width:40px;height:88px;border:2px solid #9ea993;background-color:#51614d;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 13px,#a5b29b8a 13px,#a5b29b8a 14px),repeating-linear-gradient(90deg,transparent 0,transparent 17px,#a5b29b8a 17px,#a5b29b8a 18px);box-shadow:2px 5px 5px #6b775020}.panels-art>span:nth-child(2){margin-top:6px}.roof-art{width:95px;height:100px;right:11px;top:27px;opacity:.5;transform:rotate(-19deg) skewY(10deg)}.roof-art>span{display:block;height:90px;width:85px;border:1px solid #9ca78d;border-radius:1px;background-color:#5b6751;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 10px,#a2ad9677 10px,#a2ad9677 11px),repeating-linear-gradient(90deg,transparent 0,transparent 24px,#a2ad9677 24px,#a2ad9677 25px);box-shadow:4px 7px 7px #75835614;clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.catalog-disclaimer{font-size:8px;color:#a2aa95;margin:10px 0 0;line-height:1.7}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0;margin-top:29px}.footer-brand{font-size:11px;letter-spacing:2.5px;font-weight:550;display:flex;align-items:center;gap:15px;color:#8a947d}.footer-brand>span{font-size:6px;letter-spacing:1px;font-weight:400;color:#b0b7a3}.page-footer>p{font-size:8px;line-height:1.6;color:#a1a991;display:flex;align-items:center;gap:6px;margin:0}.page-footer>p>.icon{width:12px;height:12px}.footer-version{font-size:7px;letter-spacing:1px;color:#a5ad98;white-space:nowrap}dialog{border:1px solid #ddd8c9;border-radius:15px;background:#fdfdf8;color:var(--ink);max-width:480px;width:calc(100% - 32px);padding:26px;box-shadow:0 18px 100px #222b2529}dialog::backdrop{background:#222b257a;backdrop-filter:blur(4px)}.dialog-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-topline .eyebrow{margin:0;font-size:8px}.dialog-topline .icon-button{margin-right:-8px}.dialog-topline .icon{width:18px;height:18px}dialog h2{font-size:26px;font-weight:500;letter-spacing:-.6px;margin:17px 0}dialog p{font-size:13px;color:#7a8470;line-height:1.8}.dialog-footnote{border-top:1px solid var(--line);margin:22px 0 0;padding-top:17px;font-size:10px;line-height:1.7;color:#9aa28f}.help-list{padding:0;list-style:none;margin:20px 0 0}.help-list li{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:11px;margin-top:14px;line-height:1.6}.help-list strong{font-weight:550}.help-list span{color:#8c967f}.scene-fallback{position:absolute;inset:0;padding:50px 40px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:1;background:#eeede6}.scene-fallback[hidden]{display:none}.fallback-house{width:200px;max-height:180px;margin:0 0 12px}.scene-fallback>strong{font-size:12px;color:#69775d;font-weight:500}.scene-fallback>p{font-size:10px;line-height:1.7;color:#919d83;max-width:280px;margin:8px 0 0}.scene-panel:fullscreen{border:0;border-radius:0;background:#eeede6}.scene-panel:fullscreen .viewport{min-height:calc(100vh - 100px)}.viewport:fullscreen{width:100vw;height:100vh;min-height:100vh}
@media(min-width:1600px){main{padding-top:40px}.workspace{grid-template-columns:300px minmax(0,1fr)}.viewport{min-height:500px}.configuration-panel{padding:25px}.product-card{min-height:177px}.product-art{right:34px}.product-kind{font-size:10px}.product-status{font-size:8px}}
@media(max-width:1250px){.topbar{padding:0 26px}.topbar-project{display:none}main{padding:28px 26px 0}.demo-status{padding-left:0}.workflow-step{padding:17px 15px;gap:9px}.workflow-step strong{font-size:10px}.workflow-step small{font-size:9px}.step-tag{display:none}.workspace{grid-template-columns:250px minmax(0,1fr);gap:16px}.configuration-panel{padding:18px}.panel-heading{gap:8px}.panel-heading h2{font-size:11px}.scene-demo-label{display:none}.metric{padding:16px;gap:10px}.metric-icon{width:34px;height:34px}.metric-state{font-size:6px;padding:4px 5px}.product-card{padding:20px 15px}.product-content>strong{font-size:16px}.product-kind{font-size:8px}.product-status{font-size:6px;letter-spacing:0}.product-art{opacity:.4;right:10px;transform:scale(.85) rotate(-10deg);transform-origin:right center}.panels-art{transform:scale(.85) rotate(-18deg) skewY(10deg)}.roof-art{transform:scale(.85) rotate(-19deg) skewY(10deg)}.footer-brand>span{display:none}.scene-footer>span:first-child{font-size:7px}.scene-engine{display:none}.scene-footer{gap:8px}}
@media(max-width:1000px){.app-rail{width:62px}.app-shell{margin-left:62px}.brand-mark{font-size:28px}.topbar{height:73px;padding:0 23px}.wordmark{font-size:17px;letter-spacing:3px;gap:12px}.wordmark>span{font-size:10px;padding-left:12px}.topbar-actions{gap:12px}.phase-badge{font-size:9px;padding:7px 9px}main{padding:25px 23px 0}.page-heading{margin-bottom:24px}h1{font-size:29px;letter-spacing:-1px}.page-description{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.3px}.demo-status{display:none}.workflow-step{padding:15px 12px;gap:8px}.workflow-step strong{font-size:9px}.workflow-step small{font-size:8px}.step-number{width:24px;height:24px;font-size:8px}.future>.icon{display:none}.workspace{grid-template-columns:225px minmax(0,1fr);gap:13px}.configuration-panel{padding:16px}.panel-heading h2{font-size:10px}.small-icon{width:30px;height:32px}.panel-heading{margin-bottom:23px}.field-heading label{font-size:9px}.address-field{padding:10px 8px;gap:5px}.address-field input{font-size:9px}.section-description{font-size:9px}.toggle-label{font-size:9px;gap:6px}.scene-topbar{padding:0 13px;min-height:50px}.scene-label{gap:7px}.scene-label strong{font-size:9px}.scene-actions{gap:2px}.scene-actions .icon-button{width:28px;height:28px}.viewport{min-height:430px}.viewport-note{font-size:6px;left:15px;letter-spacing:1px}.view-switch{left:15px;transform:none;bottom:16px;padding:3px}.view-switch button{font-size:8px;padding:8px 7px;gap:4px}.zoom-controls{right:13px;bottom:16px}.scene-footer{padding:11px 13px}.scene-footer>span:first-child{display:none}.scene-footer p{font-size:7px;text-align:left}.project-metrics{gap:11px;margin-top:15px}.metric{padding:14px 12px;gap:8px;position:relative;min-height:86px}.metric-icon{width:30px;height:30px;border-radius:7px}.metric-icon>.icon{width:16px;height:16px}.metric h3{font-size:8px;margin-bottom:5px}.metric p>span{font-size:8px}.metric p strong{font-size:20px}.metric-state{position:absolute;right:8px;top:7px;font-size:5px;background:none;padding:0}.energy-heading h2{font-size:19px}.energy-heading p:not(.eyebrow){font-size:9px}.preview-pill{font-size:7px;padding:6px 7px}.product-grid{gap:11px}.product-card{min-height:171px;padding:18px 13px}.product-art{opacity:.25;right:9px;top:38px}.manufacturer{font-size:7px;letter-spacing:2.8px;margin-bottom:12px}.product-content>strong{font-size:15px}.product-kind{font-size:8px;max-width:110px;line-height:1.6}.product-status{font-size:6px;max-width:90px;line-height:1.6;margin-top:19px}.product-arrow{right:10px;bottom:11px}.catalog-disclaimer{font-size:7px}.page-footer{gap:14px}.page-footer p{font-size:7px;max-width:350px}.footer-version{display:none}}
@media(max-width:760px){.app-rail{display:none}.app-shell{margin-left:0}.topbar{height:68px;padding:0 20px}.wordmark{font-size:18px}.topbar-actions{gap:9px}.phase-badge{font-size:8px}.wordmark>span{display:none}.help-button{width:28px;height:28px}main{padding:25px 20px 0}.page-heading{margin-bottom:21px}h1{font-size:30px}.page-description{font-size:11px;margin-top:8px}.workflow{grid-template-columns:repeat(4,1fr);margin-bottom:17px;border-radius:9px}.workflow-step{padding:13px 8px;flex-direction:column;align-items:flex-start;gap:7px}.workflow-step:not(:last-child):after{height:42px;top:17px}.step-number{width:21px;height:21px;font-size:7px}.workflow-step strong{font-size:8px;white-space:normal;line-height:1.4}.workflow-step small{font-size:7px;margin-top:4px}.workspace{display:flex;flex-direction:column;gap:15px}.configuration-panel{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.panel-heading{margin-bottom:14px;grid-column:1 / -1}.panel-heading h2{font-size:12px}.panel-heading .eyebrow{font-size:7px}.location-section{grid-row:2;grid-column:1}.demo-section{grid-column:2;grid-row:2 / 4}.panel-divider{display:none}.section-title h3{font-size:10px}.section-description{font-size:8px;line-height:1.6;margin-top:6px;margin-bottom:10px}.field-label{font-size:8px;margin-bottom:8px}.roof-options{gap:7px}.roof-option{padding:3px 4px 7px}.roof-option svg{width:41px;height:30px}.roof-option span{font-size:8px;margin-top:3px}.roof-option i{height:7px;width:7px;top:5px;right:5px}.field-hint{font-size:8px}.panel-toggle{margin-top:12px;gap:5px}.toggle-label{font-size:8px;gap:5px}.toggle-label>.icon{width:12px;height:12px}.switch{width:25px;height:15px;padding:2px}.switch i{width:11px;height:11px}.panel-toggle[aria-pressed=true] .switch i{transform:translateX(10px)}.fine-print{font-size:7px;margin:8px 0 0}.panel-note{grid-row:3;grid-column:1;margin-top:12px;padding:9px 8px;gap:6px;align-self:end}.panel-note>.icon{width:11px;height:11px}.panel-note p{font-size:7px}.scene-topbar{padding:0 16px;min-height:49px}.scene-label strong{font-size:10px}.scene-demo-label{display:block;font-size:7px}.viewport{min-height:390px}.viewport-note{top:18px;left:18px;font-size:6px}.view-switch{left:50%;transform:translateX(-50%);bottom:18px}.view-switch button{font-size:9px;padding:9px 10px}.view-switch .icon{display:none}.zoom-controls{right:15px;bottom:18px}.zoom-controls .icon-button{width:27px;height:27px}.scene-footer{min-height:35px;justify-content:space-between;padding:9px 15px}.scene-footer>span:first-child{display:flex;font-size:7px}.scene-footer p{font-size:7px;text-align:right;max-width:55%}.project-metrics{gap:9px;margin-top:15px}.metric{padding:14px 10px;gap:7px;min-height:96px;align-items:flex-start;flex-direction:column}.metric-icon{width:25px;height:25px;border-radius:6px;background:none;padding:0;place-items:start}.metric-icon>.icon{width:17px;height:17px}.metric h3{font-size:8px;line-height:1.4}.metric p strong{font-size:19px}.metric p>span{font-size:7px}.metric p{gap:5px}.metric-state{top:12px;right:10px;font-size:5px}.energy-section{margin-top:28px}.energy-heading{align-items:flex-start;gap:12px;margin-bottom:15px}.energy-heading h2{font-size:20px;max-width:210px;line-height:1.3}.energy-heading p:not(.eyebrow){font-size:9px;max-width:240px;line-height:1.6;margin-top:7px}.energy-heading .eyebrow{font-size:6px;letter-spacing:1.15px}.preview-pill{font-size:6px;padding:6px;gap:4px;margin-top:19px;max-width:105px;white-space:normal;line-height:1.5}.preview-pill>.icon{width:9px;height:9px}.product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:11px;padding:2px 0 9px;margin:0 -20px;padding-left:20px;padding-right:20px;scroll-padding-left:20px}.product-card{flex:0 0 243px;scroll-snap-align:start;min-height:165px;padding:20px 16px}.manufacturer{font-size:8px;letter-spacing:3px;margin-bottom:10px}.product-content>strong{font-size:17px}.product-kind{font-size:9px;max-width:150px}.product-status{font-size:7px;max-width:140px;margin-top:20px}.product-art{opacity:.45;top:22px;right:14px;transform:scale(.9) rotate(-10deg)}.panels-art{transform:scale(.9) rotate(-18deg) skewY(10deg)}.roof-art{transform:scale(.9) rotate(-19deg) skewY(10deg)}.product-arrow{right:12px;bottom:13px}.catalog-disclaimer{font-size:7px;margin-top:8px}.page-footer{margin-top:24px;padding:20px 0;align-items:flex-start;gap:16px}.footer-brand{font-size:10px;letter-spacing:2px}.page-footer>p{font-size:6px;max-width:230px;line-height:1.7;align-items:flex-start}.page-footer>p>.icon{width:10px;height:10px}.skip-link{left:12px}.scene-fallback{padding:45px 25px 85px}.fallback-house{width:180px}.scene-fallback>strong{font-size:11px}.scene-fallback>p{font-size:9px}}
@media(max-width:370px){.topbar{padding:0 15px}.phase-badge{font-size:7px;padding:6px 7px}.phase-badge>span{display:none}.topbar-actions{gap:5px}main{padding:23px 15px 0}h1{font-size:27px}.eyebrow{font-size:7px}.configuration-panel{gap:0 15px;padding:15px}.panel-toggle .toggle-label{font-size:7px}.toggle-label>.icon{display:none}.field-heading label{font-size:8px}.soon-label{font-size:6px}.address-field input{font-size:8px}.scene-demo-label{display:none}.viewport{min-height:340px}.view-switch button{padding:8px;font-size:8px}.view-switch{left:44%;bottom:17px}.metric{padding:14px 8px}.metric-state{font-size:4px;right:7px}.metric h3{font-size:7px}.metric p>span{font-size:6px}.metric p{gap:4px}.energy-heading h2{font-size:18px}.energy-heading .eyebrow{font-size:5px}.energy-heading p:not(.eyebrow){font-size:8px}.preview-pill{font-size:5px;max-width:90px}.product-grid{margin:0 -15px;padding-left:15px;padding-right:15px}.page-footer>p{max-width:185px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.app-rail,.topbar-actions,.scene-actions,.view-switch,.zoom-controls,.configuration-panel,.workflow{display:none}.app-shell{margin:0}main{padding:0}.workspace{display:block}.viewport{min-height:350px}.product-card{break-inside:avoid}.product-grid{display:grid}.page-footer{font-size:8px}}

/* Readable interface sizes and touch targets across all supported viewports. */
.icon-button,.scene-actions .icon-button,.zoom-controls .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}.help-button{width:44px;height:44px}.phase-badge{font-size:11px}.topbar-project{font-size:12px}.eyebrow,.panel-heading .eyebrow,.energy-heading .eyebrow{font-size:10px;letter-spacing:1.2px}.page-description{font-size:14px}.demo-status strong{font-size:12px}.demo-status>div>span{font-size:11px}.workflow-step strong{font-size:12px;white-space:normal;line-height:1.45}.workflow-step small{font-size:11px;line-height:1.4}.step-number{font-size:11px;min-width:28px;min-height:28px}.step-tag{font-size:10px}.workflow-step{padding-top:17px;padding-bottom:17px}.configuration-panel{padding:20px}.panel-heading{gap:10px}.panel-heading h2{font-size:14px;line-height:1.4}.field-heading label,.field-label{font-size:12px;line-height:1.4}.soon-label,.subtle-pill{font-size:10px}.address-field{min-height:44px}.address-field input{font-size:12px}.field-hint,.section-description{font-size:12px;line-height:1.7;color:#707b65}.section-title h3{font-size:14px}.roof-option{min-height:80px}.roof-option span{font-size:12px}.roof-option svg{width:49px;height:36px}.panel-toggle{min-height:44px}.toggle-label{font-size:12px;gap:7px;line-height:1.4;text-align:left}.toggle-label .icon{display:block;width:16px;height:16px}.switch{width:29px;height:17px;padding:3px}.switch i{width:11px;height:11px}.panel-toggle[aria-pressed=true] .switch i{transform:translateX(12px)}.fine-print{font-size:11px;line-height:1.7;color:#737d68}.panel-note p{font-size:11px;line-height:1.7;color:#66755b}.panel-note p span{color:#737f68}.panel-note>.icon{width:15px;height:15px}.scene-topbar{min-height:62px}.scene-label strong{font-size:12px}.scene-demo-label{font-size:11px}.viewport{min-height:480px}.viewport-note{font-size:10px;letter-spacing:1px;color:#7b846e}.view-switch button{font-size:12px;min-height:44px;padding:10px 13px}.view-switch .icon{width:16px;height:16px}.zoom-controls{padding:3px}.zoom-controls .icon-button{width:44px;height:44px}.zoom-controls .icon{width:18px;height:18px}.scene-footer{padding:12px 15px;gap:12px}.scene-footer>span:first-child{font-size:10px;color:#6f7d60;line-height:1.5;white-space:normal}.scene-footer p{font-size:10px;color:#6f7b63;line-height:1.5}.scene-engine{font-size:10px}.project-metrics{gap:12px}.metric{padding:19px 16px;gap:12px;align-items:center;flex-direction:row;min-height:110px}.metric-icon{width:34px;height:34px;display:grid;place-items:center}.metric-icon>.icon{width:21px;height:21px}.metric h3{font-size:12px;color:#6e7a62;line-height:1.4;margin-bottom:8px}.metric p{gap:8px;flex-wrap:wrap}.metric p strong{font-size:24px}.metric p>span{font-size:11px;color:#778368}.metric-state{position:static;font-size:10px;line-height:1.5;white-space:normal;color:#78836a;padding:4px 5px}.energy-heading p:not(.eyebrow){font-size:13px;line-height:1.6;color:#748064}.preview-pill{font-size:11px;padding:9px 11px;line-height:1.5}.preview-pill>.icon{width:13px;height:13px}.product-card{min-height:210px;padding:22px 18px}.manufacturer{font-size:11px;letter-spacing:3px}.product-content>strong{font-size:20px}.product-kind{font-size:12px;line-height:1.6;max-width:175px;color:#717e62}.product-status{font-size:10px;line-height:1.7;max-width:170px;margin-top:21px;color:#748164}.product-art{opacity:.28}.catalog-disclaimer{font-size:11px;line-height:1.7;color:#778267}.page-footer{align-items:center;gap:20px}.footer-brand{font-size:12px}.footer-brand>span{font-size:10px}.page-footer>p{font-size:10px;line-height:1.7;max-width:650px;color:#778367}.page-footer>p>.icon{width:15px;height:15px}.footer-version{font-size:10px}.dialog-topline .eyebrow{font-size:10px}dialog p{font-size:14px}.dialog-footnote{font-size:12px;line-height:1.7}.help-list li{font-size:13px;grid-template-columns:90px 1fr}.scene-fallback>strong{font-size:14px;line-height:1.5}.scene-fallback>p{font-size:12px;line-height:1.7;max-width:320px}
@media(max-width:1250px){.step-tag{display:none}.workspace{grid-template-columns:270px minmax(0,1fr)}.workflow-step{gap:8px;padding-left:14px;padding-right:14px}.scene-demo-label{display:none}.metric{gap:10px;padding:17px 13px}.metric-state{max-width:70px;font-size:10px}.metric-icon{width:29px;height:29px}.product-card{padding:21px 15px}.product-art{opacity:.18}.product-content>strong{font-size:19px}.footer-brand>span{display:none}}
@media(max-width:1000px){.workflow-step{align-items:flex-start;gap:8px}.workflow-step strong{font-size:11px}.workflow-step small{font-size:10px}.workflow-step>span:nth-child(2){min-width:0}.workspace{grid-template-columns:250px minmax(0,1fr)}.configuration-panel{padding:17px}.panel-heading h2{font-size:13px}.panel-heading .eyebrow{font-size:10px}.field-heading{align-items:flex-start}.field-heading label{font-size:12px}.soon-label{font-size:10px;white-space:nowrap}.address-field input{font-size:11px}.scene-label strong{font-size:11px}.scene-actions{gap:0}.scene-topbar{padding:0 10px}.view-switch{bottom:18px;left:13px;transform:none;right:13px}.view-switch button{font-size:11px;flex:1;padding:10px 7px}.view-switch button>.icon{display:none}.zoom-controls{right:13px;top:62px;bottom:auto}.scene-footer>span:first-child{display:none}.scene-footer p{text-align:left;font-size:10px;max-width:none}.metric{position:relative;min-height:138px;align-items:flex-start;flex-direction:column;gap:8px;padding:15px 13px}.metric h3{font-size:11px}.metric p>span{font-size:11px}.metric-state{position:absolute;right:10px;top:15px;max-width:65px;font-size:10px;text-align:right;background:transparent;padding:0}.energy-heading .eyebrow{font-size:10px}.energy-heading p:not(.eyebrow){font-size:12px}.preview-pill{font-size:10px}.product-card{min-height:245px;padding:20px 15px}.product-kind{font-size:12px;max-width:145px}.product-status{font-size:10px;max-width:150px}.manufacturer{font-size:10px}.product-content>strong{font-size:18px}.page-footer>p{font-size:10px;max-width:400px}.catalog-disclaimer{font-size:11px}}
@media(max-width:760px){.topbar{padding:0 16px;gap:10px}.topbar-actions{gap:4px}.phase-badge{font-size:10px;padding:7px 9px}.wordmark{font-size:17px}.page-heading .eyebrow{font-size:10px}.page-description{font-size:13px}.workflow-step{padding:14px 9px;gap:8px}.workflow-step strong{font-size:11px;line-height:1.4}.workflow-step small{font-size:10px}.workflow-step:not(:last-child):after{height:64px;top:20px}.workspace{display:flex}.configuration-panel{display:block;padding:20px}.panel-heading h2{font-size:15px}.panel-heading{margin-bottom:20px}.location-section{margin-bottom:20px}.field-heading{align-items:center}.field-heading label,.field-label{font-size:12px}.soon-label{font-size:10px}.address-field input{font-size:12px}.field-hint{font-size:12px}.panel-divider{display:block;margin:20px 0}.section-title h3{font-size:14px}.section-description{font-size:12px;margin:8px 0 16px}.field-label{margin-bottom:10px}.roof-options{gap:12px}.roof-option{min-height:84px;padding:8px}.roof-option span{font-size:12px}.roof-option svg{width:49px;height:36px}.roof-option i{height:9px;width:9px;top:9px;right:9px}.panel-toggle{margin-top:16px;min-height:44px}.toggle-label{font-size:12px}.toggle-label>.icon{display:block}.fine-print{font-size:11px;margin:8px 0 0}.panel-note{margin-top:18px;padding:12px;gap:9px}.panel-note p{font-size:11px}.panel-note>.icon{width:15px;height:15px}.scene-topbar{padding:0 12px;min-height:61px}.scene-label strong{font-size:12px}.viewport{min-height:420px}.viewport-note{left:16px;top:20px;font-size:10px;max-width:155px;line-height:1.5}.view-switch{left:12px;right:12px;bottom:17px;transform:none;gap:0}.view-switch button{flex:1;min-width:0;min-height:44px;padding:10px 6px;font-size:11px}.view-switch button>.icon{display:none}.zoom-controls{right:12px;top:68px;bottom:auto}.zoom-controls .icon-button{width:44px;height:44px}.scene-footer{display:block;padding:11px 14px}.scene-footer>span:first-child{display:none}.scene-footer p{font-size:10px;text-align:left;max-width:none}.project-metrics{gap:9px}.metric{padding:15px 11px;min-height:161px}.metric-state{top:auto;bottom:11px;left:11px;right:auto;text-align:left;font-size:10px;max-width:none}.metric h3{font-size:11px;min-height:31px;margin-bottom:5px;line-height:1.45}.metric-icon{height:25px;width:25px;place-items:start}.metric-icon>.icon{width:20px;height:20px}.metric p{gap:5px}.metric p strong{font-size:22px}.metric p>span{font-size:10px}.energy-heading{display:block}.energy-heading h2{max-width:none;font-size:23px}.energy-heading .eyebrow{font-size:10px;letter-spacing:1px}.energy-heading p:not(.eyebrow){font-size:12px;max-width:none}.preview-pill{display:inline-flex;font-size:10px;max-width:none;margin-top:13px;padding:8px 10px;white-space:normal}.product-card{flex-basis:270px;min-height:210px;padding:22px 18px}.manufacturer{font-size:11px}.product-content>strong{font-size:20px}.product-kind{font-size:12px;max-width:180px}.product-status{font-size:11px;max-width:180px;margin-top:20px}.product-art{opacity:.25}.catalog-disclaimer{font-size:11px}.page-footer{display:block;padding:20px 0}.footer-brand{font-size:12px;display:block;margin-bottom:12px}.page-footer>p{font-size:10px;line-height:1.7;max-width:none}.page-footer>p>.icon{width:15px;height:15px}.help-list li{display:block;font-size:13px}.help-list strong{display:block;margin-bottom:4px}.scene-fallback{padding:45px 22px 90px}.scene-fallback>strong{font-size:14px}.scene-fallback>p{font-size:12px}}
@media(max-width:370px){main{padding-left:14px;padding-right:14px}.topbar{padding-left:14px;padding-right:10px}.wordmark{font-size:15px;letter-spacing:2px}.topbar-actions{gap:0}.phase-badge{font-size:10px;padding:6px}.phase-badge>span{display:none}.page-heading .eyebrow{font-size:10px;letter-spacing:.5px}h1{font-size:26px}.workflow-step{padding:13px 7px}.workflow-step strong{font-size:10px}.workflow-step small{font-size:10px}.step-number{min-width:25px;min-height:25px}.configuration-panel{padding:17px}.scene-topbar{padding:0 9px}.scene-label strong{font-size:11px}.scene-actions .icon-button{width:40px;height:44px;min-width:40px}.view-switch{left:8px;right:8px}.view-switch button{font-size:11px;padding:10px 4px}.viewport-note{left:13px;font-size:10px;letter-spacing:.6px}.metric{padding-left:9px;padding-right:9px}.metric h3{font-size:11px}.metric-state{font-size:10px;left:9px}.metric p>span{font-size:10px}.metric p{gap:4px}.energy-heading .eyebrow{font-size:10px;letter-spacing:.5px}.energy-heading h2{font-size:21px}.product-grid{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.scene-fallback>strong{font-size:13px}}

/* Phase 2: honest location entry and optional local building evidence. */
.location-planning{margin:0 0 24px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.location-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 26px 22px;border-bottom:1px solid var(--line)}
.location-heading h2{font-size:24px;letter-spacing:-.6px;font-weight:500;line-height:1.3;margin:0}
.location-heading .eyebrow{margin-bottom:7px}
.location-heading p:not(.eyebrow){font-size:13px;line-height:1.6;color:#747e69;margin:8px 0 0}
.connection-state{display:flex;align-items:center;gap:8px;color:#876342;font-size:11px;line-height:1.6;max-width:255px;background:#f8f2e7;border:1px solid #e9dfcc;border-radius:7px;padding:10px 12px}
.connection-state>span:first-child{display:block;flex:none;width:6px;height:6px;border-radius:50%;background:#b88e58}
.location-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:30px;padding:25px 26px}
.location-entry{min-width:0}
.location-mode-switch{display:flex;gap:4px;background:#f2f3eb;border:1px solid #e9ebdf;border-radius:8px;padding:4px;margin-bottom:21px}
.location-mode-switch button{flex:1;min-height:44px;border:0;background:transparent;border-radius:5px;color:#748267;font-size:12px;line-height:1.5;padding:10px}
.location-mode-switch button[aria-pressed=true]{color:#70482f;background:#fff;box-shadow:0 1px 4px #39433112;font-weight:550}
.location-mode-switch button:hover{background:#ffffffa8}
.location-form label,.building-details-form label,.geojson-form label:not(.rights-confirmation){display:block;font-size:12px;font-weight:550;line-height:1.5;color:#526248;margin:0 0 8px}
.form-description{font-size:12px;line-height:1.7;color:#748167;margin:0 0 15px}
.form-description strong{font-weight:600;color:#647354}
.location-form input,.building-details-form input,.building-details-form select,.geojson-form input:not([type=checkbox]){width:100%;min-width:0;min-height:46px;border:1px solid #dfe4d5;border-radius:7px;background:#fbfcf8;color:#4a5c40;font:inherit;font-size:13px;line-height:1.5;padding:11px 12px;appearance:none}
.location-form input::placeholder,.building-details-form input::placeholder,.geojson-form input::placeholder{color:#8c977f;opacity:1}
.location-form input:hover,.building-details-form input:hover,.building-details-form select:hover,.geojson-form input:not([type=checkbox]):hover{border-color:#bdc7ae}
.location-form input:focus-visible,.building-details-form input:focus-visible,.building-details-form select:focus-visible,.geojson-form input:focus-visible{outline:2px solid #b78664;outline-offset:2px;border-color:#b78664}
.building-details-form select{appearance:auto;cursor:pointer;padding-right:8px}
.location-search-row{display:flex;align-items:stretch;gap:9px}
.location-input-shell{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #dfe4d5;border-radius:7px;background:#fbfcf8;padding-left:11px}
.location-input-shell>.icon{width:17px;height:17px;color:#8a957e}
.location-input-shell input{border:0;background:transparent;padding-left:9px}
.location-input-shell:focus-within{outline:2px solid #b78664;outline-offset:2px;border-color:#b78664}
.location-input-shell input:focus-visible{outline:none}
.action-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;line-height:1.5;padding:11px 15px;transition:background .15s,border-color .15s;text-align:center}
.action-button>.icon{width:16px;height:16px}
.action-button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.action-button:disabled{cursor:not-allowed;opacity:.6}
.coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:17px 0 11px}
.form-feedback{font-size:12px;line-height:1.7;color:#747e69;margin:14px 0 0;overflow-wrap:anywhere}
.form-feedback:empty{display:none}
.search-results{list-style:none;margin:12px 0 0;padding:0}
.search-results:empty{display:none}
.search-results li+li{margin-top:8px}
.search-results button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;min-height:52px;width:100%;border:1px solid #e0e4d6;border-radius:7px;background:#fbfcf8;padding:12px 13px;color:#59684d;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.search-results button:hover,.search-results button[aria-pressed=true],.search-results button[aria-current=true]{border-color:#b58b6b;background:#faf4ed}
.search-results button strong{font-size:13px;font-weight:550;color:#485b3c}
.search-results button span,.search-results button small{font-size:11px;line-height:1.6;color:#778567}
.selected-location{border:1px solid #dfe5d6;border-radius:9px;padding:15px 16px;background:#f7f9f1;margin-top:18px}
.selected-location-title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:-8px -4px 3px 0}
.selected-location-title .eyebrow{margin:0;color:#758561;font-size:10px;line-height:1.6}
.selected-location>strong{font-size:15px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;color:#4d613f}
.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;background:transparent;color:#885c3f;font-size:12px;padding:9px 8px;text-decoration:underline;text-underline-offset:3px;text-align:center;border-radius:5px}
.text-button:hover{background:#ecefe2;color:#70482e}
.location-facts{margin:13px 0}
.location-facts>div{display:grid;grid-template-columns:100px 1fr;gap:8px;margin-top:7px;font-size:12px;line-height:1.6}
.location-facts dt{color:#899479}
.location-facts dd{margin:0;color:#61754f;overflow-wrap:anywhere}
.external-map-link{display:inline-flex;align-items:center;min-height:44px;color:#855739;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.external-map-link:hover{color:#693f26}
.privacy-hint{font-size:11px;line-height:1.7;color:#79886a;margin:7px 0 0}
.location-map-panel{min-width:0;border:1px solid #e5e7db;border-radius:9px;overflow:hidden;background:#f6f7f0;align-self:start}
.map-panel-heading{display:flex;align-items:center;gap:9px;min-height:49px;padding:12px 16px;background:#f1f3e9;border-bottom:1px solid #e3e7d8}
.map-panel-heading>.icon{width:15px;height:15px;color:#8c9979}
.map-panel-heading strong{font-size:12px;font-weight:500;color:#6a7b58}
.map-panel-heading>span{font-size:10px;letter-spacing:.8px;margin-left:auto;color:#8c987a}
.location-map{position:relative;min-height:285px;background:#eff1e6;background-image:linear-gradient(#b9c3a717 1px,transparent 1px),linear-gradient(90deg,#b9c3a717 1px,transparent 1px);background-size:24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:8px 12px 38px}
.map-placeholder-graphic{display:block;width:100%;max-width:400px;height:180px;stroke:#b9c1a9;stroke-width:1;fill:none}
.map-placeholder-graphic circle{stroke-dasharray:2 7;opacity:.65}
.map-placeholder-graphic .unknown-building-outline{fill:#e8eddb;stroke:#9eac89;stroke-width:1.5;stroke-dasharray:5 5}
.map-placeholder-copy{text-align:center;padding:0 14px;margin-top:-4px}
.map-placeholder-copy>strong{display:block;font-size:13px;font-weight:500;line-height:1.6;color:#6e805b}
.map-placeholder-copy>span{display:block;font-size:11px;line-height:1.7;color:#82916f;margin-top:4px}
.map-no-scale{font-size:10px;line-height:1.5;position:absolute;left:14px;bottom:12px;color:#8b9877}
.map-status{border-top:1px solid #dfe5d2;margin:0;padding:12px 15px;font-size:11px;line-height:1.7;color:#6e805a;background:#f7f9ef;overflow-wrap:anywhere}
.map-data-note{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.7;color:#7a886a;margin:0;padding:0 15px 14px;background:#f7f9ef}
.map-data-note>.icon{width:14px;height:14px;margin-top:2px}
.building-data-disclosure{border-top:1px solid var(--line);background:#fcfdf9}
.building-data-disclosure>summary{list-style:none;display:flex;align-items:center;gap:15px;min-height:62px;padding:15px 26px;cursor:pointer;color:#5e7051;transition:background .15s}
.building-data-disclosure>summary::-webkit-details-marker{display:none}
.building-data-disclosure>summary:hover{background:#f4f7ed}
.building-data-disclosure>summary:focus-visible{outline:2px solid #b78664;outline-offset:-3px}
.building-data-disclosure>summary>span:first-child{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6}
.building-data-disclosure>summary .icon{width:18px;height:18px}
.disclosure-tag{font-size:10px;letter-spacing:.6px;line-height:1.6;color:#8d997c;margin-left:auto}
.building-data-disclosure>summary>.disclosure-chevron{width:15px;height:15px;transition:transform .15s;flex:none}
.building-data-disclosure[open]>summary>.disclosure-chevron{transform:rotate(90deg)}
.building-data-body{padding:6px 26px 25px}
.data-block-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:8px 0 10px}
.data-block-heading h3{font-size:15px;font-weight:500;line-height:1.5;margin:0;color:#536648}
.unverified-label{font-size:10px;line-height:1.6;color:#8b967b;border:1px solid #e1e6d8;border-radius:4px;padding:4px 7px;white-space:nowrap}
.building-details-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-top:18px}
.building-field{min-width:0}
.building-submit{grid-column:1 / -1;margin-top:1px}
.input-guidance{font-size:11px;color:#80906e;line-height:1.7;margin:10px 0 0;display:block}
.data-summary{padding:12px 14px;background:#f1f5e9;border:1px solid #e2e8d7;border-radius:7px;font-size:12px;line-height:1.8;color:#6c7d59;margin:14px 0 0;overflow-wrap:anywhere}
.geojson-block{border-top:1px solid #e2e7d8;margin-top:25px;padding-top:18px}
.geojson-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px;margin-top:19px}
.geojson-file-field,.rights-confirmation,.geojson-actions{grid-column:1 / -1;min-width:0}
.geojson-form input[type=file]{padding:4px;background:#f8faf3;appearance:auto;font-size:12px;line-height:1.6;min-height:54px}
.geojson-form input[type=file]::file-selector-button{cursor:pointer;min-height:44px;border:0;border-radius:5px;margin-right:12px;background:#e9efdf;color:#5f7450;padding:10px 14px;font:inherit;font-size:12px}
.geojson-form input[type=file]::file-selector-button:hover{background:#dfe8d1}
.rights-confirmation{display:flex;align-items:center;gap:11px;min-height:44px;cursor:pointer;font-size:12px;font-weight:400;line-height:1.7;color:#6a7e56;margin:0}
.rights-confirmation input{appearance:auto;accent-color:#a65c3d;width:21px;height:21px;margin:0;flex:none}
.geojson-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.footprint-preview{display:block;max-width:500px;width:100%;height:auto;min-height:180px;background:#f0f4e7;border:1px solid #dee6d1;border-radius:9px;margin:19px 0 0}
.working-memory-note{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.8;color:#7a886a;margin:0;padding:15px 26px;border-top:1px solid var(--line);background:#fafbf5}
.working-memory-note>.icon{width:15px;height:15px;margin-top:2px}
@media(max-width:1250px){.location-heading{align-items:flex-start}.location-heading h2{font-size:22px}.location-layout{gap:23px}.location-heading,.location-layout{padding-left:23px;padding-right:23px}.connection-state{max-width:220px}.building-details-form{grid-template-columns:repeat(3,minmax(0,1fr))}.building-submit{display:flex;align-items:flex-end;grid-column:auto}.building-submit .action-button{width:100%}.building-data-disclosure>summary,.building-data-body{padding-left:23px;padding-right:23px}.working-memory-note{padding-left:23px;padding-right:23px}}
@media(max-width:1000px){.location-heading{display:block;padding:21px}.connection-state{display:inline-flex;max-width:none;margin-top:15px;font-size:11px}.location-layout{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding:21px;gap:20px}.location-mode-switch button{font-size:12px;padding:9px 7px}.location-search-row{flex-direction:column;gap:10px}.location-search-row>.action-button{align-self:flex-start;min-width:116px}.coordinate-fields{gap:10px}.map-panel-heading{padding:12px;flex-wrap:wrap;gap:7px}.map-panel-heading>span{font-size:10px;letter-spacing:.5px}.location-map{min-height:290px}.location-facts>div{display:block}.location-facts dt{font-size:11px}.location-facts dd{font-size:12px;margin-top:3px}.building-data-disclosure>summary,.building-data-body{padding-left:21px;padding-right:21px}.building-data-disclosure>summary{gap:10px}.building-data-disclosure>summary>span:first-child{font-size:12px}.disclosure-tag{font-size:10px;letter-spacing:0;max-width:105px}.building-details-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.building-submit{grid-column:auto}.data-block-heading{align-items:flex-start}.data-block-heading h3{font-size:14px}.geojson-form{gap:17px 15px}.working-memory-note{padding-left:21px;padding-right:21px}}
@media(max-width:760px){.location-planning{margin-bottom:19px}.location-heading{padding:21px 19px}.location-heading h2{font-size:22px;line-height:1.4}.location-heading p:not(.eyebrow){font-size:13px}.connection-state{font-size:11px;padding:9px 10px;line-height:1.7;max-width:100%}.location-layout{grid-template-columns:1fr;gap:21px;padding:20px 19px}.location-mode-switch{margin-bottom:19px}.location-mode-switch button{font-size:12px;min-height:46px;padding:10px 8px}.location-search-row{flex-direction:row}.location-search-row>.action-button{align-self:stretch;min-width:0;padding-left:12px;padding-right:12px}.location-search-row .action-button>.icon{display:none}.location-input-shell input{font-size:13px}.form-description{font-size:12px}.location-form label,.building-details-form label,.geojson-form label:not(.rights-confirmation){font-size:12px}.location-form input,.building-details-form input,.building-details-form select,.geojson-form input:not([type=checkbox]){font-size:14px;min-height:46px}.coordinate-fields{gap:11px}.coordinate-fields input{font-size:13px}.form-feedback{font-size:12px}.location-map{min-height:270px;padding-bottom:40px}.map-placeholder-graphic{height:170px}.map-placeholder-copy>strong{font-size:13px}.map-placeholder-copy>span{font-size:11px}.map-panel-heading{padding:13px 15px}.map-panel-heading strong{font-size:12px}.map-panel-heading>span{font-size:10px}.selected-location{padding:15px}.selected-location>strong{font-size:15px}.selected-location-title{gap:7px}.selected-location-title .eyebrow{font-size:10px}.location-facts>div{display:grid;grid-template-columns:86px 1fr}.location-facts dt,.location-facts dd{font-size:12px}.location-facts dd{margin-top:0}.text-button,.external-map-link,.action-button{font-size:12px;min-height:46px}.privacy-hint{font-size:11px}.building-data-disclosure>summary{padding:15px 19px;gap:10px;align-items:flex-start}.building-data-disclosure>summary>span:first-child{font-size:13px;line-height:1.6;gap:8px}.building-data-disclosure>summary .icon{width:17px;height:17px;margin-top:2px}.disclosure-tag{display:none}.building-data-disclosure>summary>.disclosure-chevron{margin-left:auto}.building-data-body{padding:4px 19px 22px}.data-block-heading{display:block;margin-top:11px}.data-block-heading h3{font-size:15px}.unverified-label{display:inline-block;font-size:10px;margin-top:8px}.building-details-form{grid-template-columns:1fr 1fr;gap:15px 12px;margin-top:17px}.building-submit{grid-column:1 / -1;margin-top:0}.building-submit .action-button{width:auto}.input-guidance{font-size:11px;line-height:1.7}.data-summary{font-size:12px;padding:11px 12px}.geojson-block{margin-top:22px;padding-top:15px}.geojson-form{grid-template-columns:1fr;gap:17px}.geojson-form>div,.rights-confirmation,.geojson-actions{grid-column:1}.geojson-form input[type=file]{font-size:12px;padding:4px;min-height:54px}.geojson-form input[type=file]::file-selector-button{font-size:12px;padding:10px}.rights-confirmation{font-size:12px;align-items:flex-start;padding:3px 0;min-height:44px}.rights-confirmation input{margin-top:2px}.geojson-actions{gap:7px}.footprint-preview{min-height:150px}.working-memory-note{font-size:11px;padding:14px 19px;line-height:1.8}}
@media(max-width:370px){.location-heading{padding:19px 16px}.location-heading h2{font-size:20px}.location-heading .eyebrow{font-size:10px;letter-spacing:.7px}.connection-state{font-size:11px}.location-layout{padding:18px 16px;gap:19px}.location-mode-switch button{font-size:11px;line-height:1.5;min-height:46px;padding:10px 6px}.location-input-shell{padding-left:8px}.location-input-shell>.icon{width:15px;height:15px}.location-input-shell input{padding-left:7px;padding-right:7px;font-size:13px}.location-search-row{gap:7px}.location-search-row>.action-button{padding-left:10px;padding-right:10px;font-size:12px}.coordinate-fields{grid-template-columns:1fr;gap:14px}.selected-location{padding:12px}.selected-location-title .eyebrow{font-size:10px;letter-spacing:.5px}.location-facts>div{display:block}.location-facts dt{font-size:11px}.location-facts dd{margin-top:3px}.map-panel-heading{padding:12px}.map-panel-heading>span{font-size:10px;letter-spacing:0}.map-placeholder-copy{padding:0 6px}.map-placeholder-copy>strong{font-size:12px}.map-placeholder-copy>span{font-size:11px}.building-data-disclosure>summary{padding:15px 16px}.building-data-disclosure>summary>span:first-child{font-size:12px}.building-data-body{padding-left:16px;padding-right:16px}.building-details-form{grid-template-columns:1fr;gap:15px}.building-submit{grid-column:auto}.building-details-form label{font-size:12px}.geojson-form input[type=file]{font-size:11px}.geojson-form input[type=file]::file-selector-button{font-size:11px;margin-right:6px;padding-left:8px;padding-right:8px}.working-memory-note{padding:14px 16px}}
@media print{.location-entry form,.location-mode-switch,.building-data-disclosure>summary,.geojson-form,.text-button{display:none}.location-layout{grid-template-columns:1fr 1fr}.location-planning{break-inside:avoid}.location-heading{display:block}.connection-state{margin-top:12px}.working-memory-note{font-size:11px}.location-map{min-height:220px}}

.no-script-note{font-size:13px;line-height:1.8;color:#7b5638;background:#f8eedf;border:1px solid #e6d4b8;border-radius:8px;padding:14px 17px;margin:0 0 22px}.location-planning input:disabled,.location-planning select:disabled{cursor:not-allowed;color:#78856a;background:#f2f4ed}
.form-feedback.has-error{color:#a03e2c;font-weight:500}
.imported-footprint{fill:#cfddc2;stroke:#6b8657;stroke-width:2;vector-effect:non-scaling-stroke}

/* Phase 2: address search and an in-app OpenStreetMap view, loaded on action. */
.connection-state>#map-state-label{font-size:11px;line-height:1.6;min-width:0}
.address-search-hint{margin:11px 0 16px}
.coordinate-disclosure{border-top:1px solid #e6eadf;border-bottom:1px solid #e6eadf;margin:17px 0 0}
.coordinate-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:12px 0;cursor:pointer;font-size:12px;line-height:1.6;color:#78866b}
.coordinate-disclosure>summary::-webkit-details-marker{display:none}
.coordinate-disclosure>summary:focus-visible{outline:2px solid #b78664;outline-offset:3px;border-radius:3px}
.coordinate-disclosure>summary>.icon{width:14px;height:14px;transition:transform .15s;flex:none}
.coordinate-disclosure[open]>summary>.icon{transform:rotate(90deg)}
.coordinate-disclosure .coordinate-fields{margin-top:6px}
.coordinate-disclosure .form-description{font-size:11px;line-height:1.8;margin:10px 0 14px}
.search-privacy-note{font-size:11px;line-height:1.8;color:#7b886b;margin:17px 0}
.manual-search-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.manual-search-actions .action-button{min-height:48px;padding:12px 15px}
.manual-search-actions .text-button{font-size:11px}
.live-location-map{height:360px;min-height:360px;padding:0;display:block;position:relative;background:#f0f3e9;background-image:none}
.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:35px;text-align:center;background:radial-gradient(ellipse at center,#f6f8f0,#eef2e6)}
.map-empty-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #d9e2cc;border-radius:50%;background:#f9fbf5;margin-bottom:7px;color:#95a381}
.map-empty-icon>.icon{width:26px;height:26px;stroke-width:1.4}
.map-empty>strong{font-size:16px;font-weight:500;line-height:1.6;color:#6a7b58}
.map-empty>p{font-size:13px;line-height:1.8;color:#7b8b69;max-width:280px;margin:0}
.map-empty>span:last-child{font-size:11px;line-height:1.8;max-width:260px;color:#8c997b}
#map-frame{position:absolute;inset:0;border:0;width:100%;height:100%;display:block;background:#edf2e3}
.map-load-row{padding:10px 15px;border-top:1px solid #dfe5d2;background:#f7f9ef}
.map-load-feedback{font-size:11px;line-height:1.7;color:#748362;margin:0;overflow-wrap:anywhere}
.map-load-feedback:empty{display:none}
.map-load-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.map-load-actions:has(>button:not([hidden])){margin-top:3px}
.map-load-actions .text-button{font-size:11px;padding:9px 5px;min-height:44px}
.map-load-row+.map-status{border-top:0;padding-top:2px;padding-bottom:10px}
.map-attribution{margin:0;padding:0 15px 12px;background:#f7f9ef;font-size:11px;line-height:1.8;color:#7b8969}
.map-attribution a{display:inline-flex;align-items:center;min-height:28px;text-decoration:underline;text-underline-offset:3px}
.map-attribution a:hover{color:#855739}
#map-measurement-hint{font-size:11px;line-height:1.8}
@media(max-width:1000px){.manual-search-actions{align-items:flex-start;flex-direction:column;gap:3px}.manual-search-actions .action-button{padding-left:13px;padding-right:13px;font-size:12px}.manual-search-actions .action-button>.icon{display:none}.manual-search-actions .text-button{min-height:44px;padding-left:0}.map-empty{padding:25px}.map-empty>strong{font-size:15px}.map-empty>p{font-size:12px}.map-panel-heading>span{font-size:10px;letter-spacing:.3px}}
@media(max-width:760px){.live-location-map{height:420px;min-height:420px}.manual-search-actions{flex-direction:row;align-items:center;gap:8px}.manual-search-actions .action-button{font-size:12px;padding-left:14px;padding-right:14px}.manual-search-actions .text-button{font-size:11px;padding-left:7px}.map-empty{padding:30px}.map-empty>strong{font-size:16px}.map-empty>p{font-size:13px}.map-empty>span:last-child{font-size:11px}.coordinate-disclosure>summary{font-size:12px;min-height:46px}.search-privacy-note{font-size:11px;line-height:1.8}.map-attribution{font-size:11px}.map-load-feedback,#map-measurement-hint{font-size:11px}}
@media(max-width:370px){.manual-search-actions{align-items:flex-start;flex-direction:column;gap:2px}.manual-search-actions .action-button{font-size:12px}.manual-search-actions .text-button{padding-left:0;font-size:11px}.coordinate-disclosure>summary{font-size:12px}.map-panel-heading{gap:7px}.map-panel-heading strong{font-size:12px}.map-panel-heading>span{font-size:10px;letter-spacing:0}.map-empty{padding:24px}.map-empty>strong{font-size:15px}.map-empty>p{font-size:13px}}

/* Open building sources: provenance and model limits remain next to the view. */
.building-source-panel{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 24px;overflow:hidden}
.source-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:25px 26px 21px;border-bottom:1px solid var(--line)}
.source-panel-heading h2{font-size:24px;line-height:1.35;letter-spacing:-.6px;font-weight:500;margin:0}
.source-panel-heading .eyebrow{font-size:10px;line-height:1.7;margin-bottom:7px}
.source-panel-heading p:not(.eyebrow){font-size:13px;color:#738267;line-height:1.7;margin:8px 0 0;max-width:660px}
.source-coverage-label{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.7;color:#7c896c;padding:9px 11px;border:1px solid #e0e6d6;border-radius:6px;background:#f6f8ef;max-width:240px;flex:none}
.source-coverage-label .icon{width:16px;height:16px}
.source-panel-body{padding:23px 26px}
.source-controls{display:flex;align-items:flex-end;gap:20px}
.source-provider-field{flex:1;min-width:0;max-width:530px}
.source-provider-field label{display:block;color:#576b49;font-size:12px;font-weight:550;line-height:1.5;margin-bottom:8px}
.source-provider-field select{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #dfe4d5;border-radius:7px;background:#fbfcf8;color:#4f6441;font:inherit;font-size:13px;line-height:1.5;padding:11px 10px;cursor:pointer}
.source-provider-field select:hover{border-color:#bdc7ae}
.source-provider-field select:focus-visible{outline:2px solid #b78664;outline-offset:2px;border-color:#b78664}
.source-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.source-action-row .action-button{min-height:46px}
.source-action-row .text-button{min-height:46px}
.source-request-note{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#7a8b69;line-height:1.8;margin:16px 0 0;max-width:950px}
.source-request-note>.icon{width:15px;height:15px;margin-top:2px}
.source-quality-notes{display:grid;grid-template-columns:1fr 1fr;gap:21px;background:#f6f8f0;border:1px solid #e8ecdf;border-radius:8px;padding:16px 18px;margin:21px 0 0}
.source-quality-notes p{font-size:12px;color:#7e8d6e;line-height:1.8;margin:0}
.source-quality-notes strong{display:block;font-size:12px;color:#5f7450;font-weight:550;line-height:1.6;margin-bottom:5px}
.source-quality-notes span{display:block}
#source-building-feedback{margin-top:17px;color:#657c54}
.source-building-summary{border:1px solid #dfe6d4;border-radius:8px;background:#f5f8ed;padding:17px 18px;margin-top:17px}
.source-building-summary .eyebrow{font-size:10px;line-height:1.7;color:#7f906e;margin-bottom:7px}
.source-building-summary h3{font-size:17px;line-height:1.6;font-weight:500;letter-spacing:-.2px;color:#536c41;margin:0;overflow-wrap:anywhere}
.source-building-details p,.source-building-license{font-size:12px;line-height:1.8;color:#70855e;margin:10px 0 0;overflow-wrap:anywhere}
.source-building-details:empty{display:none}
.source-building-license{color:#7b8c6a;font-size:11px}
.source-building-summary .external-map-link{font-size:12px;min-height:44px;margin-top:5px}
.source-scope-note{font-size:11px;line-height:1.8;color:#829171;border-top:1px solid #e7ecde;margin:21px 0 0;padding-top:14px}
.source-building-attribution{padding:11px 17px;margin:0;font-size:11px;line-height:1.8;color:#72865e;background:#f3f6ea;border-top:1px solid #dfe7d2;overflow-wrap:anywhere}
.source-building-attribution a{color:#6c8058;text-decoration:underline;text-underline-offset:3px}
.source-building-attribution a:hover{color:#855739}
.scene-label{flex-wrap:wrap;column-gap:8px;row-gap:5px;line-height:1.5}
#scene-model-label{line-height:1.5}
#scene-model-badge{font-size:10px;line-height:1.6}
.scene-actions{flex:none}
.viewport-note{max-width:calc(100% - 65px);align-items:flex-start;line-height:1.7}
.viewport-note>.tiny-cross{margin-top:5px;flex:none}
#scene-provenance-note{overflow-wrap:anywhere}
.scene-panel:fullscreen .viewport{min-height:0}
.scene-panel:fullscreen .source-building-attribution{max-height:95px;overflow:auto}
@media(max-width:1250px){.source-panel-heading{padding:23px}.source-panel-heading h2{font-size:22px}.source-panel-body{padding:22px 23px}.source-controls{flex-wrap:wrap;gap:15px}.source-provider-field{max-width:none;flex-basis:100%}.source-quality-notes{gap:18px}.source-coverage-label{max-width:210px}}
@media(max-width:1000px){.source-panel-heading{display:block;padding:21px}.source-coverage-label{display:inline-flex;max-width:none;margin-top:14px;font-size:11px}.source-panel-body{padding:21px}.source-provider-field select{font-size:12px}.source-quality-notes{padding:15px;gap:16px}.source-quality-notes p{font-size:12px}.source-request-note{font-size:11px}.source-building-attribution{padding:11px 13px;font-size:11px}.scene-topbar{align-items:center}.source-scope-note{font-size:11px}}
@media(max-width:760px){.building-source-panel{margin-bottom:19px}.source-panel-heading{padding:21px 19px}.source-panel-heading h2{font-size:22px;line-height:1.4}.source-panel-heading p:not(.eyebrow){font-size:13px}.source-coverage-label{font-size:11px;margin-top:13px;padding:8px 10px}.source-panel-body{padding:20px 19px}.source-provider-field label{font-size:12px}.source-provider-field select{font-size:13px;min-height:46px;padding:11px 8px}.source-action-row{gap:7px;align-items:flex-start;flex-direction:column}.source-action-row .action-button{font-size:12px;min-height:46px}.source-action-row .text-button{font-size:12px;min-height:44px;padding-left:0}.source-request-note{font-size:11px;line-height:1.8;margin-top:12px}.source-quality-notes{grid-template-columns:1fr;gap:15px;margin-top:18px;padding:15px}.source-quality-notes p,.source-quality-notes strong{font-size:12px}.source-building-summary{padding:16px 15px}.source-building-summary h3{font-size:16px}.source-building-details p{font-size:12px}.source-building-license{font-size:11px}.source-building-summary .external-map-link{font-size:12px}.source-scope-note{font-size:11px;margin-top:18px;padding-top:13px}.source-building-attribution{font-size:11px;padding:11px 14px}.scene-topbar{padding-top:7px;padding-bottom:7px}.scene-label{max-width:calc(100% - 85px)}#scene-model-badge{font-size:10px}#scene-provenance-note{font-size:10px;letter-spacing:.5px}.viewport-note{max-width:calc(100% - 45px)}}
@media(max-width:370px){.source-panel-heading{padding:19px 16px}.source-panel-heading h2{font-size:20px}.source-panel-heading .eyebrow{font-size:10px;letter-spacing:.6px}.source-panel-body{padding:18px 16px}.source-provider-field select{font-size:12px}.source-coverage-label{font-size:11px;padding:8px}.source-request-note{font-size:11px}.source-quality-notes{padding:13px}.source-building-summary{padding:14px 13px}.source-building-summary h3{font-size:15px}.source-building-attribution{font-size:11px;padding-left:12px;padding-right:12px}}
@media print{.source-controls,.source-action-row{display:none}.building-source-panel{break-inside:avoid}.source-panel-heading{display:block}.source-coverage-label{margin-top:12px}.source-building-attribution{font-size:11px}.source-quality-notes{grid-template-columns:1fr 1fr}}

/* Phase 3 — local typefaces and the user's L-E-S Liquid Glass visual language. */
@font-face{font-family:'DM Sans';src:url('./fonts/dm-sans.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:Manrope;src:url('./fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--page:#eaf0f8;--paper:rgba(255,255,255,.73);--ink:#26364e;--muted:#5e708b;--faint:#7184a0;--line:rgba(80,108,148,.15);--accent:#195aa8;--accent-dark:#144987;--accent-wash:rgba(205,226,255,.67);--rail:rgba(255,255,255,.48);--font:'DM Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--glass-page:#eaf0f8;--glass-surface:rgba(255,255,255,.48);--glass-strong:rgba(255,255,255,.73);--glass-control:rgba(255,255,255,.58);--glass-highlight:rgba(255,255,255,.75);--glass-border:rgba(255,255,255,.84);--glass-divider:rgba(80,108,148,.15);--glass-text:#26364e;--glass-muted:#5e708b;--glass-blue:#195aa8;--glass-blue-wash:rgba(205,226,255,.67);--glass-orange-wash:rgba(255,225,198,.73);--glass-shadow:0 18px 55px rgba(41,65,104,.10),0 3px 12px rgba(41,65,104,.035);--glass-edge:inset 0 1px 0 rgba(255,255,255,.94),inset 1px 0 0 rgba(255,255,255,.42);font-family:var(--font);background:var(--glass-page);color:var(--glass-text)}
body{background-color:var(--glass-page);background-image:radial-gradient(ellipse at 8% 5%,rgba(255,177,122,.24),transparent 42%),radial-gradient(ellipse at 96% 8%,rgba(116,174,255,.29),transparent 45%),radial-gradient(ellipse at 72% 100%,rgba(150,164,232,.18),transparent 49%);background-attachment:fixed;min-height:100vh;color:var(--glass-text)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#72a5e7}
h1,h2,h3,.wordmark,.footer-brand{font-family:Manrope,var(--font)}
.app-rail{inset:24px auto 24px 22px;width:68px;border:1px solid var(--glass-border);border-radius:22px;background:linear-gradient(180deg,var(--glass-highlight),transparent 75%),var(--glass-surface);box-shadow:var(--glass-edge),var(--glass-shadow);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5)}
.brand-mark{margin-top:17px;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#ffc18c,#ff944f);color:#44200c;box-shadow:inset 0 1px 0 #ffe6cf,0 4px 13px #ee85412b;font-family:Manrope,var(--font);font-size:28px;font-weight:650;letter-spacing:-1px}
.brand-mark i{width:4px;height:4px;right:7px;top:7px;background:#fff3e7}
.rail-center{margin-top:45px;gap:21px}.rail-item.selected{color:#44200c;background:linear-gradient(145deg,#ffc18c,#ff944f);box-shadow:var(--glass-edge);border-radius:14px}.rail-line{background:var(--glass-divider)}.rail-decor{color:var(--glass-muted)}.rail-bottom{background:var(--glass-blue-wash);border-color:var(--glass-border);color:var(--glass-blue)}.rail-bottom span{border-color:#eaf0f8;color:#ffac74}
.app-shell{margin-left:110px}
.topbar{height:84px;margin:24px 30px 0;padding:0 26px;background:linear-gradient(145deg,var(--glass-highlight),transparent 55%),var(--glass-surface);border:1px solid var(--glass-border);border-radius:21px;box-shadow:var(--glass-edge),var(--glass-shadow);-webkit-backdrop-filter:blur(28px) saturate(1.65);backdrop-filter:blur(28px) saturate(1.65)}
.wordmark{font-size:21px;letter-spacing:-.9px;font-weight:800;color:var(--glass-text)}.wordmark>span{color:var(--glass-muted);font-family:var(--font);letter-spacing:0;font-size:12px}.topbar-project{color:var(--glass-muted)}.project-dot{background:#e8a16a}.phase-badge{color:var(--glass-blue);background:linear-gradient(150deg,var(--glass-highlight),transparent 65%),var(--glass-control);border:1px solid var(--glass-border);border-radius:14px;box-shadow:var(--glass-edge);font-size:11px;padding:9px 12px}.phase-badge>span{background:#6b9fdb}.help-button{color:var(--glass-muted)}
main{padding:31px 30px 0;max-width:1720px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:35px;letter-spacing:-1.5px;font-weight:650}.page-heading h1 span{color:#73839d;font-weight:450}.eyebrow{color:var(--glass-blue);font-weight:600}.page-description,.demo-status>div>span{color:var(--glass-muted)}.status-orbit{border-color:var(--glass-border);background:var(--glass-control);box-shadow:var(--glass-edge);color:var(--glass-blue)}.demo-status strong{color:var(--glass-text)}
.workflow{grid-template-columns:repeat(4,1fr);border-color:var(--glass-border);border-radius:17px;background:var(--glass-surface);box-shadow:var(--glass-edge);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.workflow-step.current{background:linear-gradient(155deg,var(--glass-highlight),transparent 65%),var(--glass-blue-wash)}.workflow-step.current strong{color:var(--glass-blue)}.workflow-step.current small{color:var(--glass-muted)}.workflow-step.current .step-number{background:linear-gradient(145deg,#ffc18c,#ff944f);border-color:#ffdabd;color:#44200c;box-shadow:var(--glass-edge)}.workflow-step.completed{color:var(--glass-text)}.workflow-step.completed:hover{background:var(--glass-control)}.workflow-step.completed .step-number{background:var(--glass-control);color:var(--glass-blue);border-color:var(--glass-border)}.step-number .icon{width:14px;height:14px}.workflow-step strong{font-size:12px}.workflow-step small{color:var(--glass-muted)}.step-tag{color:var(--glass-blue)}.future{color:#71839f}.future>.icon{color:#8fa0b9}.step-number{color:#7e91ab;border-color:var(--glass-divider)}
:is(.location-planning,.building-source-panel){background:linear-gradient(145deg,var(--glass-highlight),transparent 55%),var(--glass-surface);border-color:var(--glass-border);border-radius:22px;box-shadow:var(--glass-edge),0 8px 26px rgba(41,65,104,.045);-webkit-backdrop-filter:blur(24px) saturate(1.45);backdrop-filter:blur(24px) saturate(1.45)}
:is(.location-heading,.source-panel-heading,.building-data-disclosure,.working-memory-note,.geojson-block){border-color:var(--glass-divider)}
:is(.location-heading h2,.source-panel-heading h2,.data-block-heading h3,.section-title h3){color:var(--glass-text)}
:is(.location-heading p:not(.eyebrow),.source-panel-heading p:not(.eyebrow),.form-description,.form-feedback,.input-guidance,.privacy-hint,.field-hint,.section-description,.fine-print,.catalog-disclaimer,.source-request-note,.source-scope-note,.working-memory-note,.source-building-license,.source-building-details p,.coordinate-disclosure>summary,.coordinate-disclosure .form-description,.search-privacy-note){color:var(--glass-muted)}
:is(.location-form label,.building-details-form label,.geojson-form label:not(.rights-confirmation),.source-provider-field label,.field-heading label,.field-label,.location-facts dd,.rights-confirmation){color:var(--glass-text)}
:is(.location-form input,.building-details-form input,.building-details-form select,.geojson-form input:not([type=checkbox]),.source-provider-field select,.location-input-shell){background:linear-gradient(150deg,var(--glass-highlight),transparent 65%),var(--glass-control);border-color:var(--glass-border);border-radius:12px;color:var(--glass-text);box-shadow:var(--glass-edge)}
.location-input-shell{box-shadow:var(--glass-edge)}.location-input-shell input{background:transparent;box-shadow:none}.location-input-shell>.icon{color:var(--glass-muted)}
:is(.location-form input,.building-details-form input,.geojson-form input)::placeholder{color:#798da9}
:is(.location-form input,.building-details-form input,.building-details-form select,.source-provider-field select,.geojson-form input):focus-visible{border-color:#7ba8e4;outline-color:#7ba8e4;box-shadow:0 0 0 3px rgba(113,161,228,.13)}
:is(.connection-state,.source-coverage-label,.preview-pill,.unverified-label,.subtle-pill,.soon-label){background:var(--glass-control);border-color:var(--glass-border);color:var(--glass-blue);border-radius:10px;box-shadow:var(--glass-edge)}.connection-state>span:first-child{background:#7ea6d9}.form-description strong{color:var(--glass-text)}
.location-mode-switch{background:var(--glass-control);border-color:var(--glass-border);border-radius:13px;box-shadow:var(--glass-edge)}.location-mode-switch button{color:var(--glass-muted);border-radius:10px}.location-mode-switch button[aria-pressed=true]{background:linear-gradient(155deg,var(--glass-highlight),transparent 70%),var(--glass-blue-wash);color:var(--glass-blue);box-shadow:var(--glass-edge),0 2px 8px rgba(37,66,109,.07)}
.action-button{background:linear-gradient(145deg,#ffbf8b,#ff9d57);color:#3a210f;border:1px solid #ffdbbd;border-radius:13px;box-shadow:inset 0 1px 0 #ffe8d4,0 4px 14px rgba(204,117,53,.10);font-weight:600}.action-button:hover{background:linear-gradient(145deg,#ffcca5,#ffae75);border-color:#ffdbbd}.text-button,.external-map-link{color:var(--glass-blue)}.text-button:hover{background:var(--glass-blue-wash);color:var(--glass-blue)}.external-map-link:hover{color:#113f7b}.icon-button{color:var(--glass-muted);border-radius:11px}.icon-button:hover{background:var(--glass-blue-wash);color:var(--glass-blue)}
:is(.selected-location,.source-building-summary,.data-summary,.panel-note,.source-quality-notes){background:linear-gradient(145deg,var(--glass-highlight),transparent 70%),var(--glass-control);border-color:var(--glass-border);border-radius:13px;color:var(--glass-text);box-shadow:var(--glass-edge)}
:is(.selected-location>strong,.source-building-summary h3,.source-quality-notes strong,.source-quality-notes p,.data-summary,.panel-note p,.panel-note p span){color:var(--glass-text)}.source-quality-notes span{color:var(--glass-muted)}.selected-location-title .eyebrow,.source-building-summary .eyebrow{color:var(--glass-blue)}.location-facts dt{color:var(--glass-muted)}
.search-results button{border-color:var(--glass-border);background:var(--glass-control);color:var(--glass-text);border-radius:12px;box-shadow:var(--glass-edge)}.search-results button strong{color:var(--glass-text)}.search-results button span,.search-results button small{color:var(--glass-muted)}.search-results button:hover,.search-results button[aria-pressed=true],.search-results button[aria-current=true]{border-color:#b5d0f2;background:var(--glass-blue-wash)}
.building-data-disclosure{background:rgba(255,255,255,.18)}.building-data-disclosure>summary{color:var(--glass-text)}.building-data-disclosure>summary:hover{background:var(--glass-control)}.disclosure-tag{color:var(--glass-muted)}.working-memory-note{background:rgba(255,255,255,.2)}.coordinate-disclosure{border-color:var(--glass-divider)}.geojson-form input[type=file]::file-selector-button{background:var(--glass-blue-wash);color:var(--glass-blue);border-radius:9px}.geojson-form input[type=file]::file-selector-button:hover{background:#d7e7fb}.rights-confirmation input{accent-color:var(--glass-blue)}
.location-map-panel{border-color:var(--glass-border);border-radius:16px;background:var(--glass-control);box-shadow:var(--glass-edge)}.map-panel-heading{background:var(--glass-surface);border-color:var(--glass-divider)}.map-panel-heading strong{color:var(--glass-text)}.map-panel-heading>.icon,.map-panel-heading>span{color:var(--glass-muted)}.live-location-map{background:#edf3fa}.map-empty{background:radial-gradient(ellipse at top left,rgba(255,215,183,.20),transparent 70%),linear-gradient(130deg,#f7faff,#e7effb)}.map-empty-icon{background:var(--glass-control);border-color:var(--glass-border);color:var(--glass-blue);box-shadow:var(--glass-edge)}.map-empty>strong{color:var(--glass-text)}.map-empty>p,.map-empty>span:last-child{color:var(--glass-muted)}.map-load-row,.map-status,.map-data-note,.map-attribution{background:var(--glass-surface);border-color:var(--glass-divider);color:var(--glass-muted)}.map-load-feedback{color:var(--glass-muted)}.map-attribution a{color:var(--glass-blue)}.footprint-preview{background:#edf3fa;border-color:var(--glass-border)}
.workspace{grid-template-columns:340px minmax(0,1fr);gap:0;border:1px solid var(--glass-border);border-radius:22px;overflow:clip;background:var(--glass-surface);box-shadow:var(--glass-edge),var(--glass-shadow);align-items:start;-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4)}
.model-editor-panel{border:0;border-right:1px solid var(--glass-divider);border-radius:22px 0 0 22px;padding:23px 21px;background:linear-gradient(145deg,var(--glass-highlight),transparent 70%),var(--glass-surface);min-width:0;display:block}
.editor-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}.editor-heading .small-icon{width:40px;height:40px;border-radius:12px;background:var(--glass-orange-wash);border:1px solid var(--glass-border);color:#9a501e;box-shadow:var(--glass-edge)}.editor-heading .eyebrow{font-size:10px;letter-spacing:1px;color:var(--glass-blue);margin:0 0 4px}.editor-heading h2{font-size:21px;font-weight:700;letter-spacing:-.6px;line-height:1.35;margin:0;color:var(--glass-text)}
.editor-mode-label{display:inline-block;color:var(--glass-blue);background:var(--glass-blue-wash);border:1px solid var(--glass-border);box-shadow:var(--glass-edge);border-radius:9px;padding:6px 10px;font-size:11px;line-height:1.6;margin:0 0 11px}
.editor-draft-note{font-size:12px;line-height:1.8;color:var(--glass-muted);margin:0 0 12px}.editor-example-button{display:flex;align-items:center;gap:7px;border:1px solid var(--glass-border);border-radius:11px;background:var(--glass-control);box-shadow:var(--glass-edge);color:var(--glass-blue);padding:10px 12px;font-size:12px;line-height:1.6;min-height:44px;margin-bottom:20px}.editor-example-button .icon{width:14px;height:14px}.editor-example-button:hover{background:var(--glass-blue-wash)}
.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.editor-fields>div{min-width:0}.editor-fields .editor-field-wide{grid-column:1 / -1}.editor-fields label{display:block;color:var(--glass-text);font-size:12px;font-weight:550;line-height:1.5;margin:0 0 7px;min-height:18px}.editor-fields input,.editor-fields select{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:11px 10px;background:linear-gradient(150deg,var(--glass-highlight),transparent 65%),var(--glass-control);border:1px solid var(--glass-border);border-radius:11px;color:var(--glass-text);box-shadow:var(--glass-edge);font:inherit;font-size:13px;line-height:1.6}.editor-fields input::placeholder{color:#7e90aa;opacity:1}.editor-fields input:hover,.editor-fields select:hover{border-color:#c2d8f6}.editor-fields input:focus-visible,.editor-fields select:focus-visible{outline:2px solid #7ba8e4;outline-offset:2px;border-color:#7ba8e4;box-shadow:0 0 0 3px rgba(113,161,228,.13)}.editor-fields input:disabled,.editor-fields select:disabled{opacity:.65;cursor:not-allowed}
.editor-input-hint{font-size:11px;line-height:1.8;color:var(--glass-muted);margin:13px 0 0}.editor-apply-button{width:100%;margin-top:17px;min-height:47px;gap:7px;font-size:12px}.editor-restore-button{width:100%;font-size:12px;margin:7px 0 11px;min-height:44px}
.editor-detail-block{border-top:1px solid var(--glass-divider)}.editor-detail-block>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:57px;list-style:none;padding:14px 0;color:var(--glass-text);cursor:pointer;font-size:12px;line-height:1.6}.editor-detail-block>summary::-webkit-details-marker{display:none}.editor-detail-block>summary>span{display:flex;align-items:center;gap:9px}.editor-detail-block>summary .icon{width:17px;height:17px;color:var(--glass-blue)}.editor-detail-block>summary>.disclosure-chevron{width:14px;height:14px;transition:transform .15s;flex:none}.editor-detail-block[open]>summary>.disclosure-chevron{transform:rotate(90deg)}.editor-detail-block>summary:hover{color:var(--glass-blue)}.editor-detail-block>summary:focus-visible{outline:2px solid #7ba8e4;outline-offset:-2px;border-radius:6px}.editor-detail-content{padding:0 0 17px}.editor-detail-content>.editor-input-hint{margin:0 0 15px}.editor-detail-form .editor-fields{gap:13px 11px}.editor-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.editor-detail-actions .action-button{font-size:12px;min-height:44px;padding:11px 13px}.editor-detail-actions .text-button{font-size:12px;min-height:44px}
.editor-item-list{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:9px}.editor-item-list:empty{display:none}.editor-item-list li{padding:12px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-control);box-shadow:var(--glass-edge);font-size:12px;line-height:1.7;color:var(--glass-text);overflow-wrap:anywhere}.editor-item-list li>span,.editor-item-list li>strong{display:block}.editor-item-list li>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}.editor-item-list button{min-height:44px;border:0;border-radius:8px;padding:9px 8px;color:var(--glass-blue);background:transparent;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px}.editor-item-list button:hover{background:var(--glass-blue-wash)}
.editor-memory-note{display:flex;align-items:flex-start;gap:8px;padding:12px 11px;background:var(--glass-control);border:1px solid var(--glass-border);border-radius:12px;font-size:11px;line-height:1.8;color:var(--glass-muted);margin:4px 0 12px}.editor-memory-note>.icon{width:14px;height:14px;margin-top:3px;color:var(--glass-blue)}.demo-options-disclosure .section-description{font-size:12px}.demo-options-disclosure .panel-note{margin-top:14px}.demo-options-disclosure .fine-print{font-size:11px}.demo-options-disclosure .roof-option{background:var(--glass-control);border-color:var(--glass-border);border-radius:11px}.demo-options-disclosure .roof-option[aria-pressed=true]{background:var(--glass-blue-wash);border-color:#abcaf2}.demo-options-disclosure .roof-option svg,.demo-options-disclosure .roof-option span{color:var(--glass-muted);stroke:var(--glass-muted)}.demo-options-disclosure .roof-option[aria-pressed=true] svg{stroke:var(--glass-blue)}.demo-options-disclosure .roof-option[aria-pressed=true] span{color:var(--glass-blue)}.demo-options-disclosure .roof-option[aria-pressed=true] i{background:var(--glass-blue);outline-color:#abcaf2}.panel-toggle[aria-pressed=true] .switch{background:#74a0d8}.toggle-label{color:var(--glass-text)}.toggle-label .icon{color:var(--glass-blue)}
.scene-panel{position:sticky;top:14px;align-self:start;border:0;border-radius:0 22px 22px 0;background:transparent;height:calc(100vh - 100px);min-height:640px;max-height:900px}.scene-topbar{background:var(--glass-control);border-color:var(--glass-divider);min-height:68px;padding:8px 20px}.scene-label strong{color:var(--glass-text);font-size:13px}.scene-demo-label{color:var(--glass-muted);border-color:var(--glass-divider)}.scene-label .live-dot{background:#80a6d8}.scene-actions .icon{color:var(--glass-muted)}.viewport{min-height:0;background:#edf3fa;flex:1}.viewport-note{color:#7186a5}.scene-footer{background:var(--glass-surface);border-color:var(--glass-divider)}.scene-footer p,.scene-footer>span:first-child,.scene-engine{color:var(--glass-muted)}.source-building-attribution{background:var(--glass-surface);border-color:var(--glass-divider);color:var(--glass-muted)}.source-building-attribution a{color:var(--glass-blue)}.view-switch{background:var(--glass-strong);border-color:var(--glass-border);border-radius:13px;box-shadow:var(--glass-edge),0 4px 16px rgba(40,70,110,.06)}.view-switch button{color:var(--glass-muted);border-radius:9px}.view-switch button[aria-pressed=true]{background:var(--glass-blue-wash);color:var(--glass-blue)}.view-switch button:hover{background:var(--glass-control);color:var(--glass-blue)}.zoom-controls{border-color:var(--glass-border);background:var(--glass-strong);border-radius:13px;box-shadow:var(--glass-edge)}.zoom-controls .icon-button{color:var(--glass-blue)}.zoom-controls>span{background:var(--glass-divider)}.scene-fallback{background:#edf3fa}.scene-fallback>strong{color:var(--glass-text)}.scene-fallback>p{color:var(--glass-muted)}
.metric{background:linear-gradient(145deg,var(--glass-highlight),transparent 65%),var(--glass-surface);border-color:var(--glass-border);border-radius:16px;box-shadow:var(--glass-edge)}.metric-icon{background:var(--glass-control);color:var(--glass-blue);border-radius:11px}.metric h3,.metric p>span,.metric-state{color:var(--glass-muted)}.metric p strong{color:var(--glass-text)}.metric-state{background:var(--glass-control)}.energy-heading h2{color:var(--glass-text)}.energy-heading .eyebrow{color:var(--glass-blue)}.energy-heading p:not(.eyebrow){color:var(--glass-muted)}.product-card{background:linear-gradient(145deg,var(--glass-highlight),transparent 65%),var(--glass-surface);border-color:var(--glass-border);border-radius:16px;box-shadow:var(--glass-edge)}.product-card:hover{background:var(--glass-control);border-color:#c6d9f3}.manufacturer,.product-content>strong{color:var(--glass-text)}.product-kind,.product-status,.product-arrow{color:var(--glass-muted)}.page-footer{border-color:var(--glass-divider)}.footer-brand{color:var(--glass-text)}.footer-brand>span,.page-footer>p,.footer-version{color:var(--glass-muted)}
dialog{border-color:var(--glass-border);border-radius:25px;background:linear-gradient(140deg,var(--glass-highlight),transparent 55%),var(--glass-strong);box-shadow:var(--glass-edge),var(--glass-shadow);-webkit-backdrop-filter:blur(28px) saturate(1.5);backdrop-filter:blur(28px) saturate(1.5)}dialog::backdrop{background:rgba(45,65,95,.2);backdrop-filter:blur(9px) saturate(.9)}dialog h2{color:var(--glass-text)}dialog p,.help-list span,.dialog-footnote{color:var(--glass-muted)}.dialog-footnote{border-color:var(--glass-divider)}
@media(min-width:1700px){.workspace{grid-template-columns:365px minmax(0,1fr)}.model-editor-panel{padding:25px}.scene-panel{min-height:700px}}
@media(max-width:1250px){.app-rail{left:17px;width:62px}.app-shell{margin-left:96px}.topbar{margin:21px 24px 0;padding:0 22px}main{padding:28px 24px 0}.workspace{grid-template-columns:310px minmax(0,1fr)}.model-editor-panel{padding:21px 18px}.editor-fields{gap:13px 10px}.editor-fields label{font-size:12px}.scene-panel{min-height:630px}.scene-topbar{padding:8px 14px}.scene-label strong{font-size:12px}.scene-label{column-gap:6px}.scene-demo-label{display:none}.topbar-project{display:none}}
@media(max-width:1000px){.app-rail{left:14px;top:20px;bottom:20px;width:58px}.app-shell{margin-left:86px}.topbar{margin:20px 20px 0;padding:0 19px;height:76px}main{padding:26px 20px 0}.wordmark{font-size:19px}.wordmark>span{display:none}.page-heading h1{font-size:30px}.workspace{grid-template-columns:290px minmax(0,1fr)}.model-editor-panel{padding:20px 16px}.editor-heading{gap:9px}.editor-heading h2{font-size:19px}.editor-heading .eyebrow{font-size:10px;letter-spacing:.6px}.editor-fields label{font-size:11px}.editor-fields input,.editor-fields select{font-size:12px;padding-left:8px;padding-right:8px}.scene-panel{min-height:620px}.scene-label{max-width:calc(100% - 85px)}.scene-topbar{padding:8px 10px}.scene-label strong{font-size:12px}.scene-actions .icon-button{width:40px;min-width:40px}.scene-footer{display:block}.scene-footer>span:first-child{display:none}.scene-footer p{font-size:11px;text-align:left}.source-building-attribution{font-size:11px}.view-switch{left:10px;right:10px;transform:none}.view-switch button{font-size:11px;padding-left:5px;padding-right:5px}.zoom-controls{top:64px;right:12px;bottom:auto}.workflow-step strong{font-size:11px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr;display:flex;flex-direction:column}.model-editor-panel{width:100%;border-right:0;border-bottom:1px solid var(--glass-divider);border-radius:22px 22px 0 0;padding:23px}.editor-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.editor-fields label{font-size:12px}.editor-fields input,.editor-fields select{font-size:14px;padding:11px}.editor-fields .editor-field-wide{grid-column:1 / -1}.editor-draft-note{max-width:650px}.editor-example-button{margin-bottom:18px}.editor-apply-button{width:auto;padding-left:18px;padding-right:18px}.editor-restore-button{width:auto;padding-left:0;display:flex}.editor-detail-block>summary{font-size:13px}.editor-detail-content{max-width:650px}.editor-detail-form .editor-fields{grid-template-columns:1fr 1fr;gap:15px}.scene-panel{position:relative;top:auto;width:100%;height:600px;min-height:600px;max-height:none;border-radius:0 0 22px 22px}.scene-label{max-width:calc(100% - 95px)}.scene-demo-label{display:block}.scene-topbar{padding:8px 18px}.scene-label strong{font-size:13px}.scene-actions .icon-button{width:44px;min-width:44px}.view-switch{left:50%;right:auto;transform:translateX(-50%)}.view-switch button{font-size:12px;padding:10px 12px}.zoom-controls{top:auto;bottom:22px;right:18px}.editor-memory-note{max-width:650px}}
@media(max-width:760px){.app-rail{display:none}.app-shell{margin-left:0}.topbar{height:73px;margin:12px 12px 0;padding:0 17px;border-radius:17px}.wordmark{font-size:20px}.topbar-actions{gap:5px}.phase-badge{font-size:10px;padding:8px 10px;border-radius:11px}.phase-badge>span{display:none}main{padding:25px 16px 0}.page-heading{margin-bottom:22px}.page-heading h1{font-size:30px;letter-spacing:-1.2px}.page-description{font-size:13px}.workflow{border-radius:15px}.workflow-step{padding:14px 8px}.workflow-step strong{font-size:11px;line-height:1.5}.workflow-step small{font-size:10px}.workflow-step.current .step-tag{display:none}.location-planning,.building-source-panel{border-radius:19px}.model-editor-panel{padding:23px 21px;border-radius:19px 19px 0 0}.workspace{border-radius:19px}.editor-heading h2{font-size:23px}.editor-heading .eyebrow{font-size:10px;letter-spacing:.9px}.editor-draft-note{font-size:13px;line-height:1.8}.editor-example-button{font-size:12px}.editor-fields{grid-template-columns:1fr 1fr;gap:16px 13px}.editor-fields label{font-size:12px}.editor-fields input,.editor-fields select{font-size:14px;min-height:47px}.editor-input-hint{font-size:11px}.editor-apply-button{width:100%;font-size:13px;min-height:48px}.editor-restore-button{width:100%;font-size:12px}.editor-detail-block>summary{font-size:13px;min-height:59px}.editor-detail-actions .action-button{font-size:12px;min-height:46px}.editor-detail-form .editor-fields{gap:15px 13px}.editor-item-list li{font-size:12px}.editor-item-list button{font-size:12px}.editor-memory-note{font-size:11px}.scene-panel{height:560px;min-height:560px;border-radius:0 0 19px 19px}.scene-topbar{padding:9px 15px}.scene-label strong{font-size:13px}.scene-footer p{font-size:11px}.view-switch{left:12px;right:12px;bottom:18px;transform:none}.view-switch button{font-size:12px;flex:1;min-height:44px;padding:10px 7px}.zoom-controls{right:13px;top:64px;bottom:auto}.source-building-attribution{font-size:11px;padding:11px 14px}.metric{border-radius:14px}.product-card{border-radius:15px}.source-building-summary,.data-summary{border-radius:12px}.page-footer{padding-bottom:25px}.footer-version{font-size:10px}}
@media(max-width:370px){.topbar{margin:10px 10px 0;padding:0 11px;gap:8px}.wordmark{font-size:17px}.phase-badge{font-size:10px;padding:7px}.topbar-actions{gap:0}.help-button{width:40px;min-width:40px}.page-heading h1{font-size:27px}.page-heading .eyebrow{font-size:10px;letter-spacing:.5px}main{padding:23px 13px 0}.workflow-step{padding:13px 7px}.workflow-step strong{font-size:10px}.workflow-step small{font-size:10px}.model-editor-panel{padding:21px 16px}.editor-heading h2{font-size:21px}.editor-fields,.editor-detail-form .editor-fields{gap:15px 11px}.editor-fields label{font-size:12px}.editor-fields input,.editor-fields select{font-size:13px;padding:11px 8px}.editor-fields>div:has(#editor-azimuth){grid-column:1 / -1}.editor-fields>div:has(#editor-roof-pitch){grid-column:1 / -1}.scene-topbar{padding-left:12px;padding-right:12px}.scene-label strong{font-size:12px}.scene-demo-label{display:none}.view-switch{left:8px;right:8px}.view-switch button{font-size:11px;padding-left:5px;padding-right:5px}.editor-detail-block>summary{font-size:12px}.editor-detail-content .panel-note{font-size:11px}}
@media(prefers-reduced-transparency:reduce){:root{--glass-surface:#edf2f9;--glass-strong:#fff;--glass-control:#f3f6fb;--glass-highlight:rgba(255,255,255,.5);--glass-blue-wash:#dceafd;--glass-orange-wash:#ffe6d0}}
@supports not(backdrop-filter:blur(1px)){:root{--glass-surface:#edf2f9;--glass-strong:#fff;--glass-control:#f3f6fb;--glass-highlight:rgba(255,255,255,.35);--glass-blue-wash:#dceafd;--glass-orange-wash:#ffe6d0}}
@media print{body{background:#fff}.app-rail,.model-editor-form,.editor-detail-form,.editor-example-button,.editor-restore-button{display:none}.app-shell{margin:0}.topbar{margin:0;box-shadow:none}.workspace{display:block;box-shadow:none}.model-editor-panel{border:0;padding:12px}.scene-panel{position:relative;height:500px;min-height:500px;max-height:none}.scene-panel .viewport{min-height:350px}.location-planning,.building-source-panel{box-shadow:none;background:#fff}.model-editor-panel,.topbar{backdrop-filter:none}.source-building-attribution{color:#26364e}}

/* Keep the model visible while editing on a phone or tablet; free space for its keyboard. */
@media(max-width:900px){.workspace{overflow:clip}.model-editor-panel{order:1;border-top:1px solid var(--glass-divider);border-bottom:0;border-radius:0 0 19px 19px}.scene-panel{order:0;position:sticky;top:8px;z-index:4;height:clamp(350px,46dvh,430px);min-height:350px;max-height:430px;border-radius:19px 19px 0 0;box-shadow:0 9px 22px rgba(41,65,104,.06);background:#edf3fa}.scene-topbar{min-height:58px;padding:6px 13px}.scene-footer{padding:8px 13px}.source-building-attribution{padding:8px 13px;max-height:60px;overflow:auto}.scene-panel:fullscreen{height:100dvh;max-height:none;border-radius:0}.scene-panel:fullscreen .source-building-attribution{max-height:95px}.view-switch{bottom:12px}.zoom-controls{top:44px;right:11px}.viewport-note{top:13px;left:13px;max-width:calc(100% - 55px)}}
@media(max-width:900px) and (max-height:580px){.scene-panel{position:relative;top:auto;height:340px;min-height:340px;max-height:340px}}
@media(max-width:900px){.workspace:has(.model-editor-panel input:focus) .scene-panel{position:relative;top:auto}}

@media(max-width:900px){.location-planning input,.location-planning select,.model-editor-panel input,.model-editor-panel select{font-size:16px}}
/* Match the current page gutters so the horizontal product carousel stays inside the viewport. */
@media(max-width:760px){.product-grid{margin-inline:-16px;padding-inline:16px}}
@media(max-width:370px){.product-grid{margin-inline:-13px;padding-inline:13px}}
