@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2)format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2)format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-normal-Cx0mQj7e.woff2)format("woff2"),url(/assets/pt-serif-latin-400-normal-DIu_lRW0.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-normal-B-euljER.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-400-normal-D8jOFnDU.woff)format("woff")}:root{color:#273a31;font-synthesis:none;--ink:#273a31;--muted:#71796e;--green:#365b47;--accent:#b4824f;--border:#dcded4;--paper:#f5f3ed;--cold:#4389aa;--hot:#bd6b52;background:#f5f3ed;font-family:Manrope,sans-serif;font-size:14px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:2px solid #a6763f}button{background:0 0;border:0}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:PT Serif,Georgia,serif;font-weight:400}h1{letter-spacing:-1.1px;font-size:clamp(30px,3.1vw,46px);line-height:1.14}h2{font-size:26px;line-height:1.2}h3{font-size:14px;font-weight:600}h4{font-size:12px}p{color:var(--muted)}hr{border:0;border-top:1px solid var(--border);margin:24px 0}small{font-size:11px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.sidebar{color:#eff0e7;z-index:20;background:#263a30;flex-direction:column;width:218px;padding:30px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;font-size:16px;line-height:1.4;display:flex}.brand-mark{text-align:center;border:1px solid #66786a;width:41px;height:45px;font-family:PT Serif,serif;font-size:32px;line-height:42px;display:block;position:relative}.brand-mark span{background:#263a30;padding:0 4px;font-family:Manrope,sans-serif;font-size:10px;line-height:16px;position:absolute;bottom:-7px;right:-4px}.brand small{letter-spacing:2px;color:#a8b4a8;margin-top:4px;font-size:9px;display:block}.sidebar nav{border-top:1px solid #64776966;margin-top:42px;padding-top:24px}.nav-item{text-align:left;color:#c6d0c4;white-space:nowrap;border-radius:5px;align-items:center;gap:12px;width:100%;margin-bottom:7px;padding:13px 11px;font-size:12px;display:flex}.nav-item.active{color:#294132;background:#e4eadb}.nav-item:hover:not(.active){background:#334b3c}.nav-item small{opacity:.45;margin-left:auto;font-size:9px}.nav-icon{text-align:center;width:21px;font-size:22px;line-height:1}.sidebar-bottom{margin-top:auto;padding:32px 8px 0}.site-photo{filter:saturate(.6);background-position:50%;background-size:cover;border-radius:3px;height:112px;margin-bottom:19px}.project-status{align-items:center;gap:7px;font-size:11px;display:flex}.project-status i{background:#b5cbaa;border-radius:50%;width:6px;height:6px}.sidebar-bottom p{color:#b8c5b4;margin-top:8px;font-size:11px}.sidebar-bottom>small{color:#8fa08c;margin-top:14px;font-size:9px;display:block}.workspace{min-height:100vh;margin-left:218px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;height:77px;padding:0 34px;display:flex}.breadcrumb{letter-spacing:1.3px;white-space:nowrap;font-size:11px}.breadcrumb span{color:#b4b8ac;margin:0 15px}.breadcrumb strong{letter-spacing:0;font-weight:400}.top-actions{align-items:center;gap:21px;display:flex}.language{white-space:nowrap;font-size:11px}.language small{color:#969e91;margin-left:5px;font-size:9px}.text-button{color:var(--muted);padding:3px 0;font-size:11px}.save-button{border:1px solid #879783;border-radius:4px;align-items:center;gap:22px;padding:10px 14px;font-size:11px;display:flex}.save-button:hover{background:#e9ede2}.save-button span{font-size:16px}main{max-width:1800px;margin:0 auto;padding:32px 34px 20px}.section-top{margin:0 0 27px}.lead{max-width:710px;margin-top:12px;font-size:12px;line-height:1.7}.model-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.source-stats{flex-shrink:0;gap:26px;padding-bottom:3px;display:flex}.source-stats>span{color:var(--muted);flex-direction:column;font-size:9px;display:flex}.source-stats strong{color:var(--ink);font-size:24px;font-weight:400;line-height:1.2}.page-footer{color:#8b9385;letter-spacing:.5px;justify-content:space-between;gap:16px;padding:19px 34px 25px;font-size:9px;display:flex}.model-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:22px;display:grid}.viewer-panel{background:#efefe6;border:1px solid #d4d8cb;border-radius:7px;min-width:0;overflow:hidden}.viewer-toolbar{background:#f9f8f3;border-bottom:1px solid #d9dccf;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.segmented{background:#e9eadf;border-radius:4px;flex-wrap:wrap;gap:3px;width:max-content;max-width:100%;padding:3px;display:flex}.segmented button{border-radius:3px;padding:8px 13px;font-size:11px;line-height:1.2}.segmented button[aria-pressed=true]{background:#fffef8;box-shadow:0 1px 3px #243c3012}.icon-button{color:#52664f;width:32px;height:32px;font-size:23px;line-height:1}.canvas-wrap{background:#e8e8df;height:clamp(350px,44vw,575px);position:relative;overflow:hidden}#viewer{touch-action:none;width:100%;height:100%}#viewer canvas{touch-action:none;width:100%;height:100%;display:block}.canvas-label{letter-spacing:1.1px;pointer-events:none;color:#66705f;align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;top:19px;left:20px}.canvas-label i{background:#4f6c48;border-radius:50%;width:5px;height:5px;display:inline-block}.canvas-label span{letter-spacing:0;color:#8a9180;font-size:9px}.view-controls{background:#f7f7eee6;border:1px solid #cad0c1;border-radius:4px;gap:2px;padding:3px;display:flex;position:absolute;top:14px;right:14px}.view-controls button{border-radius:2px;padding:5px 9px;font-size:10px}.view-controls button[aria-pressed=true]{background:#dce3d3}.canvas-hint{text-align:center;color:#7e8974;pointer-events:none;font-size:9px;position:absolute;bottom:13px;left:0;right:0}.touch-hint{display:none}.loading{border:1px solid var(--border);text-align:center;background:#fbfbf0df;border-radius:6px;max-width:85%;padding:16px 22px;font-size:12px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.loading.error{color:#95523c}.measure-result{white-space:nowrap;background:#fff8e8;border:1px solid #cfa66b;border-radius:4px;padding:8px 14px;font-size:12px;position:absolute;bottom:37px;left:50%;transform:translate(-50%)}.model-tools{border-top:1px solid var(--border);background:#f9f8f3;padding:12px 15px}.tool-buttons{flex-wrap:wrap;gap:4px;display:flex}.tool-buttons button{border-radius:3px;align-items:center;gap:7px;padding:7px 9px;font-size:10px;display:flex}.tool-buttons button span{font-size:16px}.tool-buttons button[aria-pressed=true]{color:#305038;background:#dae4d3}.layer-controls{border-top:1px solid #e5e6dc;flex-wrap:wrap;align-items:center;gap:17px;margin-top:15px;padding-top:12px;display:flex}.layer-controls label{white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.layer-controls input[type=checkbox]{accent-color:#426347;margin:0}.wall-slider{flex:1;min-width:200px}.wall-slider input{accent-color:#536b48;flex:1;width:80px;min-width:45px}.wall-slider output{text-align:right;font-variant-numeric:tabular-nums;width:38px}.scan-caption{color:#85806b;background:#f1efe3;border-top:1px solid #dedfce;gap:9px;padding:13px 16px;font-size:9px;line-height:1.7;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:5px}.amber{background:#b49456}.inspector{scrollbar-width:thin;border-top:2px solid #52664c;max-height:900px;padding:18px 0 0;overflow:auto}.inspector-heading{margin-bottom:15px}.inspector-heading h2{margin:0}.small-tag{white-space:nowrap;border:1px solid #cbd0c2;border-radius:3px;padding:2px 7px;font-size:9px}.inspector h2{margin-bottom:14px;font-size:24px}.muted{color:var(--muted);font-size:11px}.small-copy{margin:9px 0 15px;font-size:10px;line-height:1.75}.tiny-copy{margin:7px 0 15px;font-size:9px;line-height:1.65}.evidence-tag{color:#55714b;letter-spacing:.6px;background:#e3e9dc;border-radius:3px;padding:4px 7px;font-size:8px;display:inline-block}.evidence-tag.reconstructed{color:#947340;background:#eae1cf}.zone-metrics{gap:16px;padding:18px 0;display:flex}.zone-metrics>div{flex-direction:column;gap:5px;display:flex}.zone-metrics small{color:var(--muted);font-size:9px}.zone-metrics strong{font-size:21px;font-weight:400}.zone-metrics strong small{font-size:12px}.field-label{color:#697660;margin-top:17px;font-size:10px;display:block}.field-label input,.field-label textarea,.field-label select{width:100%;margin-top:7px}input:not([type=range]):not([type=checkbox]),select,textarea{color:var(--ink);background:#fffef8;border:1px solid #d0d6c7;border-radius:4px;min-width:0;padding:9px 10px;font-size:12px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9b9e92;font-size:10px}.zone-list{margin-top:24px}.zone-list h3{color:#64765b;margin-bottom:10px;font-size:12px}.zone-list>button{text-align:left;border-bottom:1px solid #dfe2d7;align-items:center;gap:9px;width:100%;padding:10px 5px;font-size:11px;display:flex}.zone-list>button>span{color:#9aa68f;min-width:17px;font-size:9px}.zone-list>button>small{color:#7c8970;white-space:nowrap;margin-left:auto;font-size:9px}.zone-list>button[aria-pressed=true]{background:#e2e8d8}.zone-list>button.recon-zone{color:#9b7648;background:#f0e9dc}.inspector-photos{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:18px;display:grid}.inspector-photos button{border-radius:4px;padding:0;overflow:hidden}.inspector-photos img{object-fit:cover;width:100%;height:95px;transition:transform .2s}.inspector-photos button:hover img{transform:scale(1.04)}.source-file{color:#8f9886;border-top:1px solid var(--border);margin:20px 0;padding-top:15px;font-size:9px}.source-file code{font-size:9px}.routes-list{margin-top:19px;font-size:10px}.routes-list summary{cursor:pointer}.routes-list>div{border-bottom:1px solid var(--border);justify-content:space-between;padding:10px 0;display:flex}.routes-list small{color:var(--muted);font-size:9px;display:block}.recon-settings{margin:16px 0;font-size:10px}.recon-settings summary{cursor:pointer}.recon-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.recon-fields label{color:#78806f;font-size:9px}.recon-fields input{width:100%;margin-top:4px}.text-link{color:#547044;border-bottom:1px solid #ccd4c0;margin-top:14px;padding:0 0 3px;font-size:11px;display:inline-block}.text-link:hover{color:#1f3927}.reference-strip{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;margin-top:23px;padding-top:19px;display:flex}.reference-strip>div{flex:1;min-width:220px}.reference-strip h3{color:#7b8570;font-size:11px;font-weight:400}.reference-strip .text-link{white-space:nowrap;margin-top:0}.mode-help,.route-tools{background:#edf0e2;padding:12px 16px;font-size:10px}.route-tools p{margin-bottom:10px;font-size:10px}.route-controls{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.route-controls select{font-size:10px}.primary,.secondary{border-radius:4px;padding:10px 14px;font-size:11px}.primary{color:#f1f3e8;background:#35533c}.primary:hover{background:#263f2d}.secondary{color:#54634a;background:#f9fbf2;border:1px solid #bfc8b4}.variants{margin-bottom:25px}.variants button{padding:11px 22px}.system-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:30px;display:grid}.system-board{border:1px solid var(--border);background:#fdfcf7;border-radius:7px;min-width:0;padding:24px}.board-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;display:flex}.legend{color:#809076;align-items:center;gap:7px;font-size:9px;display:flex}.legend i{border-radius:50%;width:5px;height:5px;margin-left:5px}.cold-dot{background:var(--cold)}.hot-dot{background:var(--hot)}.water-sources{justify-content:center;align-items:center;display:flex}.source-node{background:#eeefe6;border:1px solid #dde0d2;border-radius:5px;width:45%;max-width:240px;padding:19px}.source-node.active{background:#f5f7ef;border-color:#c0d0ba}.source-node h3{font-size:13px}.source-node p{margin:5px 0 14px;font-size:9px}.node-symbol{color:var(--cold);margin-bottom:9px;font-size:25px;line-height:1;display:inline-block}.node-symbol.heat{color:var(--hot)}.source-link{background:#d9ded2;width:10%;height:3px;position:relative}.source-link.flow{background:var(--cold)}.source-link>span{color:var(--cold);font-size:16px;position:absolute;top:-12px;right:0}.switch-row{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;font-size:10px;display:flex}.toggle{background:#d3d8c8;border-radius:8px;width:28px;min-width:28px;height:16px;padding:2px;display:inline-block}.toggle:before{content:"";background:#fffef8;border-radius:50%;width:12px;height:12px;transition:transform .15s;display:block;box-shadow:0 1px 3px #25341a20}.toggle.on{background:#6d8d65}.toggle.on:before{transform:translate(12px)}.supply-spine{background:#d6dccc;width:2px;height:42px;margin:0 auto}.supply-spine.flow{background:#91ac91}.water-branches{border-top:2px solid #a3b79d;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:25px;display:grid;position:relative}.water-branches.individual{grid-template-columns:repeat(3,minmax(0,1fr))}.branch{position:relative}.branch:before{content:"";background:#b7c7ae;width:2px;height:25px;position:absolute;top:-25px;left:50%}.branch>.switch-row{background:#e7ecdd;border-radius:4px;gap:5px;min-height:45px;padding:10px 8px;font-size:9px}.branch-points{flex-direction:column;gap:10px;padding-top:18px;display:flex}.tap-node{background:#eef2e6;border:1px solid #d5dfcb;border-radius:4px;flex-direction:column;gap:6px;min-height:93px;padding:11px;display:flex}.tap-node .tap-label{font-size:10px}.tap-node small{color:#7e8d73;font-size:8px}.pipe-pair{gap:4px;display:flex}.pipe-pair i{background:var(--cold);border-radius:2px;width:21px;height:3px}.pipe-pair i+i{background:var(--hot)}.tap-node.cold .pipe-pair i+i{background:#c9d1c0}.tap-node.none{color:#99a18f;background:#efefe9;border-color:#dedfd7}.tap-node.none .pipe-pair i{background:#c9d1c0}.board-footnote{border-top:1px solid var(--border);margin-top:30px;padding-top:17px;font-size:10px;line-height:1.7}.system-aside{padding-top:0}.variant-letter{color:#a9b19b;margin-bottom:16px;font-family:PT Serif,serif;font-size:65px;line-height:1;display:block}.system-aside h2{margin-bottom:15px;font-size:29px}.system-aside p{font-size:11px;line-height:1.8}.system-aside h3{margin-bottom:8px;font-size:12px}.system-aside>.primary{margin-top:24px;display:block}.note-box{background:#ecebdc;border-left:2px solid #b5a77c;margin-top:23px;padding:16px}.note-box h3{font-size:11px}.note-box p{margin-top:7px;font-size:10px}.cooling-group{border-bottom:1px solid #e4e5da;align-items:center;gap:0;padding:22px 0;display:flex}.cooling-group:last-child{border-bottom:0}.outdoor-unit{background:#eef2e5;border:1px solid #cad5bf;border-radius:5px;flex-shrink:0;align-items:center;gap:11px;width:180px;padding:14px 12px;display:flex}.outdoor-unit small{color:#748465;font-size:8px}.outdoor-unit h3{margin-bottom:6px;font-size:10px}.fan{color:#6e8562;font-size:31px;line-height:1}.fan.spinning{animation:14s linear infinite spin}.is-failed .outdoor-unit{background:#efe9df;border-color:#d4c8b4}.is-failed .fan{color:#ad956e}.mini-button{color:#778867;padding:0;font-size:8px;text-decoration:underline}.cooling-connect{background:#a4b896;flex:1;min-width:20px;max-width:45px;height:2px}.is-failed .cooling-connect{background:#cfc8b5}.connected-rooms{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.room-unit{text-align:center;background:#e8efdd;border:1px solid #cfddc3;border-radius:5px;min-width:60px;padding:12px 5px}.room-unit>span{font-family:PT Serif,serif;font-size:24px;display:block}.room-unit>small{color:#6e8260;font-size:8px;display:block}.room-unit.waiting{color:#a48a59;background:#f2ecdf;border-color:#dacfaf}.room-unit.waiting>small{color:#9a8b68}.room-unit.off{color:#a2a996;background:#f0f0e9;border-color:#e0e1d6}.room-unit.off>small{color:#9ca68e}.power-floor{margin-top:19px}.power-floor h4{justify-content:space-between;margin-bottom:10px;font-size:10px;display:flex}.power-floor h4 span{color:#819172;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid label{color:#7c896f;font-size:9px}.form-grid input{width:100%;margin-top:4px}.power-result{margin-top:11px;font-size:10px}.power-result strong{font-size:14px;font-weight:600}.power-result>span{color:#718367;margin-top:3px;font-size:9px;display:block}.power-result.over>span{color:#ac694c}.power-track{background:#dde3d3;height:3px;margin-top:9px}.power-track i{background:#73935f;height:100%;display:block}.power-result.over .power-track i{background:#bf7f57}.archive-controls{flex-wrap:wrap;align-items:center;gap:17px;margin-bottom:27px;display:flex}.search-field{flex:1;align-items:center;gap:10px;min-width:210px;display:flex}.search-field span{color:#8a9a7b;font-size:23px}.search-field input{width:100%;max-width:340px;background:0 0!important;border-width:0 0 1px!important;border-radius:0!important;padding-left:0!important}.archive-controls select{min-width:190px}.archive-controls>span{font-size:10px}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px;display:grid}.photo-card{text-align:left;min-width:0;padding:0}.photo-image{background:#e4e5d9;border-radius:4px;height:200px;position:relative;overflow:hidden}.photo-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.photo-image>span{opacity:0;background:#fffbedda;border-radius:50%;place-items:center;width:29px;height:29px;transition:opacity .2s;display:grid;position:absolute;bottom:10px;right:10px}.photo-card:hover .photo-image img{transform:scale(1.04)}.photo-card:hover .photo-image>span{opacity:1}.photo-card-caption{flex-direction:column;gap:3px;padding-top:10px;display:flex}.photo-card-caption strong{font-size:11px;font-weight:600}.photo-card-caption small{color:#959f88;overflow-wrap:anywhere;font-size:9px}#measure-explainer{margin:0 0 24px}#photo-dialog{color:#f0f2e8;background:#1e2b24;border:0;border-radius:6px;width:min(1100px,95vw);max-width:95vw;height:min(92vh,950px);max-height:94vh;padding:40px 28px 18px;overflow:auto}#photo-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#18241be8}#photo-content{flex-direction:column;height:calc(100% - 65px);min-height:100px;display:flex}.large-photo{object-fit:contain;width:100%;height:100%;min-height:0}.dialog-close{color:#e7eddf;width:32px;height:32px;font-size:27px;position:absolute;top:6px;right:13px}.dialog-controls{justify-content:space-between;align-items:center;gap:20px;padding-top:15px;display:flex}.dialog-controls>button{color:#e8eddf;border:1px solid #647458;border-radius:50%;flex-shrink:0;width:36px;height:36px}#photo-caption{text-align:center;min-width:0}#photo-caption strong{font-size:12px;font-weight:400;display:block}#photo-caption span{color:#b3bfa4;overflow-wrap:anywhere;font-size:9px;display:block}.measure-photo-note{flex-shrink:0;align-items:center;gap:12px;margin-top:10px;font-size:10px;display:flex}.measure-photo-note input{flex:1}.budget-banner{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:#7a866e;justify-content:space-between;gap:20px;margin:5px 0 24px;padding:16px 0;font-size:11px;display:flex}.budget-banner strong{color:#546b45;font-weight:400}.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.quote-card{border:1px solid var(--border);background:#fbfaf4;border-radius:5px;padding:23px}.quote-card.chosen{background:#f4f6eb;border-color:#92a47e}.quote-card h2{margin-bottom:10px;font-size:25px}.quote-card>p{min-height:38px;font-size:11px}.quote-card .field-label{font-size:10px}.choose-quote{border-top:1px solid #d9dfcc;justify-content:space-between;width:100%;margin-top:20px;padding:13px 0 0;font-size:11px;display:flex}.choose-quote[aria-pressed=true]{color:#5a7a42}.budget-total{background:#e1e8d6;border-radius:5px;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:25px;display:flex}.budget-total h2{font-size:24px}.budget-total>strong{text-align:right;max-width:300px;font-size:21px;font-weight:400}.brief-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:40px;margin-top:32px;padding-top:25px;display:grid}.brief-grid h3{margin-bottom:10px;font-size:13px}.brief-grid p{font-size:11px;line-height:1.8}.empty-state{color:var(--muted);grid-column:1/-1;padding:40px}.startup-error{max-width:600px;margin:100px auto;padding:30px}.startup-error p{margin:20px 0}#toast{color:#eff3e5;opacity:0;pointer-events:none;z-index:100;background:#2e4933;border-radius:5px;max-width:90vw;padding:12px 22px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}#toast.visible{opacity:1;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1600px){main{padding-left:50px;padding-right:50px}.model-layout,.system-layout{grid-template-columns:minmax(0,1fr) 320px}.canvas-wrap{height:610px}.photo-image{height:240px}}@media (width<=1200px){.sidebar{width:185px;padding:26px 12px 18px}.workspace{margin-left:185px}.topbar{padding:0 23px}.top-actions{gap:12px}.import-button{display:none}main{padding:26px 23px}.model-layout,.system-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.model-heading{align-items:flex-start}.source-stats{display:none}.floor-tabs button{padding:8px;font-size:10px}.inspector h2{font-size:22px}.canvas-label span{display:none}.system-board{padding:18px}.outdoor-unit{gap:8px;width:140px;padding:11px 8px}.fan{font-size:26px}.connected-rooms{gap:6px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-aside h2{font-size:26px}}@media (width<=980px){.model-layout{grid-template-columns:minmax(0,1fr)}.inspector{columns:2;column-gap:30px;max-height:none;display:block}.inspector>*{break-inside:avoid}.inspector-heading,.inspector>h2{column-span:all}.inspector-photos{margin-top:0}.canvas-wrap{height:490px}.system-layout{grid-template-columns:minmax(0,1fr)}.system-aside{max-width:700px;display:block}.variant-letter{float:left;margin-right:24px}.system-aside h2{padding-top:6px}.system-aside hr{clear:both}.water-branches.individual{grid-template-columns:repeat(5,minmax(0,1fr))}.outdoor-unit{width:210px}.connected-rooms{display:flex}.room-unit{flex:1}.cooling-connect{min-width:45px}.photo-image{height:190px}.language small{display:none}}@media (width<=720px){.sidebar{background:#263a30;width:100%;padding:16px 19px;display:block;position:relative}.brand{font-size:14px}.brand-mark{width:34px;height:37px;font-size:27px;line-height:34px}.brand small{font-size:8px}.sidebar-bottom{display:none}.sidebar nav{scrollbar-width:none;border-top:0;gap:6px;margin-top:20px;padding-top:0;display:flex;overflow-x:auto}.nav-item{flex-shrink:0;gap:7px;width:auto;margin:0;padding:9px 11px;font-size:10px}.nav-icon{width:15px;font-size:16px}.nav-item small{display:none}.workspace{margin-left:0}.topbar{gap:8px;height:59px;padding:0 19px}.breadcrumb{letter-spacing:.4px;font-size:9px}.breadcrumb span{margin:0 8px}.top-actions{gap:10px}.language{font-size:9px}.save-button{gap:8px;padding:7px 9px;font-size:9px}main{padding:24px 19px}.section-top{margin-bottom:22px}h1{letter-spacing:-.7px;font-size:32px}.lead{font-size:11px;line-height:1.8}.canvas-wrap{height:430px}.viewer-toolbar{padding:9px}.floor-tabs button{padding:8px;font-size:9px}.inspector{columns:initial}.inspector-photos{grid-template-columns:repeat(4,1fr);margin-top:16px}.inspector-photos img{height:75px}.zone-list{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.zone-list h3{grid-column:1/-1}.layer-controls{gap:12px}.layer-controls label{font-size:9px}.desktop-hint{display:none}.touch-hint{display:block}.canvas-label{font-size:8px;left:13px}.view-controls{top:10px;right:10px}.model-tools{padding:10px 12px}.tool-buttons button{font-size:9px}.reference-strip{gap:18px}.reference-strip>div{flex-basis:100%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.photo-image{height:210px}.archive-controls{gap:12px}.archive-controls select{min-width:0;max-width:230px}.search-field{flex-basis:100%}.photo-card-caption strong{font-size:10px}.photo-card-caption small{font-size:8px}.system-board{padding:18px 14px}.board-heading{gap:12px;margin-bottom:24px}.water-sources .source-node{padding:13px 10px}.source-node h3{font-size:11px}.source-node p{font-size:8px}.source-node .switch-row{font-size:9px}.water-branches.individual{grid-template-columns:repeat(3,minmax(0,1fr))}.water-branches{gap:10px}.branch>.switch-row{padding:8px 5px;font-size:8px}.tap-node{padding:9px 7px}.tap-node .tap-label{font-size:9px}.outdoor-unit{width:160px}.cooling-connect{min-width:19px}.room-unit{min-width:50px;padding:10px 4px}.room-unit>span{font-size:20px}.room-unit>small{font-size:7px}.connected-rooms{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-grid{gap:15px}.quote-card{padding:17px}.quote-card h2{font-size:21px}.quote-card>p{min-height:60px;font-size:10px}.budget-total{flex-direction:column;align-items:flex-start;gap:15px;padding:20px}.budget-total>strong{text-align:left;font-size:20px}.brief-grid{gap:25px}.page-footer{padding:16px 19px 22px;font-size:8px}.recon-fields{grid-template-columns:repeat(3,1fr)}.variants button{padding:10px 14px;font-size:10px}.budget-banner{flex-wrap:wrap;gap:5px;font-size:10px}.measure-photo-note{display:block}.measure-photo-note input{width:100%;margin-top:5px}.dialog-controls{gap:12px}#photo-dialog{padding:40px 12px 15px}.import-button{display:none}}@media (width<=420px){main{padding:23px 13px}.topbar{padding:0 13px}.breadcrumb{font-size:8px}.language{display:none}h1{font-size:29px}.canvas-wrap{height:365px}.floor-tabs{gap:0}.floor-tabs button{padding:8px 6px;font-size:8px}.view-controls button{padding:5px 6px;font-size:8px}.canvas-label{font-size:7px;top:18px}.quote-grid{grid-template-columns:1fr}.quote-card>p{min-height:0}.photo-image{height:175px}.brief-grid,.zone-list{grid-template-columns:1fr}.recon-fields{grid-template-columns:repeat(2,1fr)}.connected-rooms{gap:4px}.cooling-connect{min-width:12px}.outdoor-unit{gap:7px;width:137px}.room-unit{min-width:40px}.room-unit>small{font-size:7px}.fan{font-size:24px}.outdoor-unit h3{font-size:9px}.water-branches,.water-branches.individual{grid-template-columns:1fr 1fr}.source-node h3{font-size:10px}.switch-row,.legend{font-size:8px}.page-footer{gap:8px;font-size:7px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.section-glyph{color:#718369;flex-shrink:0;width:28px;height:28px;display:block}.section-glyph--water{color:var(--cold)}.section-glyph--cooling{color:#628574}.section-glyph--budget{color:#a08461}.page-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:26px;margin-bottom:26px;padding:3px 0 25px;display:flex}.heading-main{align-items:flex-start;gap:20px;min-width:0;display:flex}.heading-main>.section-glyph{width:44px;height:44px;margin-top:4px}.heading-copy{min-width:0}.page-heading>.text-link{flex-shrink:0;margin:0}.graphic-heading{align-items:center;gap:13px;min-width:0;display:flex}.board-title{font-family:Manrope,sans-serif;font-size:14px;font-weight:600;line-height:1.4}.board-heading{border-bottom:1px solid var(--border);gap:14px;margin-bottom:26px;padding-bottom:18px}.quote-heading{align-items:flex-start;gap:13px;margin-bottom:13px;display:flex}.quote-heading>.section-glyph{margin-top:4px}.quote-heading h2{flex:1;min-width:0;margin:0;font-size:24px}.quote-heading>strong{color:#819276;border-left:1px solid var(--border);padding-left:12px;font-family:PT Serif,serif;font-size:32px;font-weight:400;line-height:1.1}.budget-total .graphic-heading{gap:17px}.budget-total .section-glyph{width:32px;height:32px}@media (width<=980px){.quote-heading h2{font-size:22px}}@media (width<=720px){.page-heading{flex-wrap:wrap;gap:16px;padding:0 0 20px}.heading-main{gap:12px}.heading-main>.section-glyph{width:30px;height:30px;margin-top:3px}.page-heading>.text-link{margin-left:42px}.quote-heading{gap:10px}.quote-heading>.section-glyph{width:23px;height:23px}.quote-heading h2{font-size:21px}.quote-heading>strong{padding-left:9px;font-size:26px}.board-title{gap:10px;font-size:12px}.board-title .section-glyph{width:23px;height:23px}}.ph-icon{vertical-align:middle;fill:currentColor;flex:none;width:28px;height:28px;display:inline-block}.section-glyph{stroke:none;fill:currentColor;width:48px;height:48px}.nav-icon{place-items:center;width:40px;height:40px;display:grid}.nav-icon .ph-icon{width:34px;height:34px}.nav-item{gap:14px;min-height:68px}.nav-item small{margin-left:auto}.top-actions{gap:16px}.language-switch{white-space:nowrap;border:1px solid var(--border);border-radius:8px;align-items:center;gap:3px;padding:4px;display:flex}.language-switch>.ph-icon{width:26px;height:26px;margin:0 6px}.language-switch button{font:inherit;color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:38px;padding:9px 10px;font-size:12px}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.top-actions .save-button,.top-actions .import-button{align-items:center;gap:8px;display:flex}.top-actions .ph-icon{width:26px;height:26px}.icon-button{place-items:center;min-width:44px;min-height:44px;display:inline-grid}.icon-button .ph-icon,.dialog-close .ph-icon{width:30px;height:30px}.tool-buttons button{align-items:center;gap:8px;display:flex}.tool-buttons .ph-icon{width:30px;height:30px}.search-field>.ph-icon{width:28px;height:28px}.photo-image>.ph-icon{background:var(--paper);box-sizing:content-box;border-radius:50%;padding:5px;position:absolute;bottom:14px;right:14px}.project-footer{border-top:1px solid var(--border);margin:56px 34px 0;padding:34px 0 0}.footer-heading{align-items:center;gap:18px;margin-bottom:22px;display:flex}.footer-heading>.ph-icon{width:40px;height:40px;color:var(--green)}.footer-heading h2{margin:0 0 5px;font-family:PT Serif,serif;font-size:25px;font-weight:400}.footer-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.footer-materials{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.footer-materials button{text-align:left;border:1px solid var(--border);color:var(--ink);background:0 0;border-radius:8px;align-items:center;gap:14px;min-height:100px;padding:20px 16px;display:flex}.footer-materials button:hover{background:#e8ebdf;border-color:#7e927a}.footer-materials button>.ph-icon:first-child{width:40px;height:40px;color:var(--green)}.footer-materials button>.ph-icon:last-child{width:24px;height:24px;margin-left:auto}.footer-materials span{gap:6px;display:grid}.footer-materials strong{font-size:14px;font-weight:600}.footer-materials small{color:var(--muted);font-size:11px}.footer-documents{flex-wrap:wrap;gap:16px 25px;padding:25px 0;display:flex}.footer-documents a{color:var(--muted);align-items:center;gap:10px;font-size:12px;text-decoration:none;display:inline-flex}.footer-documents a:hover{color:var(--ink)}.footer-documents .ph-icon{width:28px;height:28px}.project-footer .page-footer{margin:0;padding:20px 0}.dialog-controls button{place-items:center;min-width:44px;min-height:44px;display:grid}.source-node>.ph-icon{width:42px;height:42px}.fan .ph-icon{width:46px;height:46px}.source-link>.ph-icon{width:32px;height:32px}@media (width<=1150px){.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:77px;padding-top:16px;padding-bottom:16px}.top-actions{flex-wrap:wrap;gap:8px}.language-switch button{padding:8px}.footer-materials{grid-template-columns:1fr}.footer-materials button{min-height:80px}.footer-materials small{font-size:12px}}@media (width<=760px){.topbar{padding:16px}.top-actions{justify-content:space-between;width:100%}.top-actions .save-button,.top-actions .import-button{font-size:11px}.language-switch{justify-content:center;width:100%;margin-bottom:5px}.language-switch button{min-width:100px}.project-footer{margin:30px 18px 0;padding-top:25px}.footer-heading h2{font-size:23px}.section-glyph{width:40px;height:40px}.nav-item{gap:8px;min-height:60px}.nav-item .ph-icon{width:30px;height:30px}.nav-icon{width:32px;height:32px}.footer-documents{gap:18px;display:grid}.footer-materials button{padding:18px}.footer-heading{align-items:flex-start}.heading-main{gap:14px}}.text-link,.scan-back button,.network-heading>a,.network-side-actions button,.network-detail-actions button,.snapshot-actions a,.assembly-bottom .primary,.house-water-shortcut{align-items:center;gap:9px;display:inline-flex}@media (width<=720px){.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;overflow:visible}.nav-item{white-space:normal;text-align:center;flex-direction:column;gap:4px;width:100%;min-width:0;padding:10px 4px;font-size:11px;line-height:1.4}.nav-item .nav-icon{width:36px;height:36px}.nav-item .ph-icon{width:34px;height:34px}}.model-immersive .sidebar{display:none}.model-immersive .workspace{margin-left:0}.model-immersive main{max-width:none;padding:0}.model-immersive .topbar{z-index:40;background:0 0;border:0;height:auto;min-height:0;padding:0;position:absolute;top:18px;left:auto;right:22px}.model-immersive .breadcrumb,.model-immersive .top-actions>.save-button,.model-immersive .top-actions>.import-button{display:none}.model-immersive .top-actions{gap:0;width:auto}.model-immersive .language-switch{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafaf3ed;border:1px solid #d2d8ca;border-radius:12px;width:auto;margin:0;padding:4px;box-shadow:0 5px 22px #243c2410}.model-immersive .language-switch button{border-radius:8px;min-width:44px;min-height:44px;padding:8px 10px;font-size:12px}.model-immersive .language-switch>.ph-icon{width:25px;height:25px;margin:0 5px}.immersive-viewer{isolation:isolate;height:100dvh;min-height:360px;position:relative}.immersive-viewer #house-stage{border:0;width:100%;height:100%}.immersive-viewer .floating-surface{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafaf3ed;border:1px solid #d2d8ca;border-radius:12px;box-shadow:0 5px 22px #243c2410}.immersive-viewer .viewer-top-left{z-index:15;align-items:center;gap:10px;display:flex;position:absolute;top:18px;left:22px}.immersive-viewer .viewer-project-menu{position:relative}.immersive-viewer .viewer-project-menu>summary{cursor:pointer;letter-spacing:1px;align-items:center;gap:9px;height:46px;padding:0 14px;font-size:12px;list-style:none;display:flex}.immersive-viewer .viewer-project-menu>summary::-webkit-details-marker{display:none}.immersive-viewer .viewer-project-menu .ph-icon{width:28px;height:28px}.immersive-viewer .viewer-menu-items{background:#fafaf5;border:1px solid #d2d8ca;border-radius:12px;width:266px;padding:8px;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 12px 35px #243c2424}.immersive-viewer .viewer-menu-items button{text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px;font-size:12px;display:flex}.immersive-viewer .viewer-menu-items button:hover{background:#e9eee1}.immersive-viewer .viewer-menu-items hr{margin:6px 10px}.immersive-viewer .viewer-floor-control{align-items:center;gap:8px;min-height:48px;padding:0 12px;display:flex}.immersive-viewer .viewer-floor-control>.ph-icon{width:28px;height:28px}.immersive-viewer .viewer-floor-control select{color:#35503f;cursor:pointer;background-color:#0000;border:0;width:162px;min-height:44px;padding:0 20px 0 2px;font-size:12px}.immersive-viewer .house-planbar{z-index:15;flex-wrap:nowrap;gap:3px;width:max-content;max-width:calc(100% - 40px);padding:6px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.immersive-viewer .house-planbar button{color:#63745b;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:10px 14px;font-size:12px;display:flex}.immersive-viewer .house-planbar button[aria-pressed=true]{color:#fffef1;background:#345440}.immersive-viewer .house-planbar .ph-icon{width:30px;height:30px}.immersive-viewer .viewer-tools{z-index:15;gap:2px;padding:6px;display:flex;position:absolute;bottom:24px;right:22px}.immersive-viewer .viewer-tools button{color:#556c50;border-radius:8px;place-items:center;width:46px;height:50px;display:grid}.immersive-viewer .viewer-tools button[aria-expanded=true]{color:#fffef1;background:#345440}.immersive-viewer .viewer-tools .ph-icon{width:28px;height:28px}.immersive-viewer .viewer-materials{z-index:15;color:#63745b;align-items:center;gap:10px;min-height:64px;padding:14px;font-size:12px;display:flex;position:absolute;bottom:24px;left:22px}.immersive-viewer .viewer-materials .ph-icon{width:28px;height:28px}.immersive-viewer .viewer-wall-height{z-index:15;color:#35503f;flex-direction:column;align-items:center;gap:5px;width:80px;padding:12px 8px;display:flex;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.immersive-viewer .viewer-wall-height label{text-align:center;cursor:pointer;max-width:64px;font-size:12px;line-height:1.45}.immersive-viewer .viewer-wall-height button{border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.immersive-viewer .viewer-wall-height button:hover:not(:disabled){background:#e3e9d9}.immersive-viewer .viewer-wall-height button:active:not(:disabled){background:#d1dec6}.immersive-viewer .viewer-wall-height .ph-icon{width:26px;height:26px}.immersive-viewer .viewer-wall-height input{writing-mode:vertical-lr;appearance:auto;accent-color:#35543f;cursor:ns-resize;touch-action:none;direction:rtl;width:44px;height:154px;margin:0}.immersive-viewer .viewer-wall-height output{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:24px}.immersive-viewer .house-orbit-hint{color:#788571;font-size:10px;bottom:105px;left:24px}.immersive-viewer .viewer-drawer{z-index:25;overscroll-behavior:contain;scrollbar-width:thin;background:#fafaf5f5;width:365px;padding:20px;position:absolute;top:82px;bottom:110px;right:22px;overflow:auto;box-shadow:0 12px 40px #243c2426}.immersive-viewer .viewer-drawer-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.immersive-viewer .viewer-drawer-heading h2{font-size:25px}.immersive-viewer .viewer-drawer-heading>button{background:#edf0e5;border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.immersive-viewer .viewer-drawer-heading .ph-icon{width:26px;height:26px}.immersive-viewer .viewer-drawer>h3{color:#74826a;font-size:12px}.immersive-viewer .house-layerbar{border:0;grid-template-columns:1fr;gap:0;padding:10px 0 18px;display:grid}.immersive-viewer .house-layerbar>span{display:none}.immersive-viewer .house-layerbar label{cursor:pointer;gap:10px;min-height:44px;font-size:12px}.immersive-viewer .house-layerbar input{width:16px;height:16px;margin:0}.immersive-viewer .house-cut-control{border-top:1px solid #d5dcca;padding:18px 0;font-size:12px;display:block}.immersive-viewer .house-cut-control label{grid-template-columns:1fr auto;gap:12px;display:grid}.immersive-viewer .house-cut-control input{grid-area:2/1/auto/-1;width:100%}.immersive-viewer .house-cut-control>span{margin-top:10px;font-size:10px;line-height:1.6;display:block}.immersive-viewer .house-plan-options{background:0 0;border-top:1px solid #d5dcca;border-bottom:0;gap:14px;padding:18px 0;display:grid}.immersive-viewer .house-plan-options label{gap:7px;font-size:12px;display:grid}.immersive-viewer .house-plan-options select{width:100%;max-width:none;padding:10px;font-size:12px}.immersive-viewer .house-plan-options>span{font-size:10px;line-height:1.7;display:block}.immersive-viewer .viewer-camera-tools{border-top:1px solid #d5dcca;grid-template-columns:1fr 1fr;gap:8px;padding-top:20px;display:grid}.immersive-viewer .viewer-camera-tools button{border:1px solid #cad4bd;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:8px;font-size:11px;display:flex}.immersive-viewer .viewer-camera-tools .ph-icon{width:26px;height:26px}.immersive-viewer .viewer-model-note{color:#8b937d;margin-top:20px;font-size:10px;line-height:1.8}.immersive-viewer .viewer-detail-tabs{background:#e9eddf;border-radius:9px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.immersive-viewer .viewer-detail-tabs button{border-radius:6px;flex:1;min-height:42px;font-size:12px}.immersive-viewer .viewer-detail-tabs button[aria-selected=true]{background:#fafbf4;box-shadow:0 2px 5px #243c2410}.immersive-viewer .house-inspector{border:0;padding:0;display:block}.immersive-viewer .house-inspector h2{font-size:24px}.immersive-viewer .house-inspector .section-glyph{width:34px;height:34px}.immersive-viewer .house-room-list{border-top:1px solid #dedfcf;margin:24px 0 0;padding:19px 0 0;display:block}.immersive-viewer .house-room-list button{min-height:44px;font-size:12px}.immersive-viewer .house-room-list summary{padding:8px 0;font-size:12px}.immersive-viewer .network-panel{border:0;margin:0;padding:0}.immersive-viewer .network-heading{display:block}.immersive-viewer .network-heading h2{font-size:24px}.immersive-viewer .network-heading p{font-size:11px;line-height:1.7}.immersive-viewer .network-heading>a{margin-top:10px;font-size:11px;display:inline-block}.immersive-viewer .network-floor-tabs button{min-height:44px}.immersive-viewer .network-content{background:0 0;border:0;display:block}.immersive-viewer .network-list{border:0;border-radius:8px;max-height:200px;padding:10px}.immersive-viewer .network-detail{padding:22px 0 0}.immersive-viewer .network-metrics{gap:10px}.immersive-viewer .network-metrics>div{min-width:120px}.immersive-viewer .network-steps li{grid-template-columns:18px 66px 1fr;gap:6px;font-size:10px}.immersive-viewer #house-focus-banner{z-index:14;border-radius:10px;max-width:min(560px,100% - 44px);bottom:104px;left:50%;transform:translate(-50%)}.immersive-viewer #house-focus-banner button{min-width:36px;min-height:36px}.back-to-house{align-items:center;gap:10px;min-height:44px;margin-bottom:24px;font-size:12px;display:inline-flex}.back-to-house .ph-icon{width:28px;height:28px}.model-immersive .project-footer{background:#f7f7ef;margin:0;padding:35px max(24px,50vw - 625px) 0}@media (width<=1050px){.immersive-viewer .viewer-tools{bottom:108px}.immersive-viewer .viewer-materials{min-height:48px;padding:10px;bottom:108px}.immersive-viewer .viewer-materials span,.immersive-viewer .house-orbit-hint{display:none}.immersive-viewer .viewer-drawer{bottom:184px}}@media (width<=760px){.model-immersive .topbar{top:12px;right:12px}.model-immersive .language-switch>.ph-icon{display:none}.model-immersive .language-switch button{min-width:0;padding:8px;font-size:11px}.immersive-viewer .viewer-top-left{align-items:flex-start;gap:8px;top:12px;left:12px}.immersive-viewer .viewer-project-menu>summary{justify-content:center;width:46px;padding:9px}.immersive-viewer .viewer-project-menu>summary span{display:none}.immersive-viewer .viewer-floor-control{gap:5px;min-height:46px;padding:0 10px;position:absolute;top:62px;left:0}.immersive-viewer .viewer-floor-control select{width:150px;font-size:11px}.immersive-viewer .viewer-menu-items{z-index:1}.immersive-viewer .house-planbar{gap:2px;width:calc(100% - 24px);max-width:420px;padding:5px;bottom:18px}.immersive-viewer .house-planbar button{white-space:nowrap;flex-direction:column;flex:1 1 0;gap:5px;min-width:0;min-height:65px;padding:8px 3px;font-size:10px}.immersive-viewer .house-planbar .ph-icon{width:30px;height:30px}.immersive-viewer .viewer-tools{flex-direction:column;gap:1px;padding:4px;top:74px;bottom:auto;right:12px}.immersive-viewer .viewer-tools button{width:44px;height:44px}.immersive-viewer .viewer-materials{min-height:48px;padding:9px;bottom:110px;left:12px}.immersive-viewer .viewer-wall-height{gap:3px;width:66px;padding:10px 4px;left:12px}.immersive-viewer .viewer-wall-height input{height:134px}.immersive-viewer .viewer-drawer{border-radius:14px;width:auto;max-height:min(55dvh,490px);padding:16px;inset:auto 12px 110px}.immersive-viewer .viewer-drawer-heading{margin-bottom:16px}.immersive-viewer .viewer-drawer-heading h2{font-size:24px}.immersive-viewer .house-detail-photos img{height:80px}.immersive-viewer #house-focus-banner{max-width:calc(100% - 100px);font-size:10px;bottom:108px}.model-immersive .project-footer{padding:26px 20px 0}}@media (height<=580px){.immersive-viewer .viewer-materials{display:none}.immersive-viewer .viewer-wall-height{grid-template-rows:auto 1fr 1fr auto;grid-template-columns:44px 44px;justify-content:center;gap:3px;width:108px;padding:8px;display:grid;top:80px;bottom:108px;transform:none}.immersive-viewer .viewer-wall-height label{grid-column:1/-1;max-width:none}.immersive-viewer .viewer-wall-height button{grid-column:1;align-self:center;display:grid}.immersive-viewer .viewer-wall-height button[data-wall-step="0.1"]{grid-row:2}.immersive-viewer .viewer-wall-height button[data-wall-step="-0.1"]{grid-row:3}.immersive-viewer .viewer-wall-height input{grid-area:2/2/4;align-self:stretch;height:100%;min-height:60px}.immersive-viewer .viewer-wall-height output{text-align:center;grid-area:4/1/auto/-1;line-height:20px}.immersive-viewer .viewer-drawer{max-height:none;top:78px;bottom:18px}.immersive-viewer .viewer-drawer-heading{z-index:2;background:#fafaf5;margin-top:-10px;padding-top:10px;padding-bottom:8px;position:sticky;top:-20px}}@media (prefers-reduced-transparency:reduce){.immersive-viewer .floating-surface,.model-immersive .language-switch{background:#fafaf3}}.assembly-layout{grid-template-columns:minmax(0,1fr) 254px;align-items:start;gap:24px;display:grid}.assembly-viewer{background:#faf9f3;border:1px solid #d4d6cb;border-radius:7px;overflow:hidden;box-shadow:0 8px 35px #34443305}.assembly-toolbar{border-bottom:1px solid #d9dbd0;justify-content:space-between;align-items:center;gap:8px;padding:13px 12px;display:flex}.assembly-presets{flex-wrap:wrap;gap:2px;display:flex}.assembly-presets button{color:#69755f;border-radius:4px;padding:8px 10px;font-size:10px}.assembly-presets button[aria-pressed=true]{color:#fff9ed;background:#2e493b}.assembly-toolbar>.icon-button{flex-shrink:0}#house-stage{background:#e9e9df;height:clamp(510px,66vh,760px);position:relative;overflow:hidden}#house-canvas,#house-canvas canvas{touch-action:none;width:100%;height:100%;display:block}#house-canvas{position:absolute;inset:0}#house-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.house-label{color:#334c40;pointer-events:auto;white-space:nowrap;background:#fffdf0ed;border:1px solid #c5c9b5;border-radius:3px;padding:5px 8px;font-size:9px;position:absolute;top:0;left:0;box-shadow:0 2px 7px #172d1810}.house-label.wet{background:#f0f9f5ee;border-color:#7fa5a8}.house-label.selected{color:#fff;background:#2e493b}.house-annotation{letter-spacing:1.3px;color:#65745e;pointer-events:none;font-size:9px;position:absolute;top:20px;left:18px}.house-annotation i{background:#79926b;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.house-annotation span{letter-spacing:0;color:#919582;margin-left:5px;font-size:9px}.house-orbit-hint{color:#7e8b74;pointer-events:none;font-size:9px;position:absolute;bottom:15px;left:20px}.house-canvas-actions{gap:5px;display:flex;position:absolute;top:12px;right:13px}.house-canvas-actions button{background:#fafbf2bf;border:1px solid #cbd2c0;border-radius:4px;padding:8px 10px;font-size:9px}.house-compass{color:#88977e;letter-spacing:1px;pointer-events:none;flex-direction:column;align-items:center;font-size:7px;display:flex;position:absolute;bottom:40px;right:18px}.house-compass i{font-size:27px;font-style:normal}#house-loading{color:#62765b;background:#e9e9df;place-items:center;display:grid;position:absolute;inset:0}#house-loading[hidden]{display:none}.house-layerbar{border-top:1px solid #d9dbd0;flex-wrap:wrap;align-items:center;gap:17px;padding:17px 18px;display:flex}.house-layerbar>span{color:#98a08b;font-size:10px}.house-layerbar label{color:#4b614e;align-items:center;gap:6px;font-size:10px;display:flex}.house-layerbar input{accent-color:#426149}.line-key{vertical-align:middle;border-radius:2px;width:18px;height:3px;display:inline-block}.line-key.cold{background:#268fcb}.line-key.hot{background:#d66c49}.house-cut-control{color:#62765b;flex-wrap:wrap;align-items:center;gap:12px;padding:4px 18px 17px;font-size:10px;display:flex}.house-cut-control[hidden]{display:none}.house-cut-control label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.house-cut-control input{accent-color:#496449;width:135px}.house-cut-control>span{color:#909a84;font-size:9px}.house-source-caption{background:#eeede2;border-top:1px solid #dbddcc;align-items:baseline;gap:10px;padding:11px 17px;display:flex}.house-source-caption p{color:#8a8c79;font-size:10px;line-height:1.7}.house-inspector{border-top:2px solid #6f7b60;padding-top:20px}.house-inspector h2{margin:0;font-size:27px}.house-inspector>.panel-heading{margin-bottom:18px}.house-summary{gap:25px;margin:21px 0;display:flex}.house-summary span{color:#939c84;flex-direction:column;gap:4px;font-size:9px;display:flex}.house-summary strong{color:#516347;font-family:PT Serif,serif;font-size:29px;font-weight:400}#house-selection p{font-size:11px;line-height:1.8}.house-water-shortcut{text-align:left;background:#eaf0e1;border:1px solid #bfcbb5;border-radius:4px;width:100%;margin-top:17px;padding:12px;font-size:10px}.house-water-shortcut .line-key{width:12px;margin-right:4px}.house-material-swatches{flex-wrap:wrap;align-items:center;gap:5px;margin:23px 0;display:flex}.house-material-swatches i{border:1px solid #67795c29;border-radius:50%;width:14px;height:14px}.house-material-swatches span{color:#8b967e;width:100%;margin-top:4px;font-size:9px;display:block}.house-room-list{border-top:1px solid #dedfcf;margin-top:24px;padding-top:19px}.house-room-list h3{color:#63745a;align-items:center;gap:12px;margin-bottom:13px;font-size:12px;display:flex}.house-room-list h3:after{content:"";background:#d8dece;flex:1;height:1px}.house-room-list details{border-bottom:1px solid #dedfcf;padding:8px 0}.house-room-list summary{color:#53674b;cursor:pointer;padding:3px 0;font-size:11px}.house-room-list button{border-radius:3px;justify-content:space-between;gap:8px;width:100%;padding:8px 3px;font-size:10px;display:flex}.house-room-list button:hover{background:#e5eada}.house-room-list button small{color:#97a18b;font-size:8px}.house-assumptions{margin-top:20px}.house-assumptions summary{cursor:pointer;color:#788969;font-size:10px}.house-assumptions p{margin-top:12px;font-size:10px;line-height:1.8}.house-evidence{color:#9b845d;background:#eee8d8;border-radius:2px;margin-bottom:10px;padding:4px 7px;font-size:9px;display:inline-block}.house-room-dim{border-bottom:1px solid #dcdfcf;justify-content:space-between;align-items:center;margin:7px 0;padding:14px 0;display:flex}.house-room-dim span{color:#8d987f;font-size:9px}.house-room-dim strong{font-size:13px;font-weight:400}.house-detail-photos{grid-template-columns:repeat(3,1fr);gap:6px;margin:15px 0 7px;display:grid}.house-detail-photos button{padding:0}.house-detail-photos img{object-fit:cover;border-radius:3px;width:100%;height:77px}.assembly-bottom{border-top:1px solid #d7dccc;grid-template-columns:1.6fr 1fr;gap:55px;margin-top:32px;padding-top:25px;display:grid}.assembly-bottom>.graphic-heading{align-items:flex-start}.assembly-bottom h3{margin:12px 0;font-family:PT Serif,serif;font-size:23px;font-weight:400}.assembly-bottom p{font-size:11px;line-height:1.8}.assembly-bottom .primary{margin-top:18px;font-size:11px}.house-downloads{flex-direction:column;align-items:flex-start;gap:12px;padding-top:3px;display:flex}.house-downloads a{border-bottom:1px solid #b9c6ac;padding-bottom:4px;font-size:11px;text-decoration:none}.house-downloads p{color:#89967d;margin-top:7px;font-size:10px}.scan-back{justify-content:space-between;margin-bottom:20px;display:flex}.scan-back button{color:#507347;font-size:11px}.scan-back>span{color:#8b967e;font-size:10px}@media (width>=1650px){.assembly-layout{grid-template-columns:minmax(0,1fr) 300px}.assembly-presets button{font-size:12px}.house-layerbar label{font-size:11px}.house-label{font-size:10px}}@media (width<=1150px){.assembly-layout{grid-template-columns:minmax(0,1fr)}.house-inspector{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.house-inspector>.panel-heading{grid-column:1/-1}.house-room-list{border:0;grid-area:2/2/4;margin:0;padding:0}.house-assumptions{grid-column:1}.house-annotation span{display:none}#house-stage{height:600px}}@media (width<=720px){.assembly-toolbar{padding:8px}.assembly-presets button{padding:8px;font-size:9px}.assembly-presets{gap:2px}#house-stage{height:480px}.house-annotation{font-size:8px;top:19px;left:12px}.house-canvas-actions{gap:4px;right:8px}.house-canvas-actions button{padding:7px;font-size:8px}.house-layerbar{gap:12px;padding:14px 12px}.house-layerbar label{font-size:9px}.house-layerbar>span{display:none}.house-orbit-hint{max-width:70%;font-size:8px;left:12px}.house-label{padding:4px 6px;font-size:8px}.house-inspector{display:block}.house-room-list{margin-top:24px}.house-source-caption p{font-size:9px}.assembly-bottom{grid-template-columns:1fr;gap:26px}.house-detail-photos img{height:105px}.house-cut-control{padding:3px 12px 14px;font-size:9px}}#house-image-dialog{background:#f6f5ed;border:0;border-radius:7px;width:min(1100px,94vw);max-width:94vw;max-height:94vh;padding:16px}#house-image-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#182a22ca}#house-image-preview{object-fit:contain;width:100%;max-height:78vh;display:block}.snapshot-actions{justify-content:space-between;align-items:center;padding:0 2px 13px;font-size:12px;display:flex}.snapshot-actions a{color:#fff;background:#365541;border-radius:4px;padding:9px 14px;text-decoration:none}.snapshot-actions button{padding:8px}.house-planbar{background:#f5f5ec;border-bottom:1px solid #d9dbd0;flex-wrap:wrap;gap:4px;padding:10px 12px;display:flex}.house-planbar button{color:#6b7863;border:1px solid #0000;border-radius:4px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;display:flex}.house-planbar button[aria-pressed=true]{color:#314d3b;background:#fffdf5;border-color:#bbc8af}.house-planbar .section-glyph{width:19px;height:19px}.plan-combined{width:19px;font-size:21px;line-height:19px}.house-plan-options{background:#f8f8f0;border-bottom:1px solid #d9dbd0;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 17px;display:flex}.house-plan-options label{color:#75816d;align-items:center;gap:7px;font-size:10px;display:flex}.house-plan-options select{padding:6px 8px;font-size:10px}.house-plan-options>span{color:#8d987f;font-size:9px}.line-key.ac{background:#8064aa}.line-key.drain{background:#698660}.house-plan-summary{border-top:1px solid #d1dac7;margin-top:22px;padding-top:17px}.house-plan-summary h3{margin-bottom:12px;font-size:13px}.house-plan-summary p{margin-top:9px;font-size:10px;line-height:1.75}.house-plan-summary .line-key{width:13px;margin-right:3px}.house-plan-summary ul{color:#677d5c;margin:9px 0;padding-left:16px;font-size:10px;line-height:1.9}.house-plan-summary .plan-note{color:#8b927d;font-size:9px}#house-plan-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.house-plan-label{white-space:nowrap;color:#675081;pointer-events:auto;background:#f7f0ffe8;border:1px solid #bcaacc;border-radius:3px;padding:4px 7px;font-size:9px;position:absolute;top:0;left:0;box-shadow:0 2px 6px #24321b0a}.house-plan-label.collector{color:#3c7380;background:#eef8f5ed;border-color:#91b4b7}.house-plan-label.indoor{padding:3px 5px;font-size:8px}.house-layerbar{gap:13px}@media (width>=721px) and (width<=1150px){.house-plan-summary{grid-column:1}.house-room-list{grid-row:2/5}}@media (width<=720px){.house-planbar{gap:2px;padding:7px}.house-planbar button{gap:4px;padding:6px;font-size:9px}.house-planbar .section-glyph{width:16px;height:16px}.house-plan-options{gap:9px;padding:10px}.house-plan-options label{font-size:9px}.house-plan-options select{max-width:165px;font-size:9px}.house-plan-options>span{display:none}.house-plan-label{font-size:8px}.house-plan-summary{margin-top:18px}}.network-panel{border-top:2px solid #64775d;margin-top:28px;padding-top:23px}.network-panel[hidden]{display:none}.network-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.network-heading h2{margin:0 0 8px;font-family:PT Serif,serif;font-size:27px;font-weight:400}.network-heading p{max-width:650px;font-size:11px;line-height:1.8}.network-heading>a{white-space:nowrap;color:#49614a;font-size:11px}.network-floor-tabs{flex-wrap:wrap;gap:6px;margin:21px 0 17px;display:flex}.network-floor-tabs button{border:1px solid #c6cfbb;border-radius:4px;padding:9px 16px;font-size:11px}.network-floor-tabs button[aria-pressed=true]{color:#fffcef;background:#35513f;border-color:#35513f}.network-content{background:#fbfaf3;border:1px solid #d0d7c3;border-radius:6px;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);display:grid;overflow:hidden}.network-list{background:#f0f1e7;border-right:1px solid #d0d7c3;max-height:595px;padding:16px;overflow:auto}.network-list-caption{color:#7c8b70;margin:0 0 12px;font-size:10px}.network-list>button{text-align:left;border-bottom:1px solid #dce0d1;border-radius:3px;align-items:center;gap:10px;width:100%;padding:11px 8px;display:flex}.network-list>button:hover{background:#e3e9d9}.network-list>button[aria-pressed=true]{background:#dbe6d0;box-shadow:inset 3px 0 #526f42}.network-list>button>span:nth-child(2){flex:1}.network-list strong{font-size:11px;font-weight:600;line-height:1.5;display:block}.network-list small{color:#839077;margin-top:3px;font-size:9px;display:block}.network-list>button>span:last-child{color:#87957c;font-size:11px}.node-code{color:#346c7a;background:#e7f0ef;border:1px solid #8db0bc;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;min-height:28px;padding:5px;font-size:10px;display:inline-flex}.node-code.cooling{color:#705584;background:#eee8f3;border-color:#b4a2c5}.network-detail{padding:24px 28px}.network-detail-title{align-items:flex-start;gap:12px;margin-bottom:17px;display:flex}.network-detail-title>div{flex:1}.network-detail-title h3{margin:0 0 4px;font-family:PT Serif,serif;font-size:24px;font-weight:400;line-height:1.3}.network-detail-title p{color:#829071;font-size:10px}.network-detail-title>button{color:#7c8b70;padding:0 5px;font-size:22px;line-height:1}.network-detail>p{font-size:11px;line-height:1.9}.network-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.network-detail-actions>button{background:#f0f3e7;border:1px solid #c4d0b9;border-radius:4px;padding:8px 10px;font-size:10px}.network-detail-actions label{align-items:center;gap:6px;font-size:10px;display:flex}.network-detail-actions input{accent-color:#44633d}.network-metrics{border-block:1px solid #d7deca;flex-wrap:wrap;gap:24px;margin:16px 0 10px;padding:14px 0;display:flex}.network-metrics>div{flex:1;gap:5px;min-width:140px;display:grid}.network-metrics span{align-items:center;gap:6px;font-size:10px;display:flex}.network-metrics strong{font-family:PT Serif,serif;font-size:25px;font-weight:400}.network-metrics small{color:#8a967d;font-size:9px}.network-detail .network-length-note{color:#87947a;font-size:9px;line-height:1.8}.network-steps{counter-reset:route;margin:21px 0;padding:0;list-style:none}.network-steps li{counter-increment:route;border-bottom:1px solid #e0e4d6;grid-template-columns:22px 84px 1fr;align-items:baseline;gap:8px;padding:10px 0;font-size:11px;line-height:1.8;display:grid}.network-steps li:before{content:counter(route);color:#839776;font-family:PT Serif,serif;font-size:17px}.network-steps button{text-align:left;color:#4d714a;text-underline-offset:3px;font-size:10px;text-decoration:underline}.network-note{color:#7c8268;background:#eeedde;border-left:2px solid #a3a27c;padding:12px 14px}.network-empty{padding:18px 0}.network-empty h3{margin:18px 0;font-family:PT Serif,serif;font-size:27px;font-weight:400}.network-empty p{margin:10px 0;font-size:11px;line-height:1.9}.network-route-glyph{color:#5c835b;letter-spacing:10px;font-size:36px}#house-node-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.network-node-label{pointer-events:auto;color:#2b6b7b;white-space:nowrap;background:#f3fbf7;border:1px solid #7cabb9;border-radius:12px;min-width:28px;padding:4px 7px;font-size:9px;position:absolute;top:0;left:0;box-shadow:0 2px 5px #18352013}.network-node-label.cooling{color:#75518d;background:#f6effb;border-color:#ac93c1}.network-node-label.drain{color:#5a744c;background:#f0f6e8;border-color:#8baf7e}.network-node-label.selected{color:#fffde9;z-index:2;background:#335141;border-color:#335141;box-shadow:0 0 0 3px #f4f5da90}.network-node-label:after{content:"";opacity:.6;background:currentColor;width:1px;height:7px;position:absolute;top:100%;left:50%}#house-focus-banner{color:#465d41;background:#fffdf1ee;border:1px solid #bfcbae;border-radius:4px;align-items:center;gap:15px;max-width:calc(100% - 80px);padding:8px 10px;font-size:10px;display:flex;position:absolute;bottom:41px;left:16px;box-shadow:0 3px 12px #183a1710}#house-focus-banner[hidden]{display:none}#house-focus-banner b{margin-right:6px}#house-focus-banner button{font-size:18px;line-height:1}.network-panel button:focus-visible,.network-node-label:focus-visible{outline-offset:3px;outline:2px solid #5d8862}@media (width<=720px){.network-heading{display:block}.network-heading h2{font-size:26px}.network-heading>a{margin-top:10px;display:inline-block}.network-content{grid-template-columns:1fr}.network-list{border-bottom:1px solid #cfd8c1;border-right:0;max-height:230px;padding:12px}.network-detail{padding:20px 16px}.network-detail-title h3{font-size:23px}.network-metrics{gap:15px}.network-metrics>div{min-width:115px}.network-floor-tabs{gap:5px}.network-floor-tabs button{padding:8px 10px;font-size:10px}.network-steps li{grid-template-columns:18px 66px 1fr;gap:6px;font-size:10px}.network-steps button{font-size:9px}.network-node-label{padding:3px 5px;font-size:8px}#house-focus-banner{max-width:calc(100% - 58px);font-size:9px;bottom:45px;left:10px}}.network-node-label.transfer{color:#596e4c;background:#f5f6e9;border-color:#9cab89;border-radius:3px;padding:4px 7px;font-size:8px}.network-node-label.transfer.selected{color:#49643d;background:#e6eddb}.network-side-metrics{border-block:1px solid #d5ddc7;margin:16px 0;padding:8px 0}.network-side-metrics strong{margin-left:20px;font-family:PT Serif,serif;font-size:25px;font-weight:400;display:block}.network-side-actions{gap:7px;margin-top:15px;display:grid}.network-side-actions button{text-align:left;background:#f1f4e7;border:1px solid #c4cfb6;border-radius:4px;padding:9px;font-size:10px}.network-side-actions button:last-child{background:0 0;border-color:#0000;padding-inline:0}.house-planbar .ph-icon{stroke:none;fill:currentColor;width:30px;height:30px}.house-planbar button{gap:10px;min-height:48px}.house-canvas-actions button{align-items:center;gap:6px;min-height:42px;display:flex}.house-canvas-actions .ph-icon{width:24px;height:24px}.house-compass>.ph-icon{width:30px;height:30px;margin-top:8px;display:block}.house-planbar .plan-combined{display:none}.assembly-bottom{grid-template-columns:1fr}.network-route-glyph.ph-icon{stroke:none;width:52px;height:52px}.network-list button>.ph-icon{width:26px;height:26px}.network-detail-title>button{place-items:center;min-width:44px;min-height:44px;display:grid}.network-detail-title>button .ph-icon{width:28px;height:28px}.snapshot-actions button{align-items:center;gap:8px;display:inline-flex}.house-room-list button small .ph-icon{width:24px;height:24px}.house-focus-banner button{min-width:40px;min-height:40px}.house-source-caption{line-height:1.6}@media (width<=760px){.house-planbar{flex-wrap:wrap}.house-planbar button{flex:42%;justify-content:flex-start}.assembly-presets,.house-plan-options{flex-wrap:wrap}.house-plan-options label{flex:45%;min-width:0}.house-plan-options select{max-width:100%}.house-plan-options>span{flex-basis:100%}.house-canvas-actions .ph-icon{width:22px;height:22px}}
