:root{color:#182230;font-synthesis:none;text-rendering:optimizelegibility;background:#edf1f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-width:320px;min-height:100%}body{background:#edf1f5;min-height:100vh;margin:0}#root{min-height:100vh}button,input{font:inherit}button{cursor:pointer}.app-shell{color:#182230;flex-direction:column;min-height:100vh;display:flex}.topbar{color:#fff;background:#172033;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:16px 24px;display:flex}.topbar h1{margin:2px 0 0;font-size:1.55rem;line-height:1.2}.eyebrow{color:#aab8ca;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.primary-button{color:#fff;background:#3478f6;border:0;border-radius:8px;padding:11px 17px;font-weight:700}.primary-button:hover{background:#2867d8}.app-layout{flex:1;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.sidebar{background:#fff;border-right:1px solid #dbe2ea;padding:20px;overflow-y:auto}.panel-section{border-bottom:1px solid #e5eaf0;margin-bottom:20px;padding-bottom:20px}.panel-section h2{margin:0 0 12px;font-size:.95rem}.tool-stack{gap:9px;display:grid}.tool-button{color:#253247;text-align:left;background:#f8fafc;border:1px solid #cbd5df;border-radius:7px;width:100%;padding:10px 12px;font-weight:600}.tool-button:hover{background:#eef3f8;border-color:#aebac7}.danger-button{color:#a72c2c}.field{margin-top:14px;display:block}.field>span{color:#465468;margin-bottom:6px;font-size:.82rem;font-weight:700;display:block}.input-with-unit{background:#fff;border:1px solid #cbd5df;border-radius:7px;grid-template-columns:minmax(0,1fr) 35px;align-items:center;display:grid;overflow:hidden}.input-with-unit input{color:#182230;border:0;outline:none;min-width:0;padding:9px 10px}.input-with-unit>span{color:#526174;text-align:center;background:#f1f4f7;padding:9px 8px;font-size:.82rem;font-weight:700}.sidebar-note{color:#748196;margin:0;font-size:.79rem;line-height:1.5}.main-area{flex-direction:column;gap:12px;min-width:0;padding:20px;display:flex}.workspace-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.view-tabs{background:#fff;border:1px solid #d6dee7;border-radius:9px;gap:6px;padding:4px;display:flex}.tab-button{color:#59677a;background:0 0;border:0;border-radius:6px;padding:8px 15px;font-weight:700}.active-tab{color:#fff;background:#172033}.status-pill{color:#745b12;background:#fff8df;border:1px solid #e3c267;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:700}.workspace{background:#f7f8fa;border:1px solid #ccd6e0;border-radius:12px;flex:1;place-items:center;min-height:570px;display:grid;overflow:hidden;box-shadow:0 8px 28px #19263714}.grid-background{background-color:#fff;background-image:linear-gradient(#edf1f5 1px,#0000 1px),linear-gradient(90deg,#edf1f5 1px,#0000 1px);background-size:24px 24px}.placeholder-card{text-align:center;background:#fffffff0;border:1px solid #dbe3eb;border-radius:12px;max-width:420px;margin:24px;padding:30px;box-shadow:0 8px 24px #1e2d4114}.placeholder-card h2{margin:13px 0 8px;font-size:1.25rem}.placeholder-card p{color:#677589;margin:0;line-height:1.55}.placeholder-icon{color:#245fc7;background:#eaf1ff;border-radius:12px;place-items:center;width:52px;height:52px;margin:0 auto;font-weight:800;display:grid}.statusbar{color:#69778a;background:#fff;border-top:1px solid #dbe2ea;justify-content:space-between;gap:20px;min-height:34px;padding:7px 20px;font-size:.78rem;display:flex}@media (width<=800px){.app-layout{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dbe2ea;border-right:0}.workspace{min-height:480px}}.primary-button:disabled,.tool-button:disabled{cursor:not-allowed;opacity:.48}.upload-panel{gap:9px;display:grid}.hidden-file-input{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-label{cursor:pointer;display:block}.file-summary{color:#69778a;overflow-wrap:anywhere;background:#f7f9fb;border:1px solid #dbe2ea;border-radius:7px;gap:3px;padding:9px 10px;font-size:.75rem;line-height:1.35;display:grid}.file-summary strong{color:#263447}.opacity-control{color:#465468;gap:7px;font-size:.8rem;font-weight:700;display:grid}.range-row{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.range-row input{width:100%}.range-row output{color:#5a687a;text-align:right;font-size:.75rem}.file-error{color:#942c2c;background:#fff1f1;border:1px solid #efb1b1;border-radius:7px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.4}.plan-editor-shell{flex-direction:column;gap:10px;width:100%;height:100%;min-height:570px;padding:12px;display:flex}.canvas-note{color:#66758a;background:#fffffff5;border:1px solid #d7e1ec;border-radius:8px;flex-wrap:wrap;flex:none;gap:5px 10px;padding:9px 12px;font-size:.8rem;display:flex}.canvas-note strong{color:#2c3a4d}.plan-scroll-area{background-color:#0000;background-image:linear-gradient(45deg,#f4f6f8 25%,#0000 25%),linear-gradient(-45deg,#f4f6f8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f4f6f8 75%),linear-gradient(-45deg,#0000 75%,#f4f6f8 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:1px solid #cfd8e3;border-radius:8px;flex:1;place-items:center;min-height:0;display:grid;overflow:auto}.plan-svg{touch-action:none;background:0 0;width:100%;height:100%;min-height:500px;display:block}.workspace-statuses{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.active-tool-button{color:#fff;background:#3478f6;border-color:#2867d8}.active-tool-button:hover{background:#2867d8;border-color:#245fc7}.drawing-status{color:#245fc7;background:#eaf1ff;border-color:#7ba6f5}.canvas-instruction{flex-wrap:wrap;flex:1;align-items:center;gap:5px 10px;display:flex}.drawing-note{background:#f0f5ff;border-color:#8eb3f6}.wall-count-chip{color:#4a596d;background:#e8edf3;border-radius:999px;flex:none;padding:4px 8px;font-size:.74rem;font-weight:800}.canvas-feedback{color:#566579;background:#fff;border:1px solid #d6e1ed;border-radius:7px;flex:none;padding:8px 11px;font-size:.78rem;line-height:1.4}.plan-svg{-webkit-user-select:none;user-select:none}.plan-svg.is-drawing{cursor:crosshair}.canvas-hit-area{cursor:inherit}.traced-wall{stroke:#1769d2}.wall-endpoint{fill:#fff;stroke:#1769d2;stroke-width:2px;vector-effect:non-scaling-stroke}.draft-wall{stroke:#e28413;stroke-dasharray:9 7}.draft-start-point{fill:#fff;stroke:#e28413;stroke-width:3px;vector-effect:non-scaling-stroke}.draft-end-point{fill:#e28413;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.scale-panel{background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.scale-panel-header h3{margin:0;font-size:.92rem}.scale-help{color:#607084;margin:0;font-size:.78rem;line-height:1.45}.scale-distance-row{grid-template-columns:minmax(0,1fr) 76px;gap:8px;display:grid}.scale-distance-row input,.scale-distance-row select{color:#263447;background:#fff;border:1px solid #cbd5df;border-radius:7px;width:100%;padding:9px 10px}.scale-apply-button{width:100%}.scale-status-active{color:#245fc7;background:#edf3ff;border-color:#83a9f6}.scale-status-calibrated{color:#257446;background:#edf9f2;border-color:#8ccda6}.plan-svg.is-calibrating{cursor:crosshair}.calibration-point{fill:#fff;stroke-width:3px;vector-effect:non-scaling-stroke}.calibration-start{stroke:#16a365}.calibration-end{stroke:#d65151}.calibration-line{stroke:#6c55cc;stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}:root{--pv-bg:#171918;--pv-chrome:#1d201f;--pv-chrome-2:#242725;--pv-panel:#f5f3ef;--pv-panel-strong:#fff;--pv-canvas:#eef0ef;--pv-border-dark:#ffffff1a;--pv-border-light:#d7d7d2;--pv-text:#202322;--pv-text-soft:#6c706d;--pv-text-inverse:#f4f1eb;--pv-text-inverse-soft:#aaa9a4;--pv-accent:#c9824b;--pv-accent-strong:#e39a61;--pv-accent-soft:#f4dfce;--pv-success:#6c9c77;--pv-warning:#c79a45;--pv-danger:#b85b54;--pv-radius:12px;--pv-shadow:0 12px 30px #0000002e}*{box-sizing:border-box}.pv-shell{background:var(--pv-bg);width:100%;min-width:0;height:100vh;min-height:0;color:var(--pv-text);grid-template-rows:62px minmax(0,1fr) 96px;display:grid;overflow:hidden}.pv-global-header{border-bottom:1px solid var(--pv-border-dark);min-width:0;color:var(--pv-text-inverse);z-index:30;background:linear-gradient(#222523 0%,#1b1e1c 100%);grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:16px;padding:8px 14px;display:grid}.pv-brand{align-items:center;gap:10px;min-width:0;display:flex}.pv-brand-mark{width:38px;height:38px;color:var(--pv-accent-strong);background:#ffffff09;border:1px solid #e39a6180;border-radius:10px;flex:none;place-items:center;display:grid}.pv-brand-copy{min-width:0}.pv-brand-name{color:#fffaf3;letter-spacing:.02em;margin:0;font-size:.98rem;font-weight:800;line-height:1.05}.pv-brand-subtitle{color:var(--pv-text-inverse-soft);letter-spacing:.08em;text-transform:uppercase;margin:3px 0 0;font-size:.66rem;line-height:1.1}.pv-project-summary{border-left:1px solid var(--pv-border-dark);min-width:0;padding-left:14px}.pv-project-summary strong,.pv-project-summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.pv-project-summary strong{color:#f6f2ec;font-size:.78rem;line-height:1.2}.pv-project-summary span{color:var(--pv-text-inverse-soft);margin-top:2px;font-size:.65rem}.pv-header-view-switch{border:1px solid var(--pv-border-dark);background:#00000038;border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex}.pv-header-view-switch button{color:#c8c7c2;min-width:58px;min-height:34px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 11px;font-size:.72rem;font-weight:800}.pv-header-view-switch button:hover{color:#fff;background:#ffffff0f}.pv-header-view-switch button.is-active{color:#171918;background:#f3eee7;box-shadow:0 2px 10px #00000038}.pv-header-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.pv-header-button,.pv-header-icon-button,.pv-validation-button{border:1px solid var(--pv-border-dark);color:#ece8e1;min-height:34px;font:inherit;cursor:pointer;background:#ffffff0a;border-radius:8px;font-size:.69rem;font-weight:750}.pv-header-button{padding:6px 10px}.pv-header-icon-button{place-items:center;width:34px;padding:0;display:grid}.pv-header-button:hover:not(:disabled),.pv-header-icon-button:hover:not(:disabled),.pv-validation-button:hover:not(:disabled){background:#e39a611a;border-color:#e39a6185}.pv-header-button.is-primary{color:#1d1a17;background:#d68b52;border-color:#c77d46}.pv-header-button.is-primary:hover:not(:disabled){background:#e29a63}.pv-header-button:disabled,.pv-header-icon-button:disabled{opacity:.38;cursor:default}.pv-validation-button{align-items:center;gap:7px;padding:6px 9px;display:flex}.pv-status-dot{background:var(--pv-warning);border-radius:999px;width:7px;height:7px}.pv-validation-button.is-ready .pv-status-dot{background:var(--pv-success)}.pv-main-grid{background:#111312;grid-template-columns:82px minmax(0,1fr) 330px;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.pv-main-grid.inspector-closed{grid-template-columns:82px minmax(0,1fr) 0}.pv-tool-rail{border-right:1px solid var(--pv-border-dark);min-height:0;color:var(--pv-text-inverse);background:linear-gradient(#1d201f 0%,#191b1a 100%);flex-direction:column;align-items:stretch;gap:5px;padding:9px 7px;display:flex;overflow:hidden auto}.pv-rail-divider{background:var(--pv-border-dark);flex:none;height:1px;margin:5px 7px}.pv-rail-spacer{flex:auto;min-height:8px}.pv-rail-button{color:#b8b8b3;width:100%;min-height:58px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:.61rem;font-weight:700;line-height:1.15;display:flex;position:relative}.pv-rail-button:hover:not(:disabled){color:#f9f4ed;background:#ffffff0d;border-color:#ffffff14}.pv-rail-button.is-active{color:#1c1c19;background:linear-gradient(#e6ae82,#cf8751);border-color:#d89866;box-shadow:0 5px 15px #0000003d}.pv-rail-button:disabled{color:#666864;cursor:default}.pv-rail-button .pv-coming-badge{background:#696b67;border-radius:999px;width:6px;height:6px;position:absolute;top:5px;right:5px}.pv-design-area{background:#242725;min-width:0;min-height:0;padding:10px;overflow:hidden}.pv-workspace-card{background:var(--pv-canvas);width:100%;min-width:0;height:100%;min-height:0;box-shadow:var(--pv-shadow);border:1px solid #ffffff14;border-radius:13px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.pv-workspace-heading{background:#f9f8f5;border-bottom:1px solid #d7dad7;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:8px 11px;display:flex}.pv-workspace-heading-copy{min-width:0}.pv-workspace-heading-copy strong,.pv-workspace-heading-copy span{display:block}.pv-workspace-heading-copy strong{color:#252826;font-size:.76rem}.pv-workspace-heading-copy span{color:#7a7e7a;margin-top:1px;font-size:.64rem}.pv-workspace-statuses{flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:0;display:flex}.pv-chip{color:#636863;white-space:nowrap;background:#fff;border:1px solid #dadbd6;border-radius:999px;padding:4px 7px;font-size:.6rem;font-weight:750;line-height:1}.pv-chip.is-accent{color:#9a5d31;background:#fff2e8;border-color:#e5b58e}.pv-chip.is-ready{color:#4e7759;background:#eef7f0;border-color:#bad2bf}.pv-chip.is-warning{color:#8c6b2e;background:#fff7e6;border-color:#e3cca0}.pv-workspace-canvas{background:#ecefed;min-width:0;min-height:0;padding:8px;overflow:hidden}.pv-workspace-canvas.is-2d{background-color:#ecefed;background-image:linear-gradient(#454d4809 1px,#0000 1px),linear-gradient(90deg,#454d4809 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.pv-workspace-canvas>.plan-editor-shell,.pv-workspace-canvas>.model-viewer-3d,.pv-workspace-canvas>.placeholder-card{width:100%;min-width:0;height:100%;min-height:0}.pv-workspace-canvas .plan-editor-shell{border-radius:9px;overflow:hidden}.pv-workspace-canvas .model-viewer-3d{border-radius:9px}.pv-inspector{background:#f4f2ed;border-left:1px solid #d5d4cf;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;transition:opacity .14s;display:grid;overflow:hidden}.inspector-closed .pv-inspector{opacity:0;pointer-events:none}.pv-inspector-tabs{background:#ebe8e2;border-bottom:1px solid #d5d4cf;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.pv-inspector-tab{color:#747873;min-height:45px;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 4px;font-size:.64rem;font-weight:800}.pv-inspector-tab:hover{color:#343735;background:#ffffff85}.pv-inspector-tab.is-active{border-bottom-color:var(--pv-accent);color:#292c2a;background:#f8f6f2}.pv-inspector-scroll{min-width:0;min-height:0;padding:11px;overflow:auto}.pv-inspector-section{background:#fbfaf7;border:1px solid #dad8d2;border-radius:10px;margin-bottom:10px;padding:11px}.pv-inspector-section:last-child{margin-bottom:0}.pv-inspector-section h2,.pv-inspector-section h3{color:#252825;margin:0 0 9px;font-size:.76rem;line-height:1.2}.pv-inspector-section h3{font-size:.71rem}.pv-inspector-section .selected-wall-readout{background:#f1f1ed;border-color:#dddcd6;margin-bottom:9px}.pv-inspector-section .field{margin-bottom:9px}.pv-inspector-section .field>span:first-child{color:#5b5f5b;font-size:.66rem;font-weight:750}.pv-inspector-section input,.pv-inspector-section select{border-radius:7px}.pv-inspector-section .tool-stack{gap:6px}.pv-inspector-section .tool-button{border-radius:7px;min-height:34px;font-size:.68rem}.pv-inspector-summary{align-items:center;gap:10px;display:flex}.pv-inspector-summary-icon{color:#755038;background:#eee8e1;border:1px solid #d7d4cc;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.pv-inspector-summary-copy{min-width:0}.pv-inspector-summary-copy strong,.pv-inspector-summary-copy span{display:block}.pv-inspector-summary-copy strong{color:#292c29;font-size:.74rem}.pv-inspector-summary-copy span{color:#777b76;margin-top:2px;font-size:.64rem;line-height:1.35}.pv-placeholder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.pv-placeholder-tile{color:#868983;text-align:center;background:#f3f1ec;border:1px dashed #cecac1;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:72px;padding:9px 6px;font-size:.62rem;font-weight:750;display:flex}.pv-placeholder-note{color:#777b76;margin:9px 0 0;font-size:.66rem;line-height:1.45}.pv-material-swatches{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.pv-material-swatch{aspect-ratio:1;opacity:.72;border:1px solid #d6d2c8;border-radius:8px}.pv-material-swatch:first-child{background:#f3efe7}.pv-material-swatch:nth-child(2){background:#d9d2c5}.pv-material-swatch:nth-child(3){background:#b9a28a}.pv-material-swatch:nth-child(4){background:#b8b6ae}.pv-material-swatch:nth-child(5){background:#8e8d86}.pv-action-dock{border-top:1px solid var(--pv-border-dark);min-width:0;min-height:0;color:var(--pv-text-inverse);background:#171918;grid-template-columns:minmax(330px,1.15fr) minmax(250px,.95fr) minmax(260px,1fr) minmax(250px,.9fr);gap:1px;padding:7px 9px 9px;display:grid}.pv-dock-group{background:#1f2220;border:1px solid #ffffff12;border-radius:9px;min-width:0;padding:4px 9px 5px;overflow:hidden}.pv-dock-title{color:#8f918d;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.55rem;font-weight:800}.pv-dock-actions{scrollbar-width:thin;align-items:stretch;gap:4px;min-width:0;display:flex;overflow-x:auto}.pv-dock-button{color:#c6c6c1;min-width:56px;min-height:56px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:5px 6px;font-size:.56rem;font-weight:700;line-height:1.1;display:flex;position:relative}.pv-dock-button:hover:not(:disabled){color:#fff;background:#ffffff0d;border-color:#ffffff17}.pv-dock-button.is-active{color:#f6c39d;background:#e39a611c;border-color:#e39a6180}.pv-dock-button.is-danger:hover:not(:disabled){color:#f0aaa4;background:#b85b541f;border-color:#b85b5473}.pv-dock-button:disabled{color:#626460;cursor:default}.pv-dock-button.is-future:after{content:"";background:#7e6d5f;border-radius:999px;width:5px;height:5px;position:absolute;top:5px;right:5px}.pv-action-wide{min-width:78px}.pv-hidden-file-input{display:none}.pv-empty-selection{text-align:center;color:#777b76;padding:16px 8px}.pv-empty-selection .pv-ui-icon{color:#aa8b73;margin-bottom:8px}.pv-empty-selection strong,.pv-empty-selection span{display:block}.pv-empty-selection strong{color:#3c403c;font-size:.75rem}.pv-empty-selection span{margin-top:5px;font-size:.65rem;line-height:1.45}.pv-future-preset-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.pv-future-preset{color:#777b76;min-height:58px;font:inherit;background:#f1eee8;border:1px solid #d7d3ca;border-radius:8px;padding:8px 6px;font-size:.62rem;font-weight:750}.pv-future-preset:disabled{cursor:default}.pv-file-error{margin:7px 0 0}@media (width<=1360px){.pv-global-header{grid-template-columns:auto minmax(110px,1fr) auto auto;gap:10px}.pv-project-summary{padding-left:9px}.pv-header-button span.pv-button-copy{display:none}.pv-header-button{min-width:34px;padding:6px 8px}.pv-main-grid{grid-template-columns:76px minmax(0,1fr) 300px}.pv-main-grid.inspector-closed{grid-template-columns:76px minmax(0,1fr) 0}.pv-action-dock{grid-template-columns:minmax(300px,1.1fr) minmax(220px,.9fr) minmax(220px,.9fr) minmax(220px,.85fr)}}@media (width<=1120px){.pv-brand-subtitle,.pv-project-summary span,.pv-validation-button .pv-validation-copy{display:none}.pv-main-grid{grid-template-columns:72px minmax(0,1fr) 270px}.pv-main-grid.inspector-closed{grid-template-columns:72px minmax(0,1fr) 0}.pv-action-dock{display:flex;overflow-x:auto}.pv-dock-group{flex:none;min-width:255px}}@media (width<=900px){.pv-global-header{grid-template-columns:auto 1fr auto}.pv-project-summary{display:none}.pv-header-actions{gap:4px}.pv-main-grid,.pv-main-grid.inspector-closed{grid-template-columns:68px minmax(0,1fr)}.pv-inspector{z-index:25;width:min(330px,100vw - 76px);position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 28px #00000038}.inspector-closed .pv-inspector{transform:translate(102%)}.pv-workspace-statuses .pv-chip:nth-child(n+3){display:none}}@media (width<=720px){.pv-shell{grid-template-rows:56px minmax(0,1fr) 86px}.pv-brand-copy,.pv-header-button.pv-secondary-file-action,.pv-validation-button{display:none}.pv-header-view-switch button{min-width:44px;padding-inline:7px}.pv-design-area{padding:6px}.pv-workspace-heading-copy span,.pv-workspace-statuses{display:none}.pv-workspace-canvas{padding:5px}.pv-tool-rail{padding-inline:5px}.pv-rail-button{min-height:52px;font-size:.56rem}}.pv-action-dock{grid-template-columns:minmax(330px,1.05fr) minmax(420px,1.35fr) minmax(260px,.9fr)}.pv-dock-group{overflow:hidden}.pv-dock-workflow-group,.pv-dock-selection-group,.pv-dock-guidance-group{min-width:0}.pv-dock-heading-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:16px;margin-bottom:3px;display:flex}.pv-dock-heading-row .pv-dock-title{margin:0}.pv-dock-mode-tag{color:#c8a88e;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#e39a6112;border:1px solid #e39a613d;border-radius:999px;max-width:130px;padding:2px 6px;font-size:.5rem;font-weight:800;overflow:hidden}.pv-dock-mode-tag.is-selection{color:#a8c2ae;background:#6c9c7714;border-color:#6c9c7747}.pv-dock-button.is-primary-context{color:#f3c29d;background:#e39a611a;border-color:#e39a616b}.pv-dock-button.is-primary-context:hover:not(:disabled){color:#fff0e3;background:#e39a6129;border-color:#e39a61ad}.pv-dock-status-note{border-left:1px solid #ffffff14;flex-direction:column;flex:0 190px;justify-content:center;min-width:138px;max-width:190px;min-height:56px;padding:5px 8px;display:flex}.pv-dock-status-note strong,.pv-dock-status-note span{display:block}.pv-dock-status-note strong{color:#d8d7d1;font-size:.57rem;line-height:1.2}.pv-dock-status-note span{color:#858883;margin-top:3px;font-size:.51rem;line-height:1.25}.pv-dock-status-note.is-muted strong{color:#aaa9a4}.pv-dock-guidance-group{flex-direction:column;display:flex}.pv-dock-guidance-copy{color:#a2a39f;max-width:44ch;margin:3px 0 0;font-size:.57rem;line-height:1.35}.pv-dock-link-button{color:#bebeb8;font:inherit;cursor:pointer;background:#ffffff09;border:1px solid #ffffff14;border-radius:999px;flex:none;padding:2px 7px;font-size:.5rem;font-weight:750}.pv-dock-link-button:hover{color:#f1c19c;border-color:#e39a616b}@media (width<=1360px){.pv-action-dock{grid-template-columns:minmax(310px,1fr) minmax(390px,1.25fr) minmax(235px,.8fr)}.pv-dock-guidance-copy{max-width:34ch}}@media (width<=1120px){.pv-action-dock{display:flex;overflow:auto hidden}.pv-dock-workflow-group{min-width:320px}.pv-dock-selection-group{min-width:390px}.pv-dock-guidance-group{min-width:260px}}@media (width<=720px){.pv-dock-guidance-group{display:none}}.plan-svg.is-selecting{cursor:default}.plan-svg{touch-action:none}.wall-hit-target{cursor:grab}.traced-wall{pointer-events:none}.traced-wall.selected-wall{stroke:#e28413;stroke-width:5px}.selected-wall-handle{fill:#fff;stroke:#e28413;stroke-width:3px;vector-effect:non-scaling-stroke;cursor:grab}.plan-svg.is-dragging,.plan-svg.is-dragging .wall-hit-target,.plan-svg.is-dragging .selected-wall-handle{cursor:grabbing}.plan-svg.is-space-pan,.plan-svg.is-space-pan .wall-hit-target,.plan-svg.is-space-pan .selected-wall-handle{cursor:grab!important}.plan-svg.is-panning,.plan-svg.is-panning .wall-hit-target,.plan-svg.is-panning .selected-wall-handle{cursor:grabbing!important}.selected-wall-status{color:#8a5310;background:#fff4df;border-color:#efbd72}.selected-wall-readout{color:#59687a;background:#f7f9fb;border:1px solid #dbe2ea;border-radius:7px;margin:0 0 12px;padding:9px 10px;font-size:.78rem;line-height:1.45}.selected-wall-readout strong{color:#263447}.input-with-unit input[readonly]{color:#3e4c5f;background:#f8fafc}.snap-feedback-chip{color:#6241b5;background:#f3efff;border:1px solid #b29af5;border-radius:999px;flex:none;padding:4px 8px;font-size:.72rem;font-weight:800}.snap-guide-line{stroke:#7c5ce0;stroke-width:1.5px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke}.snap-point-ring{fill:#7c5ce01f;stroke:#7c5ce0;stroke-width:2.5px;vector-effect:non-scaling-stroke}.snap-point-cross{stroke:#7c5ce0;stroke-width:1.5px;vector-effect:non-scaling-stroke}.viewport-controls{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.viewport-control-button{color:#344256;min-width:32px;min-height:30px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ccd5df;border-radius:7px;padding:5px 9px;font-size:.76rem;font-weight:700}.viewport-control-button:hover:not(:disabled){background:#f3f6f9;border-color:#aebbc9}.viewport-control-button:disabled{opacity:.45;cursor:default}.viewport-fit-button{min-width:88px}.zoom-readout{color:#4b5a6c;text-align:center;background:#f7f9fb;border:1px solid #d7dfe7;border-radius:7px;min-width:52px;padding:5px 7px;font-size:.72rem;font-weight:800}.viewport-shortcut-hint{color:#6c7a8c;white-space:nowrap;font-size:.68rem;line-height:1.3}@media (width<=1050px){.viewport-shortcut-hint{text-align:right;width:100%}}@media (width<=760px){.viewport-controls{justify-content:flex-start;width:100%;margin-left:0}.viewport-shortcut-hint{text-align:left;white-space:normal}}.new-project-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#131c2794;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.new-project-dialog{background:#fff;border:1px solid #d4dce5;border-radius:14px;width:min(760px,100%);max-height:min(760px,100vh - 48px);padding:22px;overflow-y:auto;box-shadow:0 22px 65px #111a2647}.new-project-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.new-project-header h2{color:#263447;margin:2px 0 0;font-size:1.45rem}.new-project-eyebrow{color:#78869a;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.new-project-close{color:#59687a;cursor:pointer;background:#fff;border:1px solid #d4dce5;border-radius:8px;flex:none;width:34px;height:34px;font-size:1.35rem;line-height:1}.new-project-close:hover{background:#f3f6f9}.new-project-intro{color:#607084;margin:14px 0 18px;font-size:.88rem;line-height:1.55}.new-project-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.new-project-option{color:#263447;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #d4dce5;border-radius:11px;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:17px;display:flex}.new-project-option:hover{background:#f1f6ff;border-color:#8ba9dc;box-shadow:0 5px 16px #274d8214}.new-project-option-title{color:#263447;font-size:1rem;font-weight:800}.new-project-option-description{color:#58697d;font-size:.79rem;line-height:1.5}.new-project-option-note{color:#78869a;margin-top:auto;padding-top:5px;font-size:.7rem;font-weight:700;line-height:1.4}.new-project-footer{border-top:1px solid #e2e7ed;justify-content:flex-end;margin-top:18px;padding-top:16px;display:flex}@media (width<=760px){.new-project-backdrop{padding:12px}.new-project-options{grid-template-columns:1fr}.new-project-dialog{max-height:calc(100vh - 24px)}}.model-viewer-3d{background:#f1f4f7;border:1px solid #d5dde6;border-radius:10px;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.model-viewer-render-area{min-width:0;min-height:0;position:absolute;inset:0}.model-viewer-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.model-viewer-overlay{z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#ffffffe6;border:1px solid #bec9d5eb;border-radius:9px;width:min(430px,100% - 24px);padding:10px 11px;position:absolute;top:12px;left:12px;box-shadow:0 4px 16px #26344717}.model-viewer-control-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-viewer-button{color:#344256;min-height:31px;font:inherit;cursor:pointer;pointer-events:auto;background:#fff;border:1px solid #aeb9c6;border-radius:7px;padding:6px 10px;font-size:.76rem;font-weight:800}.model-viewer-button:hover{background:#f2f5f8}.model-viewer-wall-count{color:#48586b;font-size:.74rem;font-weight:800}.model-viewer-hint,.model-viewer-selected-note{color:#607084;margin:7px 0 0;font-size:.7rem;line-height:1.4}.model-viewer-selected-note{color:#955b12;font-weight:800}@media (width<=760px){.model-viewer-overlay{width:calc(100% - 16px);top:8px;left:8px}}html,body,#root{width:100%;min-width:0;height:100%;min-height:0;margin:0}html,body{overflow:hidden}body{min-width:0;min-height:0}#root{text-align:left;max-width:none;margin:0;padding:0;overflow:hidden}*,:before,:after{box-sizing:border-box}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-width:0;height:100dvh;min-height:0;display:grid;overflow:hidden}.topbar{flex:none;width:100%;min-width:0}.topbar>div:first-child{min-width:0}.topbar>div:last-child{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.app-layout{grid-template-columns:clamp(255px,24vw,330px) minmax(0,1fr);align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;align-self:stretch;width:auto;min-width:0;height:100%;min-height:0;overflow:hidden auto}.main-area{flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.workspace-toolbar{flex-wrap:wrap;flex:none;width:100%;min-width:0}.workspace-statuses{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.workspace{flex:auto;justify-content:stretch;align-items:stretch;width:100%;min-width:0;height:auto;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}.workspace>.plan-editor-shell{flex:auto;width:100%;min-width:0;height:100%;min-height:0}.workspace>.placeholder-card{max-width:min(620px,100%);max-height:100%;margin:auto;overflow:auto}.plan-editor-shell{flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.plan-editor-shell>.canvas-note,.plan-editor-shell>.canvas-feedback{flex:none;min-width:0}.plan-scroll-area{flex:auto;justify-content:stretch;align-items:stretch;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.plan-scroll-area>.plan-svg{flex:auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;margin:0;display:block}.canvas-note{flex-wrap:wrap;max-width:100%}.canvas-instruction{flex:260px;min-width:0}.canvas-instruction span{overflow-wrap:anywhere}@media (width<=1100px){.app-layout{grid-template-columns:minmax(235px,27vw) minmax(0,1fr)}.workspace{padding:9px}.topbar{padding-left:14px;padding-right:14px}}@media (width<=820px){.app-layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.workspace{padding:7px}.workspace-toolbar{gap:6px}.status-pill{white-space:normal}}@media (height<=760px){.topbar{padding-top:8px;padding-bottom:8px}.topbar h1{margin-top:0;margin-bottom:0}.workspace-toolbar{padding-top:6px;padding-bottom:6px}.workspace{padding-top:7px;padding-bottom:7px}.statusbar{padding-top:4px;padding-bottom:4px}.canvas-note,.canvas-feedback{padding-top:6px;padding-bottom:6px}}
