:root{--ink:#202722;--muted:#6c716b;--paper:#f7f4ee;--line:#e5e0d7;--pine:#345b4c;--pine-dark:#254438;--sand:#e8dfce;--orange:#dc7856}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{color:#ecf0e9;background:#1e3029;flex-direction:column;width:232px;padding:30px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:-1px;align-items:center;gap:8px;margin:0 13px 46px;font-size:24px;font-weight:700;text-decoration:none;display:flex}.brand span span{color:#a7c8a2}.brand-mark{font-size:31px;font-weight:400}.sidebar nav{gap:7px;display:grid}.nav-item,.help-button{color:#b7c4ba;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:12px 13px;font:500 14px DM Sans}.nav-item span{width:28px;font-size:18px;display:inline-block}.nav-item.active,.nav-item:hover{color:#fff;background:#375448}.sidebar-bottom{margin-top:auto}.help-button{width:100%;margin-bottom:17px}.help-button:first-letter{border:1px solid #94a59a;border-radius:50%;margin-right:9px;padding:0 4px}.profile{border-top:1px solid #50665b;align-items:center;gap:10px;padding:17px 7px 0;font-size:13px;display:flex}.profile strong,.profile small{display:block}.profile small{color:#a9b8ae;margin-top:2px;font-size:11px}.profile>span{margin-left:auto}.avatar{color:#21342b;background:#d79a68;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}main{width:calc(100% - 232px);max-width:1600px;margin-left:232px;padding:0 44px 44px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;display:flex}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb b{color:#b3b4ae;padding:0 8px}.breadcrumb strong{color:var(--ink)}button{cursor:pointer;font-family:inherit}.top-actions{gap:10px;display:flex}.ghost-button,.primary-button,.outline-button{border-radius:7px;padding:10px 15px;font-size:13px;font-weight:600}.ghost-button{color:var(--ink);background:0 0;border:1px solid #cfcac0}.primary-button{background:var(--pine);border:1px solid var(--pine);color:#fff}.workspace-header{justify-content:space-between;align-items:end;padding:36px 0 28px;display:flex}.eyebrow,.section-label{letter-spacing:1px;color:#768077;margin:0 0 8px;font:500 10px DM Mono}.workspace-header h1{letter-spacing:-1.1px;margin:0;font:600 34px Fraunces,serif}.subhead{color:var(--muted);margin:7px 0 0;font-size:13px}.mode-switch{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px}.mode{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:8px 14px;font-size:12px}.mode.active{background:var(--pine);color:#fff}.content-grid{grid-template-columns:minmax(580px,1fr) 270px;gap:18px;display:grid}.drawing-card,.inspector,.journey-card{border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:0 1px 1px #dbd4c722}.drawing-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;height:52px;padding:9px 12px;display:flex}.tool-group,.zoom{gap:3px;display:flex}.tool,.zoom button{color:#4d554d;background:#fff;border:1px solid #0000;border-radius:5px;min-width:32px;height:32px;font-size:17px}.tool:hover,.tool.selected{color:var(--pine);background:#edf2ed;border-color:#c8d4c9}.zoom{border:1px solid var(--line);border-radius:6px;align-items:center;padding:0 3px}.zoom button{height:26px}.zoom span{text-align:center;width:41px;font:11px DM Mono}.drawing-wrap{background:#fcfbf8;height:520px;position:relative;overflow:hidden}.drawing-wrap svg{transform-origin:50%;width:100%;height:100%;transition:transform .25s}.north{z-index:1;color:#778078;text-align:center;font:11px DM Mono;position:absolute;top:18px;left:19px}.north span{color:var(--pine);font-size:19px;line-height:19px;display:block}.outer-wall{fill:#fff;stroke:#26372f;stroke-width:9px;stroke-linejoin:round}.room rect{fill:#faf8f4;stroke:#26372f;stroke-width:3px}.room:first-child rect{fill:#edf2ed}.room:nth-child(2) rect{fill:#f8eee2}.room:nth-child(5) rect{fill:#f3f0ea}.room:nth-child(6) rect{fill:#eaf0ef}.room text,.room small{text-anchor:middle;pointer-events:none}.room text{fill:#39443c;font:600 15px DM Sans}.room small{fill:#7d857d;font:11px DM Mono}.room.selected rect{fill:#dae9db;stroke:#c86446;stroke-width:4px}.windows path{stroke:#79a8be;stroke-width:7px}.doors path{fill:none;stroke:#8d8e86;stroke-width:2px}.drawing-footer{border-top:1px solid var(--line);color:#6f756e;align-items:center;gap:15px;height:48px;padding:0 15px;font-size:10px;display:flex}.legend{vertical-align:middle;background:#26372f;width:15px;height:4px;margin-right:5px;display:inline-block}.legend.window{background:#79a8be}.legend.inferred{background:#e5bf75}.hint{color:#a3a69f;margin-left:auto}.inspector{height:max-content}.scan-card{background:#eef3eb;border-radius:9px 9px 0 0;align-items:center;gap:9px;padding:15px;display:flex}.scan-icon{width:31px;height:31px;color:var(--pine);background:#c6d9c4;border-radius:8px;place-items:center;font-size:20px;display:grid}.scan-card strong,.scan-card small{font-size:12px;display:block}.scan-card small{color:var(--muted);margin-top:2px;font-size:10px}.scan-card button{color:var(--pine);background:0 0;border:0;margin-left:auto;font-size:11px;font-weight:600}.inspector-section{border-bottom:1px solid var(--line);padding:19px 16px}.inspector-section:last-child{border:0}.inspector h2{margin:0 0 15px;font:600 20px Fraunces,serif}.property-row{color:var(--muted);border-top:1px solid #f0eee9;justify-content:space-between;padding:9px 0;font-size:12px;display:flex}.property-row strong{color:var(--ink)}select{color:#495149;background:#f1f0ec;border:0;border-radius:4px;padding:3px;font:11px inherit}.text-button{color:#c55f43;background:0 0;border:0;padding:10px 0 0;font-size:11px}.add-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.add-grid button{color:#4c554d;background:#fff;border:1px solid #dedbd4;border-radius:6px;padding:11px 5px;font-size:11px}.add-grid b{color:var(--pine);margin-bottom:2px;font-size:16px;display:block}.recommendation{background:#fcfbf8;justify-content:space-between;align-items:center;display:flex}.recommendation p:not(.section-label){color:#606961;margin:0;font-size:12px;line-height:1.45}.recommendation button{color:var(--pine);background:#fff;border:1px solid #bfcdbf;border-radius:5px;padding:7px;font-size:10px}.outline-button{border:1px solid var(--pine);color:var(--pine);background:#fff}.journey-card{background:#eff3ec;grid-template-columns:1.05fr 1.35fr auto;align-items:center;gap:26px;margin-top:18px;padding:25px;display:grid}.journey-card h2{margin:0;font:600 22px Fraunces,serif}.journey-copy>p:not(.section-label){color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.5}.journey-steps{grid-template-columns:1fr 1fr;gap:14px 19px;display:grid}.journey-steps div{grid-template-columns:24px 1fr;column-gap:7px;display:grid}.journey-steps i{width:22px;height:22px;color:var(--pine);border:1px solid #b7c8b9;border-radius:50%;grid-row:span 2;place-items:center;font:10px DM Mono;display:grid}.journey-steps b{font-size:12px}.journey-steps span{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.35}.vr-button{background:var(--pine);color:#fff;white-space:nowrap;border:0;border-radius:7px;padding:11px 13px;font-size:12px}.vr-button span{vertical-align:-1px;margin-right:5px;font-size:16px}.toast{opacity:0;color:#fff;pointer-events:none;background:#213c31;border-radius:6px;padding:11px 16px;font-size:13px;transition:all .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.visible{opacity:1;transform:translate(-50%)}dialog{border:0;border-radius:12px;width:min(440px,90vw);padding:28px;box-shadow:0 18px 50px #1c241c66}dialog::backdrop{background:#1b272055}.dialog-close{color:var(--muted);background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:13px}dialog h2{margin:0 0 20px;font:600 25px Fraunces,serif}@media (max-width:1050px){.journey-card{grid-template-columns:1fr}.vr-button{justify-self:start}}@media (max-width:900px){.sidebar{width:64px;padding:25px 8px}.brand{margin:0 8px 36px;font-size:0}.brand-mark{font-size:28px}.nav-item{padding:12px;font-size:0}.nav-item span{font-size:18px}.help-button span,.profile>div:not(.avatar),.profile>span{display:none}.profile{padding-left:8px}.sidebar-bottom{place-items:center;display:grid}.help-button{font-size:17px}main{width:calc(100% - 64px);margin-left:64px;padding:0 22px 22px}.content-grid{grid-template-columns:1fr}.inspector{grid-template-columns:1fr 1fr;display:grid}.scan-card{border-radius:9px 0 0 9px}.inspector-section{border-bottom:0;border-left:1px solid var(--line)}.recommendation{display:none}}@media (max-width:650px){main{padding:0 12px 20px}.topbar{height:62px}.workspace-header{padding:24px 0 18px}.workspace-header h1{font-size:28px}.mode-switch{display:none}.drawing-wrap{height:390px}.drawing-footer span:not(.hint){display:none}.hint{margin-left:0}.inspector{display:block}.inspector-section{border-left:0;border-bottom:1px solid var(--line)}.scan-card{border-radius:9px 9px 0 0}.journey-card{padding:19px}.journey-steps{grid-template-columns:1fr}}html,body{max-width:100%;overflow-x:hidden}main,.content-grid,.drawing-card,.inspector,.renovation-plan,.journey-card{min-width:0}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #e5bf75}@media (max-width:650px){.sidebar{width:56px;padding:18px 6px max(14px,env(safe-area-inset-bottom))}.brand{justify-content:center;margin:0 0 24px}.brand-mark{font-size:25px}.sidebar nav{gap:4px}.nav-item{place-items:center;min-height:44px;padding:8px;display:grid}.nav-item span{width:auto;font-size:19px}.help-button{min-height:44px;margin-bottom:10px}.profile{justify-content:center;padding:12px 0 0}main{width:calc(100% - 56px);margin-left:56px;padding:0 10px 18px}.topbar{gap:8px;height:auto;min-height:62px;padding:8px 0}.breadcrumb{white-space:nowrap;min-width:0}.breadcrumb span,.breadcrumb b{display:none}.top-actions{flex:none;gap:6px}.ghost-button,.primary-button,.outline-button{white-space:nowrap;min-height:44px;padding:9px 11px}.workspace-header{padding:20px 0 16px}.workspace-header h1{font-size:27px}.subhead{font-size:12px;line-height:1.45}.drawing-toolbar{grid-template-columns:1fr;gap:6px;height:auto;min-height:104px;padding:7px;display:grid}.tool-group{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.tool{width:100%;min-width:44px;height:44px}.zoom{justify-content:space-between;width:100%;padding:2px 4px}.zoom button{min-width:44px;height:40px}.zoom span{width:auto;min-width:48px}.drawing-wrap{height:340px}.drawing-footer{height:auto;min-height:44px;padding:10px 12px;line-height:1.4}.inspector{display:block}.scan-card{min-height:66px;padding:12px}.scan-card button{min-height:44px;padding:8px}.inspector-section{padding:18px 16px}.property-row{align-items:center;min-height:44px}select{min-height:36px;font-size:12px}.text-button{min-height:44px}.add-grid{gap:8px}.add-grid button{min-height:72px;font-size:12px}.recommendation{gap:12px;display:flex}.recommendation button{min-height:44px;padding:8px 10px}.journey-card{gap:20px}.journey-steps{gap:16px}.vr-button{width:100%;min-height:44px}dialog{max-height:calc(100dvh - 24px);padding:22px 18px;overflow:auto}}.renovation-guide{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:18px;padding:25px;scroll-margin-top:16px;box-shadow:0 1px 1px #dbd4c722}.guide-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.guide-heading h2{margin:0;font:600 24px Fraunces,serif}.guide-heading>div>p:not(.section-label){color:var(--muted);margin:7px 0 0;font-size:12px}.country-field{color:var(--muted);letter-spacing:.6px;gap:5px;font:500 10px DM Mono;display:grid}.country-field select{border:1px solid var(--line);background:#faf9f6;min-width:130px;padding:8px 28px 8px 10px;font:600 12px DM Sans}.guide-actions{gap:8px;margin:20px 0 14px;padding-bottom:2px;display:flex;overflow-x:auto}.guide-action{color:#4d554d;white-space:nowrap;background:#fff;border:1px solid #d8d4cc;border-radius:999px;min-height:38px;padding:8px 13px;font-size:12px;font-weight:600}.guide-action.active{background:var(--pine);border-color:var(--pine);color:#fff}.guide-callout{background:#fbf5e7;border-left:4px solid #c79536;border-radius:8px;grid-template-columns:minmax(180px,.45fr) 1fr;align-items:center;gap:22px;padding:17px 18px;display:grid}.guide-callout[data-tone=warning]{background:#fbefeb;border-left-color:#c86446}.guide-callout[data-tone=info]{background:#eef5f6;border-left-color:#7097a8}.guide-status{color:#715520;letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px;font:500 9px DM Mono;display:inline-block}.guide-callout[data-tone=warning] .guide-status{color:#98492f}.guide-callout[data-tone=info] .guide-status{color:#436f81}.guide-callout h3{margin:0;font:600 19px Fraunces,serif}.guide-callout p{color:#4f584f;margin:0;font-size:12px;line-height:1.55}.guide-grid{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:14px;display:grid;overflow:hidden}.guide-grid article{background:#fff;padding:17px}.guide-grid article>p:not(.section-label),.guide-grid li{color:#596159;font-size:11px;line-height:1.5}.guide-grid article>p:not(.section-label){margin:0}.guide-grid ul{margin:0;padding-left:16px}.guide-grid li+li{margin-top:5px}.guide-footer{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:14px;display:flex}.guide-footer p{max-width:720px;color:var(--muted);margin:0;font-size:10px;line-height:1.5}.guide-footer strong{color:var(--ink)}#guideSources{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}#guideSources a{color:var(--pine);text-underline-offset:3px;font-size:10px;font-weight:600}.drawing-card,.renovation-plan,.renovation-guide,.journey-card{scroll-margin-top:16px}@media (max-width:1050px){.guide-grid{grid-template-columns:1fr 1fr}}@media (max-width:650px){.renovation-guide{padding:18px}.guide-heading{gap:14px;display:grid}.country-field select{min-height:44px}.guide-actions{grid-template-columns:1fr 1fr;margin-top:16px;display:grid;overflow:visible}.guide-action{width:100%;min-height:44px;padding-inline:9px}.guide-action:last-child{grid-column:1/-1}.guide-callout{grid-template-columns:1fr;gap:9px}.guide-grid{grid-template-columns:1fr}.guide-grid article{padding:16px}.guide-footer{display:grid}.guide-footer p{font-size:11px}#guideSources{justify-content:flex-start;gap:10px;display:grid}#guideSources a{font-size:11px}}.nav-item{text-decoration:none;display:block}.action-link{align-items:center;text-decoration:none;display:inline-flex}.breadcrumb a,.back-link{color:var(--pine);text-underline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-page{padding:36px 0}.project-hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.project-hero h1{letter-spacing:-1px;margin:0;font:600 34px Fraunces,serif}.project-hero p:not(.eyebrow){color:var(--muted);font-size:13px}.privacy-badge{color:var(--pine-dark);white-space:nowrap;background:#dcebdd;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}.cloud-status{min-height:20px;color:var(--pine);margin-bottom:8px;font-size:12px}.cloud-status.error{color:#a5422f}.cloud-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:24px;box-shadow:0 1px 1px #dbd4c722}.cloud-card h2,.project-toolbar h2{margin:0 0 8px;font:600 24px Fraunces,serif}.cloud-card h3{margin:0 0 8px;font:600 19px Fraunces,serif}.cloud-card>p:not(.section-label){color:var(--muted);font-size:12px;line-height:1.55}.setup-notice{border-left:4px solid #c79536}.auth-card{max-width:560px}.auth-card form{align-items:end;gap:10px;margin-top:18px;display:flex}.auth-card label,.measurement-form label{color:var(--muted);flex:1;gap:6px;font-size:11px;display:grid}.auth-card input,.project-toolbar input,.measurement-form input,.measurement-form select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d8d4cc;border-radius:7px;padding:9px 11px;font:13px DM Sans}.cloud-help{color:var(--muted);margin:14px 0 0;font-size:11px}.project-toolbar{justify-content:space-between;align-items:end;gap:20px;margin:4px 0 18px;display:flex}.project-toolbar form,.project-actions{gap:9px;display:flex}.project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.project-tile{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:20px;text-decoration:none;transition:all .2s;display:block}.project-tile:hover{border-color:#9bb3a3;transform:translateY(-1px)}.project-tile strong,.project-tile small{display:block}.project-tile strong{font:600 18px Fraunces,serif}.project-tile small{color:var(--muted);margin-top:8px;font-size:11px}.project-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pairing-card img{width:180px;height:180px;margin:18px auto 10px;display:block}.pairing-card #pairingResult{text-align:center}.pairing-card #pairingCode{letter-spacing:4px;font:600 28px DM Mono;display:block}.pairing-card #pairingExpiry{color:var(--muted);margin-top:5px;font-size:10px;display:block}.cloud-empty{color:var(--muted);border:1px dashed #cdc8be;border-radius:8px;padding:18px;font-size:12px}.scan-row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;display:flex}.scan-row:first-child{border-top:0}.scan-status{color:var(--pine);font-weight:700}.danger-button{color:#a5422f;background:#fff;border:1px solid #d7a092;border-radius:7px;padding:10px 15px;font-weight:600}.model-review{margin-top:16px}.model-review svg{border:1px solid var(--line);background:#fbfaf7;border-radius:8px;width:100%;height:auto;max-height:430px;margin:18px 0;display:block}.measurement-form{grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.version-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;font-size:11px;display:flex}@media (max-width:900px){.project-list{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.measurement-form{grid-template-columns:1fr 1fr}.measurement-form button{min-height:44px}}@media (max-width:650px){.project-page{padding:22px 0}.project-hero,.project-toolbar{align-items:start;display:grid}.project-hero h1{font-size:28px}.privacy-badge{justify-self:start}.auth-card form,.project-toolbar form,.project-actions{width:100%;display:grid}.project-list,.measurement-form{grid-template-columns:1fr}.version-footer{flex-direction:column;align-items:flex-start}.version-footer button{width:100%}}.measurement-list{border:1px solid var(--line);border-radius:8px;gap:0;margin-top:16px;padding:0 14px;display:grid}.measurement-list.cloud-empty{padding:16px}.measurement-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.measurement-row:first-child{border-top:0}.measurement-row strong,.measurement-row small{display:block}.measurement-row small{color:var(--muted);margin-top:3px;font-size:10px}.measurement-values{text-align:right}.measurement-values>strong{color:#2563a6}.account-summary{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.account-summary div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:16px}.account-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.account-summary dd{margin:5px 0 0;font-weight:700}.account-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.account-form{gap:12px;margin-top:18px;display:grid}.account-form label{color:var(--muted);gap:6px;font-size:11px;display:grid}.account-form input{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d8d4cc;border-radius:7px;padding:9px 11px;font:13px DM Sans}.account-danger{border-color:#dfb4aa}.account-deletion-dialog{width:min(560px,100% - 32px);color:var(--ink);border:0;border-radius:12px;padding:28px;box-shadow:0 20px 60px #1c2b2499}.account-deletion-dialog::backdrop{background:#17221dcc}.account-deletion-dialog h2{margin:0 0 14px;font:600 27px Fraunces,serif}.account-deletion-dialog li,.account-deletion-dialog p{font-size:12px;line-height:1.6}.account-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.account-receipt{max-width:680px}.account-receipt .primary-button{margin-top:12px}@media (max-width:760px){.account-summary,.account-grid{grid-template-columns:1fr}}.invite-registration{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.invite-registration summary{cursor:pointer;color:var(--pine);font-size:12px;font-weight:700}.invite-panel{grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:18px;display:grid}.invite-panel>button{grid-column:2}.invite-panel #inviteResult{background:#f4f7f2;border-radius:8px;grid-column:1/-1;padding:14px}.invite-panel #inviteCode{letter-spacing:3px;font:600 22px DM Mono;display:block}.invite-panel #inviteExpiry{color:var(--muted);margin-top:5px;font-size:10px;display:block}@media (max-width:650px){.measurement-row{flex-direction:column;align-items:flex-start}.measurement-values{text-align:left}.invite-panel{grid-template-columns:1fr}.invite-panel>button{grid-column:1;width:100%}.invite-panel #inviteResult{grid-column:1}.invite-panel #inviteCode{letter-spacing:2px;overflow-wrap:anywhere;font-size:17px}#workspace .topbar{justify-content:flex-end}#workspace .topbar .breadcrumb,#shareButton{display:none}#cloudWorkspace .breadcrumb{align-items:center;gap:8px;display:flex}}.tool-separator{background:var(--line);align-self:center;width:1px;height:24px;margin:4px 5px}.tool.editor-tool{font:600 12px DM Mono}.tool.active{color:var(--pine-dark);background:#dcebdd;border-color:#a9c2ae}.tool:disabled,.add-grid button:disabled{cursor:not-allowed;opacity:.38}.snap-badge{color:var(--pine);letter-spacing:.4px;border:1px solid #b7c9ba;border-radius:999px;padding:3px 7px;font:500 9px DM Mono;display:inline-block}.selection-editor{background:#f4f7f2;border:1px solid #dce6da;border-radius:7px;margin-top:12px;padding:12px}.selection-editor[hidden]{display:none}.selection-editor label{color:var(--muted);gap:6px;font-size:10px;display:grid}.selection-editor label>div{background:#fff;border:1px solid #cfd8cf;border-radius:6px;align-items:center;display:flex;overflow:hidden}.selection-editor input{width:100%;min-width:0;height:38px;color:var(--ink);border:0;outline:0;padding:8px 10px;font:600 14px DM Mono}.selection-editor em{color:var(--muted);padding:0 10px;font:11px DM Mono}.selection-editor button{width:100%;margin-top:8px}.selection-hint{color:var(--muted);margin:12px 0 0;font-size:10px;line-height:1.45}.drawing-wrap svg.editor-active,#floorplan{touch-action:none}.editor-canvas-bg{fill:#fcfbf8}.editor-grid-line{fill:none;stroke:#e9e4db;stroke-width:1px}.editor-original-layer line{stroke:#d3a950;stroke-width:4px;stroke-dasharray:7 7;opacity:.65;vector-effect:non-scaling-stroke}.editor-room-name,.editor-room-area{text-anchor:middle;pointer-events:none}.editor-room-name{fill:#59625b;font:600 13px DM Sans}.editor-room-area{fill:#8b918b;font:10px DM Mono}.editor-wall,.editor-opening,.editor-original-layer line,.editor-dimension-line,.editor-extension-line{vector-effect:non-scaling-stroke}.editor-wall-hit,.editor-opening-hit{stroke:#0000;stroke-width:24px;cursor:grab;pointer-events:stroke}.editor-wall-hit:active,.editor-opening-hit:active{cursor:grabbing}.editor-wall{stroke:#345b4c;stroke-width:9px;stroke-linecap:round;pointer-events:stroke}.editor-wall.confidence-medium{stroke:#c69538;stroke-dasharray:14 6}.editor-wall.confidence-low{stroke:#c65f49;stroke-dasharray:7 6}.editor-wall.selected{stroke:#11aeb1;stroke-width:12px}.editor-opening{stroke-width:12px;stroke-linecap:round;pointer-events:stroke}.editor-opening.door{stroke:#d17945}.editor-opening.window{stroke:#4b96bd}.editor-opening.opening{stroke:#7f8982}.editor-opening.selected{stroke:#14c9c5;stroke-width:15px}.editor-handle{fill:#fff;stroke:#13b8b6;stroke-width:4px;cursor:crosshair;vector-effect:non-scaling-stroke}.editor-extension-line{stroke:#67c9c4;stroke-width:1px;stroke-dasharray:3 3}.editor-dimension-line{stroke:#087e82;stroke-width:2px}.editor-dimension-bg{fill:#173f41}.editor-dimension-text{fill:#fff;text-anchor:middle;pointer-events:none;font:600 11px DM Mono}.editor-selection-layer{pointer-events:none}.editor-selection-layer .editor-handle{pointer-events:all}.room text.room-area{fill:#7d857d;font:11px DM Mono}@media (max-width:650px){.tool-separator{display:none}.tool-group{grid-template-columns:repeat(4,1fr)}.drawing-toolbar .zoom{justify-self:end}.selection-editor input{font-size:16px}}.renovation-plan{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:18px;padding:25px;box-shadow:0 1px 1px #dbd4c722}.renovation-plan [hidden]{display:none!important}.renovation-plan h2{margin:0;font:600 24px Fraunces,serif}.renovation-plan h3{margin:0 0 6px;font:600 18px Fraunces,serif}.plan-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.plan-version{color:var(--muted);overflow-wrap:anywhere;margin:7px 0 0;font-size:12px}.plan-pricebook{color:#715520;background:#fbf5e7;border-left:4px solid #c79536;border-radius:8px;max-width:300px;margin:0;padding:10px 12px;font-size:11px;font-weight:600;line-height:1.45}.plan-empty{background:#f7f9f5;border:1px dashed #c9d2c8;border-radius:10px;margin-top:18px;padding:22px}.plan-empty>p{max-width:640px;color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.55}.plan-empty>p.plan-sketch-note{color:#98492f;margin:14px 0 0}.plan-body{gap:16px;margin-top:18px;display:grid}.plan-rooms{flex-wrap:wrap;gap:8px;display:flex}.plan-room-button{min-width:150px;color:var(--ink);text-align:left;background:#fff;border:1px solid #d8d4cc;border-radius:9px;gap:2px;padding:10px 13px;display:grid}.plan-room-button strong{font-size:13px}.plan-room-button small{color:var(--muted);font-size:10px}.plan-room-button.active{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:#edf2ed}.plan-flag{color:#98492f;letter-spacing:.4px;text-transform:uppercase;background:#fbefeb;border-radius:999px;justify-self:start;margin-top:3px;padding:2px 7px;font:500 9px DM Mono}.plan-room-grid,.plan-bottom{grid-template-columns:1fr 1fr;gap:16px;display:grid}.plan-panel{border:1px solid var(--line);background:#fcfbf8;border-radius:9px;min-width:0;padding:18px}.plan-room-meta{color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px;font-size:11px}.plan-warning{color:#7d3b26;background:#fbefeb;border-left:4px solid #c86446;border-radius:8px;margin:0 0 12px;padding:11px 13px;font-size:11px;line-height:1.5}.plan-warning strong{margin-bottom:3px;font-size:12px;display:block}.plan-warning ul{margin:0;padding-left:16px}.plan-quantities{grid-template-columns:1fr 1fr;gap:0 16px;margin:0;display:grid}.plan-quantities div,.plan-totals div{border-top:1px solid #f0eee9;justify-content:space-between;gap:10px;padding:8px 0;font-size:12px;display:flex}.plan-quantities dt,.plan-totals dt{color:var(--muted)}.plan-quantities dd,.plan-totals dd{text-align:right;margin:0;font-weight:600}.plan-subhead{color:#768077;letter-spacing:.6px;text-transform:uppercase;margin:14px 0 6px;font:500 10px DM Mono}.plan-assumptions{color:#596159;margin:0;padding-left:16px;font-size:11px;line-height:1.5}.plan-assumptions li+li{margin-top:4px}.plan-actions{gap:6px;margin-top:8px;display:grid}.plan-action{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.plan-action-check{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.plan-action-check input{width:18px;height:18px;accent-color:var(--pine);flex:none}.plan-action-check span{min-width:0;display:grid}.plan-action-check b{font-size:12px}.plan-action-check small{color:var(--muted);font-size:10px}.plan-action select{border:1px solid var(--line);background:#faf9f6;min-height:34px;padding:4px 8px;font:600 12px DM Sans}.plan-action select:disabled,.plan-action-check input:disabled+span{opacity:.45}.plan-lines h3{margin-bottom:10px}.plan-empty-rows{color:var(--muted);border:1px dashed #cdc8be;border-radius:8px;margin:0;padding:16px;font-size:12px}.plan-rows{gap:10px;display:grid}.plan-row{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:14px 16px}.plan-row.has-own-price{border-color:#9fb8d6}.plan-row header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-row header strong{font-size:13px;display:block}.plan-row header small{color:var(--muted);font-size:10px}.plan-own-badge{color:#2563a6;letter-spacing:.4px;text-transform:uppercase;background:#e6eef8;border-radius:999px;margin-left:6px;padding:2px 7px;font:500 9px DM Mono;display:inline-block}.plan-row-cost{text-align:right}.plan-row-cost b{font:600 16px Fraunces,serif;display:block}.plan-row-cost small{color:var(--muted);font-size:10px}.plan-row-quantity{color:#4f584f;margin:8px 0;font-size:12px}.plan-row-prices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.plan-price{background:#f4f7f2;border-radius:7px;gap:2px;min-width:0;padding:10px;display:grid}.plan-price>span{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font:500 9px DM Mono}.plan-price>b{font-size:12px}.plan-price>small{color:var(--muted);font-size:10px}.plan-price.is-own{background:#e6eef8}.plan-price.is-own .plan-source{color:#2563a6;font-weight:700}.plan-price label{color:var(--muted);gap:4px;margin-top:6px;font-size:10px;display:grid}.plan-own-price{width:100%;min-width:0;min-height:36px;color:var(--ink);background:#fff;border:1px solid #cfd8cf;border-radius:6px;padding:6px 9px;font:600 13px DM Mono}.plan-own-price[aria-invalid=true]{background:#fbefeb;border-color:#c86446}.plan-row-reference,.plan-row-assumption{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:11px;line-height:1.5}.plan-totals{margin:0}.plan-totals dd b,.plan-totals dd small,.plan-totals dt small{display:block}.plan-totals dd small{color:var(--muted);font-size:10px;font-weight:400}.plan-totals dt small{margin-top:2px;font-size:10px}.plan-totals .plan-total{font-size:14px}.plan-totals .plan-total dt{color:var(--ink);font-weight:700}.plan-params{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.plan-params label{color:var(--muted);gap:4px;font-size:10px;display:grid}.plan-params input{width:100%;min-width:0;min-height:38px;color:var(--ink);background:#fff;border:1px solid #d8d4cc;border-radius:7px;padding:6px 9px;font:600 13px DM Mono}.plan-rot-note{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.plan-rot-note a{color:var(--pine);text-underline-offset:3px;font-weight:600}.plan-work-list{gap:9px;margin:8px 0 0;padding-left:20px;display:grid}.plan-work-list li{font-size:12px}.plan-work-list b,.plan-work-list small,.plan-work-list span{display:block}.plan-work-list small{color:var(--muted);font-size:10px}.plan-work-list span{color:#596159;margin-top:2px;font-size:11px;line-height:1.45}.plan-work-list .plan-work-empty{color:var(--muted);margin-left:-20px;list-style:none}.renovation-plan input:focus-visible,.renovation-plan select:focus-visible{outline-offset:2px;outline:3px solid #e5bf75}.editor-room-hit{fill:#0000;cursor:pointer;pointer-events:all}.editor-room-hit:hover{fill:#edf2ed}.editor-room-hit.selected{fill:#dcebdd;stroke:#a9c2ae;stroke-width:1.5px;vector-effect:non-scaling-stroke}.editor-room-name.selected{fill:var(--pine-dark)}@media (max-width:900px){.plan-room-grid,.plan-bottom{grid-template-columns:1fr}}@media (max-width:650px){.renovation-plan{padding:16px}.plan-heading{gap:12px;display:grid}.plan-pricebook{max-width:none}.plan-empty{padding:16px}.plan-empty .primary-button{width:100%}.plan-rooms{grid-template-columns:1fr;display:grid}.plan-room-button{min-width:0;min-height:44px}.plan-panel{padding:14px}.plan-quantities{grid-template-columns:1fr}.plan-action{grid-template-columns:1fr;gap:8px}.plan-action-check{min-height:44px}.plan-action select{width:100%;min-height:44px}.plan-row{padding:12px}.plan-row header{display:grid}.plan-row-cost{text-align:left}.plan-row-prices,.plan-params{grid-template-columns:1fr}.plan-own-price,.plan-params input{min-height:44px;font-size:16px}.plan-totals div{flex-wrap:wrap}}.plan-save-status{color:var(--pine);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;font-weight:600}.plan-save-status[data-tone=pending]{color:#715520}.plan-save-status[data-tone=error]{color:#a33a22}.plan-stale{color:#7a2f1c;background:#fbefe9;border-left:4px solid #c86446;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.plan-stale p{margin:0}.plan-stale button{flex:none}@media (max-width:650px){.plan-stale{display:grid}.plan-stale button{width:100%;min-height:44px}}.view3d-wrap{background:#fcfbf8;height:520px;position:relative;overflow:hidden}.view3d-wrap[hidden]{display:none}.view3d-canvas{position:absolute;inset:0}.view3d-canvas canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.view3d-canvas canvas:active{cursor:grabbing}.view3d-bar{pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.view3d-segment{border:1px solid var(--line);pointer-events:auto;background:#fffffff2;border-radius:8px;gap:3px;padding:3px;display:flex}.view3d-segment button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:7px 11px;font-size:12px}.view3d-segment button:hover{color:var(--pine);background:#edf2ed}.view3d-segment button.active{background:var(--pine);color:#fff}.view3d-storeys{z-index:2;border:1px solid var(--line);min-width:150px;color:var(--ink);background:#fffffff2;border-radius:8px;margin:0;padding:9px 11px 10px;font-size:11px;position:absolute;top:62px;left:12px}.view3d-storeys legend{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;padding:0 4px;font:500 9px DM Mono}.view3d-storeys div{gap:6px;display:grid}.view3d-storeys label{cursor:pointer;align-items:center;gap:7px;display:flex}.view3d-storeys input{accent-color:var(--pine)}.view3d-labels{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.view3d-room-label{cursor:pointer;pointer-events:auto}.view3d-room-label rect{fill:#ffffffe8;stroke:#fff;stroke-width:1px;filter:drop-shadow(0 1px 2px #22352a44)}.view3d-room-label text{text-anchor:middle;pointer-events:none}.view3d-room-label .room-name{fill:var(--ink);font:600 10px DM Sans}.view3d-room-label .room-area{fill:var(--muted);font:9px DM Sans}.view3d-room-label.selected rect,.view3d-room-label:focus rect{fill:#f1ffff;stroke:#11aeb1;stroke-width:3px}.view3d-room-label[hidden]{display:none}.view3d-room-info{z-index:2;border:1px solid var(--line);width:210px;color:var(--ink);background:#fffffff2;border-radius:8px;gap:7px;padding:12px;display:grid;position:absolute;top:62px;right:12px;box-shadow:0 2px 10px #24332b1f}.view3d-room-info[hidden]{display:none}.view3d-room-info p{color:var(--muted);letter-spacing:.6px;margin:0;font:500 9px DM Mono}.view3d-room-info h3{margin:0;font:600 17px Fraunces,serif}.view3d-room-info>strong,.view3d-room-info>span{font-size:11px}.view3d-room-info>span{color:#715520}.view3d-room-info label{color:var(--muted);gap:3px;font-size:9px;display:grid}.view3d-room-info input,.view3d-room-info select{min-width:0;height:32px;color:var(--ink);background:#fff;border:1px solid #d3d8d1;border-radius:5px;padding:5px 7px;font:600 11px DM Sans}.view3d-room-info button{background:var(--pine);color:#fff;border:0;border-radius:5px;min-height:30px;font-size:10px}.view3d-room-info small{min-height:14px;color:var(--muted);font-size:9px}.view3d-legend,.view3d-status{border:1px solid var(--line);max-width:calc(50% - 18px);color:var(--muted);pointer-events:none;background:#fffffff2;border-radius:8px;padding:9px 11px;font-size:10px;line-height:1.45;position:absolute;bottom:12px}.view3d-legend{flex-wrap:wrap;gap:4px 12px;display:flex;left:12px}.view3d-legend i{vertical-align:middle;border-radius:1px;width:16px;height:5px;margin-right:5px;display:inline-block}.view3d-legend small{color:#715520;flex-basis:100%;font-size:10px}.key-high{background:#345b4c}.key-medium{background:repeating-linear-gradient(90deg,#c69538 0 7px,#0000 7px 10px)}.key-low{background:repeating-linear-gradient(90deg,#c65f49 0 4px,#0000 4px 7px)}.key-assumed{background:repeating-linear-gradient(90deg,#8fa69a 0 2px,#0000 2px 4px)}.key-door{background:#d17945}.key-window{background:#4b96bd}.view3d-status{text-align:right;right:12px}.view3d-status strong,.view3d-status span{display:block}.view3d-status strong{color:var(--ink);font-size:11px}.view3d-status ul{color:#98492f;text-align:left;margin:5px 0 0;padding:0;list-style:none}.view3d-status ul[hidden]{display:none}.view3d-status li+li{margin-top:3px}.view3d-narrow{display:none}.drawing-card.is-3d .zoom{visibility:hidden}@media (max-width:650px){.view3d-wrap{height:auto}.view3d-wrap>:not(.view3d-narrow){display:none}.view3d-narrow{color:var(--muted);margin:0;padding:24px 16px;font-size:13px;display:block}}.editor-level{cursor:pointer}.editor-level-hit{fill:#0000;pointer-events:all}.editor-level-dot{stroke:#1d2a24;stroke-width:2px;vector-effect:non-scaling-stroke}.editor-level.reference .editor-level-dot{stroke-width:4px}.editor-level.unread .editor-level-dot{stroke:#6c716b;stroke-dasharray:3 2}.editor-level.selected .editor-level-dot{stroke:#11aeb1;stroke-width:4px}.editor-level-text,.editor-level-id{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.editor-level-text{fill:#1d2a24;font:600 12px DM Mono}.editor-level-id{fill:#6c716b;font:10px DM Mono}.editor-level.selected .editor-level-text{fill:#087e82}#floorplan.level-mode,#floorplan.level-mode .editor-wall-hit,#floorplan.level-mode .editor-opening-hit,#floorplan.level-mode .editor-room-hit{cursor:crosshair}#floorplan.level-mode .editor-level{cursor:pointer}.level-editor label+label{margin-top:10px}.level-editor select{width:100%;height:38px;color:var(--ink);background:#fff;border:0;border-radius:0;padding:8px 10px;font:600 13px DM Sans}.level-editor .outline-button{margin-top:8px}.level-editor .text-button{padding:8px 0 0}.level-editor input[aria-invalid=true]{background:#fbefeb}.editor-lidar-layer{pointer-events:none}.editor-lidar-dot{fill-opacity:.5;stroke:none}.editor-lidar-extreme{fill:none;stroke:#6c716b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.editor-lidar-id{fill:#6c716b;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font:10px DM Mono}.lidar-section dl{margin:0}.lidar-section dl div{border-top:1px solid #f0eee9;justify-content:space-between;gap:10px;padding:8px 0;font-size:12px;display:flex}.lidar-section dt{color:var(--muted);flex:none}.lidar-section dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.lidar-section .outline-button{white-space:normal;width:100%;margin-top:8px}.lidar-section .text-button{padding:8px 0 0}@media (max-width:650px){.lidar-section .text-button{min-height:44px}}.level-summary dl{margin:0}.level-summary dl div{border-top:1px solid #f0eee9;justify-content:space-between;gap:10px;padding:8px 0;font-size:12px;display:flex}.level-summary dt{color:var(--muted);flex:none}.level-summary dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}@media (max-width:650px){.level-editor select{min-height:44px;font-size:16px}.level-editor .text-button{min-height:44px}}.storey-picker{color:#768077;letter-spacing:.8px;text-transform:uppercase;align-items:center;gap:7px;margin:0 10px 0 auto;font:500 10px DM Mono;display:flex}.storey-picker[hidden]{display:none}.storey-picker select{max-width:220px;height:32px;color:var(--pine-dark);letter-spacing:0;text-transform:none;background:#edf2ed;border:1px solid #c8d4c9;border-radius:6px;padding:0 8px;font:600 12px DM Sans}.drawing-toolbar:has(.storey-picker:not([hidden])){flex-wrap:wrap;row-gap:6px;height:auto;min-height:52px}.drawing-card.is-3d .storey-picker{visibility:hidden}.storey-name{color:var(--muted);gap:6px;font-size:10px;display:grid}.storey-name>div{background:#fff;border:1px solid #cfd8cf;border-radius:6px;align-items:center;display:flex;overflow:hidden}.storey-name>div:focus-within{outline-offset:2px;outline:3px solid #e5bf75}.storey-name input{width:100%;min-width:0;height:38px;color:var(--ink);border:0;outline:0;padding:8px 10px;font:600 13px DM Sans}.storey-name input::placeholder{color:#9aa19a;font-weight:500}@media (max-width:650px){.storey-picker{margin:0}.storey-picker select{flex:1;max-width:none;min-height:44px;font-size:16px}.storey-name input{min-height:44px;font-size:16px}}.foundation-editor{margin-top:0}.foundation-editor label+label,.foundation-fields{margin-top:10px}.foundation-fields[hidden]{display:none}.foundation-editor select{width:100%;height:38px;color:var(--ink);background:#fff;border:0;border-radius:0;padding:8px 10px;font:600 13px DM Sans}.foundation-editor input{font:600 13px DM Sans}.foundation-editor input::placeholder{color:#9aa19a;font-weight:500}.foundation-editor .outline-button{margin-top:8px}.foundation-editor .text-button{padding:8px 0 0}.editor-foundation-tag{pointer-events:none;fill:var(--pine-dark);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font:700 12px DM Mono}.editor-foundation-tag.unverified{fill:#a33b2f;font-style:italic}@media (max-width:650px){.foundation-editor select{min-height:44px;font-size:16px}.foundation-editor input{font-size:16px}.foundation-editor .text-button{min-height:44px}}.part-editor{margin-top:0}.part-fields,.part-fields>*+*{margin-top:10px}.part-editor .part-years label{margin-top:0}.part-fields[hidden]{display:none}.part-editor select{width:100%;height:38px;color:var(--ink);background:#fff;border:0;border-radius:0;padding:8px 10px;font:600 13px DM Sans}.part-editor input{font:600 13px DM Sans}.part-editor input::placeholder{color:#9aa19a;font-weight:500}.part-editor input[aria-invalid=true]{background:#fbefeb}.part-years{grid-template-columns:1fr 1fr;gap:8px;display:grid}.part-years input{font:600 14px DM Mono}.part-editor .outline-button{margin-top:8px}.part-editor .text-button{padding:8px 0 0}.part-list{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.part-list:empty{display:none}.part-editor .part-list button{color:var(--ink);text-align:left;background:#fff;border:1px solid #dce6da;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;margin:0;padding:7px 9px;font:500 11px DM Sans;display:flex}.part-list button span{overflow-wrap:anywhere;min-width:0}.part-list button b{color:var(--pine-dark);font:600 11px DM Mono}.part-list button small{color:var(--muted);flex:none;font-size:10px}.part-editor .part-list button.active{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:#edf2ed}.editor-part-tag{pointer-events:none;fill:#7a4a32;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font:600 10px DM Mono}@media (max-width:650px){.part-editor select{min-height:44px;font-size:16px}.part-editor input,.part-years input{font-size:16px}.part-editor .text-button{min-height:44px}.part-editor .part-list button{align-items:center;min-height:44px}}.editor-observation{cursor:pointer}.editor-observation-hit{fill:#0000;pointer-events:all}.editor-observation-shape{fill:#fff;stroke:#5b2a86;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.editor-observation-mark{fill:none;stroke:#5b2a86;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.editor-observation.selected .editor-observation-shape{stroke:#11aeb1;stroke-width:3.5px}.editor-observation-id{pointer-events:none;fill:#5b2a86;text-anchor:end;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font:600 11px DM Mono}.editor-observation.selected .editor-observation-id{fill:#087e82}#floorplan.observation-mode,#floorplan.observation-mode .editor-wall-hit,#floorplan.observation-mode .editor-opening-hit,#floorplan.observation-mode .editor-room-hit{cursor:crosshair}#floorplan.observation-mode .editor-observation,#floorplan.observation-mode .editor-level{cursor:pointer}.observation-editor label+label{margin-top:10px}.observation-editor select{width:100%;height:38px;color:var(--ink);background:#fff;border:0;border-radius:0;padding:8px 10px;font:600 13px DM Sans}.observation-editor .text-button{padding:8px 0 0}.observation-section .part-list{margin-top:0}.observation-section .part-list button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #dce6da;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;margin:0;padding:7px 9px;font:500 11px DM Sans;display:flex}.observation-section .part-list button.active{background:#f3eef7;border-color:#5b2a86;box-shadow:inset 0 0 0 1px #5b2a86}.observation-section .part-list button b{color:#5b2a86}@media (max-width:650px){.observation-editor select{min-height:44px;font-size:16px}.observation-editor .text-button{min-height:44px}.observation-section .part-list button{align-items:center;min-height:44px}}.editor-wall.origin-manual{stroke:#5b6ab0}.editor-wall.origin-manual.confidence-medium{stroke:#5b6ab0;stroke-dasharray:14 6}.editor-room-name.origin-manual,.editor-room-area.origin-manual{fill:#5b6ab0}.editor-draw-preview{stroke:#5b6ab0;stroke-width:5px;stroke-dasharray:8 5;pointer-events:none;vector-effect:non-scaling-stroke}.editor-snap-ring{fill:#fff;stroke:#5b6ab0;stroke-width:3px;pointer-events:none;vector-effect:non-scaling-stroke}.legend.manual,.key-manual{background:repeating-linear-gradient(90deg,#5b6ab0 0 7px,#0000 7px 10px)}#floorplan.wall-mode,#floorplan.wall-mode .editor-wall-hit,#floorplan.wall-mode .editor-opening-hit,#floorplan.wall-mode .editor-room-hit,#floorplan.opening-mode,#floorplan.opening-mode .editor-wall-hit{cursor:crosshair}.add-grid button.tool-active{color:#394985;background:#edf0fb;border-color:#aab2d8}.layer-view{border:1px solid var(--line);background:#f7f6f2;border-radius:6px;align-items:center;gap:2px;margin:0 5px;padding:2px;display:flex}.layer-view button{height:26px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0 7px;font:600 10px DM Sans}.layer-view button.active{background:var(--pine);color:#fff}.drawing-card.is-3d .layer-view{visibility:hidden}.lifecycle-editor{border:0;margin:10px 0 0;padding:0}.lifecycle-editor[hidden]{display:none}.lifecycle-editor legend{color:var(--muted);margin-bottom:6px;font-size:10px}.lifecycle-editor>div{background:#fff;border:1px solid #cfd8cf;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.selection-editor .lifecycle-editor button{width:auto;color:var(--muted);background:0 0;border:0;border-radius:4px;margin:0;padding:7px 3px;font-size:10px}.selection-editor .lifecycle-editor button.active{background:var(--pine);color:#fff}.selection-editor .lifecycle-editor button:disabled{opacity:.35;cursor:not-allowed}.editor-wall.lifecycle-demolish,.editor-opening.lifecycle-demolish{stroke-dasharray:20 8;opacity:.5}.editor-wall.lifecycle-new,.editor-opening.lifecycle-new{stroke-width:13px}.editor-lifecycle-label{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font:700 11px DM Mono}.editor-lifecycle-label.demolish{fill:#a33b2f}.editor-lifecycle-label.new{fill:#176b58}.editor-opening.origin-manual{stroke:#5b6ab0}.editor-opening.origin-manual.lifecycle-demolish{stroke-dasharray:20 8}.key-demolish{background:repeating-linear-gradient(90deg,#a33b2f 0 10px,#0000 10px 15px)}.key-new{background:#176b58;box-shadow:0 0 0 1px #176b58}@media (max-width:650px){.layer-view{order:3;width:100%;margin:0}.layer-view button{flex:1;min-height:38px}.selection-editor .lifecycle-editor button{min-height:40px}}.scan-card-actions{margin-left:auto;display:grid}.scan-card .scan-card-actions button{text-align:right;margin-left:0}.scan-card .scan-card-actions button:disabled{opacity:.45;cursor:not-allowed}.scan-empty>div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.replace-plan-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.replace-plan-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}@media (max-width:650px){.scan-card-actions{gap:4px;display:flex}.replace-plan-actions{display:grid}.replace-plan-actions button{width:100%;min-height:44px}}.device-list{display:grid}.device-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.device-row:first-child{border-top:0}.device-row strong,.device-row small{display:block}.device-row small{color:var(--muted);margin-top:3px;font-size:10px}.device-row small.device-expired{color:#a5422f}#floorplan.split-mode{cursor:crosshair}#floorplan.rect-mode{cursor:cell}.editor-tool-label{fill:#173f41;paint-order:stroke;stroke:#fcfbf8;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font:600 11px DM Mono}.editor-tool-label.centered{text-anchor:middle}.editor-rectangle-preview .editor-draw-preview{fill:#4752b41f;stroke:#4d55b8;stroke-width:2px;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.editor-snap-ring{fill:#fff;stroke:#13b8b6;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.editor-tool-overlay{pointer-events:none}.scan-dialog{width:min(780px,94vw);padding:28px}.scan-dialog h2{margin-bottom:5px}.scan-lead{color:var(--muted);margin:0 0 18px;font-size:12px}.scan-empty{text-align:center;background:#f7f9f5;border:1px dashed #c9d2c8;border-radius:10px;padding:35px}.scan-empty>span{color:var(--pine);margin-bottom:7px;font-size:34px;display:block}.scan-empty strong{font:600 18px Fraunces,serif}.scan-empty p{color:var(--muted);max-width:440px;margin:7px auto 18px;font-size:12px}.scan-empty>div{justify-content:center;gap:8px;display:flex}.scan-results[hidden],.scan-empty[hidden]{display:none}.scan-results svg{border:1px solid var(--line);border-radius:8px;width:100%;height:auto;display:block}.scan-wall{stroke-width:8px;stroke-linecap:round}.scan-wall.confidence-high{stroke:#345b4c}.scan-wall.confidence-medium{stroke:#d5a33f;stroke-dasharray:15 7}.scan-wall.confidence-low{stroke:#cf6b50;stroke-dasharray:7 7}.scan-stats{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:12px;display:grid;overflow:hidden}.scan-stats div{text-align:center;background:#fff;padding:12px}.scan-stats strong,.scan-stats span{display:block}.scan-stats strong{font:600 18px Fraunces,serif}.scan-stats span{color:var(--muted);margin-top:2px;font-size:10px}.confidence-key{color:var(--muted);gap:16px;margin:12px 0;font-size:10px;display:flex}.confidence-key i{vertical-align:middle;width:16px;height:4px;margin-right:5px;display:inline-block}.confidence-high{background:#345b4c}.confidence-medium{background:#d5a33f}.confidence-low{background:#cf6b50}.scan-warning{color:#795a20;background:#fbf2df;border-radius:7px;margin:8px 0 14px;padding:11px 12px;font-size:11px;line-height:1.45}@media (max-width:650px){.scan-dialog{padding:20px}.scan-stats{grid-template-columns:1fr 1fr}.scan-empty{padding:25px 12px}.scan-empty>div{flex-direction:column}.scan-empty button{width:100%}}.scan-actions{flex-wrap:wrap;gap:9px;display:flex}.technical-drawing-dialog{width:min(1180px,96vw);padding:22px}.technical-drawing-heading,.model-review-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.technical-drawing-heading h2{margin-bottom:4px}.technical-drawing-heading p:not(.section-label){color:var(--muted);margin:0;font-size:12px}.technical-drawing-actions{gap:8px;padding-right:32px;display:flex}.technical-drawing-preview{background:#c9c9c6;border-radius:8px;max-height:68vh;margin-top:16px;padding:18px;overflow:auto}.technical-drawing-preview svg{aspect-ratio:420/297;background:#fff;width:100%;height:auto;margin:auto;display:block;box-shadow:0 4px 18px #1c241c33}.technical-drawing-status{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.model-review-heading h3{margin-bottom:0}@media (max-width:650px){.technical-drawing-heading,.model-review-heading{display:grid}.technical-drawing-actions{grid-template-columns:1fr 1fr;padding-right:0;display:grid}.technical-drawing-preview{padding:6px}.scan-actions>*{width:100%}}.north[hidden],.north-arrow[hidden],.view3d-north[hidden]{display:none}.north-arrow{z-index:1;color:#778078;cursor:pointer;background:0 0;border:0;justify-items:center;padding:0;font:11px DM Mono;display:grid;position:absolute;top:10px;left:12px}.north-arrow:focus-visible{outline:2px solid var(--pine);outline-offset:2px;border-radius:6px}.north-arrow svg,.view3d-north svg{width:48px;height:48px;display:block}.north-arrow-ring{fill:#fffffff2;stroke:#cfd8cf;stroke-width:1px}.north-arrow-needle{fill:var(--pine)}.north-arrow-letter{fill:var(--pine);text-anchor:middle;dominant-baseline:central;font:700 9px DM Sans}.view3d-north{border:1px solid var(--line);color:var(--muted);pointer-events:none;background:#fffffff2;border-radius:8px;justify-items:center;padding:4px 8px 6px;font:10px DM Mono;display:grid;position:absolute;top:60px;right:12px}.north-editor label+label{margin-top:10px}.north-editor select{width:100%;height:38px;color:var(--ink);background:#fff;border:0;border-radius:0;padding:8px 10px;font:600 13px DM Sans}.north-editor #northNote{font:600 13px DM Sans}.north-editor input::placeholder{color:#9aa19a;font-weight:500}.north-editor input[aria-invalid=true]{background:#fbefeb}.north-editor .text-button{padding:8px 0 0}.north-editor .text-button:disabled{color:#b9b3aa;cursor:default}@media (max-width:650px){.north-editor select{min-height:44px;font-size:16px}.north-editor #northNote{font-size:16px}.north-editor .text-button{min-height:44px}}@page{size:A3 landscape;margin:0}.survey-package{z-index:60;color:var(--ink);background:#d9d6cf;position:fixed;inset:0;overflow:auto}.survey-package[hidden]{display:none}html.survey-package-open,html.survey-package-open body{overflow:hidden}.survey-package-toolbar{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 24px;display:flex;position:sticky;top:0}.survey-package-toolbar .section-label{margin-bottom:4px}.survey-package-toolbar h2{margin:0 0 4px;font:600 22px Fraunces,serif}.survey-package-toolbar h2:focus{outline:none}.survey-package-toolbar p:not(.section-label){color:var(--muted);margin:0;font-size:12px}.survey-package-actions{flex:none;gap:8px;display:flex}.survey-package-project{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 14px;margin:16px 24px 0;padding:16px;display:grid}.survey-package-project .section-label,.survey-package-project .selection-hint{grid-column:1/-1;margin:0}.survey-package-project label{color:var(--muted);grid-column:span 2;gap:5px;font-size:11px;display:grid}.survey-package-project label.wide{grid-column:span 3}.survey-package-project input,.survey-package-project textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #cfd8cf;border-radius:6px;padding:8px 10px;font:500 13px DM Sans,sans-serif}.survey-package-project textarea{resize:vertical;min-height:66px}.survey-package-status{color:#a33b2f;margin:10px 24px 0;font-size:12px;line-height:1.5}.survey-package-status:empty{display:none}.survey-package-pages{justify-content:center;gap:20px;padding:20px 24px 48px;display:grid}.package-sheet{box-sizing:border-box;color:#111;background:#fff;width:420mm;min-height:297mm;padding:14mm 16mm 22mm;font:9pt/1.35 Arial,Helvetica,sans-serif;position:relative;box-shadow:0 4px 18px #1c241c33}.package-sheet h3,.package-sheet h4,.package-sheet p,.package-sheet dl,.package-sheet ol{margin:0}.plan-sheet{height:297mm;padding:0}.plan-image{width:420mm;max-width:none;height:297mm;display:block}.sheet-footer{border-top:.3mm solid #111;justify-content:space-between;align-items:baseline;gap:6mm;padding-top:2mm;font-size:8pt;display:flex;position:absolute;bottom:7mm;left:16mm;right:16mm}.sheet-disclaimer{color:#a33b2f;font-weight:700}.sheet-stamp{letter-spacing:.4pt;color:#a33b2f;white-space:nowrap;font-weight:700}.sheet-number{white-space:nowrap}.plan-sheet .sheet-footer{border-top:0;padding-top:0;font-size:6.5pt;bottom:1.6mm;left:8mm;right:8mm}.sheet-header{border-bottom:.5mm solid #111;justify-content:space-between;align-items:flex-start;gap:10mm;margin-bottom:6mm;padding-bottom:4mm;display:flex}.sheet-eyebrow{color:#555;letter-spacing:.6pt;margin-bottom:1.5mm;font-size:7.5pt}.package-sheet .sheet-title{font-size:16pt;line-height:1.2}.sheet-meta{flex:none;justify-items:end;gap:2mm;font-size:9pt;display:grid}.sheet-stamp-box{color:#a33b2f;letter-spacing:.6pt;border:.5mm solid #a33b2f;padding:1.5mm 4mm;font-weight:700}.cover-body{grid-template-columns:150mm minmax(0,1fr);gap:12mm;display:grid}.cover-block+.cover-block{margin-top:6mm}.package-sheet .cover-block h4{color:#555;letter-spacing:.6pt;text-transform:uppercase;margin-bottom:2mm;font-size:8pt}.cover-list{gap:1.2mm;display:grid}.cover-list>div{border-bottom:.2mm solid #ccc;grid-template-columns:44mm minmax(0,1fr);gap:4mm;padding-bottom:1.2mm;display:grid}.cover-list dt{color:#555}.cover-list dd{overflow-wrap:anywhere;margin:0;font-weight:700}.cover-list .empty dd{color:#777;font-weight:400}.cover-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10pt;line-height:1.4}.cover-text.empty{color:#777}.cover-sheet.dense .cover-text{font-size:8.5pt;line-height:1.3}.package-sheet .cover-contents{gap:1mm;padding:0;list-style:none;display:grid}.cover-contents li{grid-template-columns:16mm minmax(0,1fr);gap:2mm;display:grid}.cover-page{color:#555}.cover-notice{border:.5mm solid #a33b2f;margin-top:8mm;padding:4mm 5mm}.cover-notice p+p{margin-top:1.5mm}.package-sheet .cover-disclaimer{color:#a33b2f;font-size:11pt;font-weight:700}.package-table-section+.package-table-section{margin-top:7mm}.package-sheet .package-table-title{margin-bottom:2.5mm;font-size:11pt}.package-table{table-layout:fixed;border-collapse:collapse;width:388mm}.package-table thead{display:table-header-group}.package-table th,.package-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:.25mm solid #999;padding:1.2mm 1.5mm}.package-table th{letter-spacing:.3pt;text-transform:uppercase;border-bottom:.4mm solid #111;font-size:7.5pt;font-weight:700}.package-table tr{break-inside:avoid}.package-table .emphasis{color:#a33b2f;font-weight:700}.package-table col.col-xs{width:14mm}.package-table col.col-s{width:24mm}.package-table col.col-m{width:34mm}.package-table col.col-l{width:48mm}.package-table col.col-xl{width:72mm}.package-sheet .package-table-note{color:#333;margin-top:2mm;font-size:8pt}.package-sheet .package-table-note:last-child{color:#a33b2f;font-weight:700}@media screen and (max-width:1700px){.package-sheet{zoom:.8}}@media screen and (max-width:1380px){.package-sheet{zoom:.62}}@media screen and (max-width:1080px){.package-sheet{zoom:.46}}@media screen and (max-width:800px){.package-sheet{zoom:.3}}@media screen and (max-width:540px){.package-sheet{zoom:.21}}@media (max-width:650px){.survey-package-toolbar{padding:14px 16px;display:grid}.survey-package-actions{grid-template-columns:1fr 1fr;display:grid}.survey-package-actions button{min-height:44px}.survey-package-project{grid-template-columns:1fr;margin:12px 16px 0}.survey-package-project label,.survey-package-project label.wide{grid-column:1/-1}.survey-package-project input,.survey-package-project textarea{font-size:16px}.survey-package-pages{padding:16px}}@media print{html.survey-package-open,html.survey-package-open body{background:#fff;height:auto;overflow:visible}html.survey-package-open body>:not(#surveyPackage){display:none!important}html.survey-package-open .survey-package{background:#fff;position:static;overflow:visible}.survey-package-toolbar,.survey-package-project,.survey-package-status{display:none}.survey-package-pages{padding:0;display:block}.package-sheet{min-height:296mm;box-shadow:none;break-after:page;margin:0}.package-sheet:last-child{break-after:auto}.plan-sheet{break-inside:avoid;height:296.5mm;min-height:0;overflow:hidden}}
