:root{color:#17231d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f1eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.geometry-view{background:#edf0e9;border-radius:14px;width:100%;height:auto;display:block}.plan-wall{stroke:#26362e;stroke-linecap:square}.plan-wall-planned{stroke:#c47d2e}.plan-wall-hit{stroke:#0000;stroke-width:20px}.plan-wall-hit-node{fill:#0000}.plan-wall-group.is-editable{cursor:pointer;pointer-events:bounding-box;outline:none}.plan-wall-group.is-editable:hover .plan-wall,.plan-wall-group.is-editable:focus .plan-wall,.plan-wall-group.is-selected .plan-wall{stroke:#d47d25}.plan-window{stroke:#4d9eb3;stroke-linecap:butt;stroke-width:5px}.plan-opening-hit{stroke:#0000;stroke-width:20px}.plan-opening-hit-node{fill:#0000}.plan-opening-group.is-editable{cursor:pointer;pointer-events:bounding-box;outline:none}.plan-opening-group.is-editable:hover .plan-window,.plan-opening-group.is-editable:focus .plan-window,.plan-opening-group.is-selected .plan-window{stroke:#d47d25;stroke-width:8px}.plan-space{fill:#526f7b12;stroke:none}.plan-space-group{cursor:pointer;outline:none}.plan-space-group:hover .plan-space,.plan-space-group:focus .plan-space,.plan-space-group.is-selected .plan-space{fill:#c47d2e2e;stroke:#c47d2e;stroke-width:2px}.plan-space-planned{fill:#d29b5438}.plan-space-label{fill:#536168;paint-order:stroke;pointer-events:none;stroke:#ffffffd9;stroke-width:3px;text-anchor:middle;font-size:11px;font-weight:700}.plan-space-area{fill:#7b8589;font-size:9px;font-weight:650}.plan-dimension{pointer-events:none}.plan-dimension line{stroke:#b86317;stroke-width:1.5px}.plan-dimension circle{fill:#b86317}.plan-dimension text{fill:#8b4e17;paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;text-anchor:middle;font-size:10px;font-weight:800}.plan-reference-overlay{pointer-events:none}.plan-furnishing polygon{fill:#b67e3d6b;stroke:#8b5d2c;stroke-width:2px}.plan-furnishing-kitchen-island polygon{fill:#567c6573;stroke:#416b50}.plan-furnishing text{fill:#4f3b27;paint-order:stroke;pointer-events:none;stroke:#ffffffe6;stroke-width:3px;text-anchor:middle;font-size:9px;font-weight:800}.plan-furnishing.is-editable{cursor:pointer;outline:none}.plan-furnishing.is-editable:hover polygon,.plan-furnishing.is-editable:focus polygon,.plan-furnishing.is-selected polygon{fill:#e28b3094;stroke:#d47d25;stroke-width:4px}.plan-door{stroke:#3f7555;stroke-linecap:round;stroke-width:5px}.plan-door-closed{opacity:.35;stroke-dasharray:8 7}.plan-swing{fill:none;opacity:.65;stroke:#719580;stroke-dasharray:6 5;stroke-width:2px}.plan-hinge{fill:#17231d}.plan-door-hit{fill:none;stroke:#0000;stroke-width:20px}.plan-door-group.is-editable{cursor:pointer;pointer-events:bounding-box;outline:none}.plan-door-group.is-editable:hover .plan-door,.plan-door-group.is-editable:focus .plan-door,.plan-door-group.is-selected .plan-door{stroke:#d47d25;stroke-width:7px}.plan-door-group.is-editable:hover .plan-swing,.plan-door-group.is-editable:focus .plan-swing,.plan-door-group.is-selected .plan-swing{stroke:#d49555;stroke-width:3px}.plan-door-group.is-selected .plan-hinge{fill:#b86317;stroke:#fff;stroke-width:2px}.plan-space.has-floor-finish{opacity:.88}.plan-wall-finish{pointer-events:none;stroke-linecap:butt;stroke-width:4px}.scene-floor-finish{stroke:#0000002e;stroke-width:.6px}.scene-wall.has-finish{stroke:#28282873}.plan-door-planned{filter:sepia()saturate(1.6)}.scene-floor{fill:#dbe2db}.scene-wall{fill:url(#wall-surface);stroke:#7a827b;stroke-width:1.5px}.scene-door{fill:url(#door-surface);stroke:#31533e;stroke-width:2px}.project-scene-wall{fill:url(#project-wall-surface)}.project-scene-door{fill:url(#project-door-surface)}.material-mode-material .project-scene-wall{fill:url(#project-wall-material);stroke:#8b7c65}.material-mode-material .project-scene-door{fill:url(#project-door-material);stroke:#4d301d}.material-mode-material .scene-floor{fill:#cfd8cb}.scene-wall-planned{fill:#e4b675;stroke:#a86c24}.scene-door-planned{fill:#d89543;stroke:#8d571c}.scene-furnishing polygon{fill:#a97845;stroke:#62462d;stroke-width:1.5px}.scene-furnishing-kitchen-island polygon{fill:#6f937d;stroke:#365a43}.scene-furnishing.is-selected polygon{stroke:#e48321;stroke-width:3px}.material-mode-material .scene-furnishing polygon{fill:#a26f3d;stroke:#4d301d}.material-mode-material .scene-furnishing-kitchen-island polygon{fill:#517b62;stroke:#294936}.plan-north-arrow circle{fill:#ffffffd9;stroke:#536168;stroke-width:1px}.plan-north-arrow path{fill:#1f2a30}.plan-north-arrow text{fill:#1f2a30;text-anchor:middle;font-size:10px;font-weight:800}.plan-north-arrow.is-estimate circle{stroke-dasharray:3 2}.plan-space-photos{fill:#805622;font-size:9px;font-weight:750}.onboarding-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0d1b20b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.onboarding-dialog{background:#f8faf8;border:1px solid #ffffff38;border-radius:18px;width:min(680px,100%);overflow:hidden;box-shadow:0 28px 90px #03101561}.onboarding-header,.onboarding-footer{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.onboarding-header{border-bottom:1px solid #dce4e1}.onboarding-header>div{color:#20383f;align-items:center;gap:10px;font-size:.78rem;font-weight:850;display:flex}.onboarding-brand{color:#17282f;background:#d29b54;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.9rem;display:grid}.onboarding-header button{color:#667b82;cursor:pointer;background:0 0;border:0;font-size:.66rem;font-weight:750}.onboarding-content{min-height:330px;padding:46px 58px 42px;position:relative}.onboarding-marker{color:#dce7e2;pointer-events:none;font-size:5.6rem;font-weight:900;line-height:1;position:absolute;top:20px;right:34px}.onboarding-kicker{color:#9a6a31;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.64rem;font-weight:850}.onboarding-content h2{color:#21383f;outline:none;max-width:470px;margin:0;font-size:clamp(1.6rem,4vw,2.35rem);line-height:1.08;position:relative}.onboarding-content>p:not(.onboarding-kicker){color:#586e75;max-width:530px;margin:18px 0 0;font-size:.82rem;line-height:1.65;position:relative}.onboarding-content ul{gap:9px;margin:22px 0 0;padding:0;list-style:none;display:grid}.onboarding-content li{color:#385158;align-items:flex-start;gap:9px;font-size:.72rem;line-height:1.5;display:flex}.onboarding-content li:before{content:"✓";color:#3f7359;background:#e0eee6;border-radius:999px;flex:none;place-items:center;width:19px;height:19px;font-size:.6rem;font-weight:900;display:grid}.onboarding-footer{background:#f1f5f3;border-top:1px solid #dce4e1}.onboarding-progress,.onboarding-footer>div:last-child{align-items:center;gap:7px;display:flex}.onboarding-progress span{background:#c5d1cd;border-radius:999px;width:7px;height:7px}.onboarding-progress span[aria-current=step]{background:#4f7764;width:24px}.onboarding-footer button{color:#fff;cursor:pointer;background:#486f5c;border:1px solid #486f5c;border-radius:8px;min-width:104px;padding:9px 14px;font-size:.68rem;font-weight:800}.onboarding-footer button.secondary{color:#52696f;background:#fff;border-color:#bac9c3}@media (width<=620px){.onboarding-backdrop{padding:12px}.onboarding-content{min-height:360px;padding:34px 24px 30px}.onboarding-marker{font-size:4rem;top:18px;right:18px}.onboarding-footer{align-items:flex-end}.onboarding-footer>div:last-child{flex-direction:column-reverse}.onboarding-footer button{min-width:116px}}.import-preview-backdrop{z-index:110;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0d1b20bd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.import-preview-dialog{background:#f8faf8;border:1px solid #ffffff38;border-radius:18px;width:min(620px,100%);overflow:hidden;box-shadow:0 28px 90px #0310156b}.import-preview-header,.import-preview-actions{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.import-preview-header{border-bottom:1px solid #dce4e1}.import-preview-header>div{align-items:center;gap:12px;min-width:0;display:flex}.import-preview-header>div>span{color:#3f7359;background:#e1eee7;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.import-preview-header div div{gap:2px;min-width:0;display:grid}.import-preview-header small{color:#74858a;letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:800}.import-preview-header strong{color:#263f46;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.import-preview-header>button{color:#6d7e83;cursor:pointer;background:0 0;border:0;font-size:1.25rem}.import-preview-content{padding:34px 40px 30px}.import-preview-kicker{color:#9a6a31;letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:.62rem;font-weight:850}.import-preview-content h2{color:#21383f;outline:none;margin:0;font-size:1.75rem}.import-preview-content>p:not(.import-preview-kicker,.import-preview-safety){color:#5b7076;margin:12px 0 0;font-size:.76rem;line-height:1.6}.import-preview-summary{grid-template-columns:2fr 1fr 1fr;gap:8px;margin:24px 0 0;display:grid}.import-preview-summary div{background:#fff;border:1px solid #d7e1dd;border-radius:10px;min-width:0;padding:13px 14px}.import-preview-summary dt{color:#7a8b8f;text-transform:uppercase;margin-bottom:5px;font-size:.56rem;font-weight:800}.import-preview-summary dd{color:#263f46;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;font-weight:850;overflow:hidden}.import-preview-variants{color:#405960;background:#edf3f0;border-radius:10px;margin-top:15px;padding:14px 16px;font-size:.67rem}.import-preview-variants ul{flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none;display:flex}.import-preview-variants li{background:#fff;border:1px solid #ccd9d4;border-radius:999px;padding:5px 8px}.import-preview-safety{color:#3e6252;align-items:flex-start;gap:9px;margin:18px 0 0;font-size:.68rem;line-height:1.5;display:flex}.import-preview-safety span{background:#dcebe2;border-radius:999px;flex:none;place-items:center;width:19px;height:19px;font-size:.58rem;font-weight:900;display:grid}.import-preview-actions{background:#f1f5f3;border-top:1px solid #dce4e1;justify-content:flex-end}.import-preview-actions button{color:#fff;cursor:pointer;background:#486f5c;border:1px solid #486f5c;border-radius:8px;min-width:132px;padding:10px 15px;font-size:.68rem;font-weight:800}.import-preview-actions button.secondary{color:#52696f;background:#fff;border-color:#bac9c3}@media (width<=620px){.import-preview-backdrop{padding:12px}.import-preview-content{padding:28px 22px 24px}.import-preview-summary{grid-template-columns:1fr 1fr}.import-preview-summary div:first-child{grid-column:1/-1}.import-preview-actions button{min-width:0}}:root{--studio-ink:#182026;--studio-muted:#66737a;--studio-line:#d9dfe0;--studio-panel:#f7f8f6;--studio-canvas:#e9ece8;--studio-dark:#111a20;--studio-dark-soft:#1b272e;--studio-accent:#c9914b;--studio-accent-soft:#f4e7d4}body{background:var(--studio-dark);overflow:hidden}button{-webkit-tap-highlight-color:transparent}.studio-shell{background:var(--studio-canvas);width:100vw;height:100svh;color:var(--studio-ink);grid-template:"topbar topbar topbar"62px"project canvas properties"minmax(0,1fr)"status status status"32px/258px minmax(0,1fr) 304px;display:grid;overflow:hidden}.studio-topbar{z-index:20;background:var(--studio-dark);color:#f5f4ef;border-bottom:1px solid #2f3a40;grid-area:topbar;grid-template-columns:minmax(240px,1fr) auto minmax(420px,1fr);align-items:center;gap:20px;padding:0 18px;display:grid;box-shadow:0 2px 14px #0a101338}.studio-brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--studio-accent);color:#1a1d1e;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:1rem;font-weight:850;display:grid}.studio-brand>div{min-width:0;display:grid}.studio-brand strong{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.studio-brand div span{color:#91a0a7;font-size:.68rem}.project-state-badge,.source-chip{color:#bfc8cc;white-space:nowrap;border:1px solid #4a575e;border-radius:999px;padding:5px 8px;font-size:.64rem}.view-switcher{background:#0c1317;border:1px solid #344047;border-radius:10px;padding:3px;display:flex}.view-switcher button{color:#93a0a6;cursor:pointer;background:0 0;border:0;border-radius:7px;min-width:58px;padding:7px 11px;font-size:.72rem;font-weight:750}.view-switcher button[aria-pressed=true]{color:#fff;background:#334149;box-shadow:0 1px 4px #0003}.topbar-actions{justify-content:flex-end;align-items:center;gap:3px;min-width:0;display:flex}.topbar-actions button,.mobile-topbar-actions button{color:#d5dbde;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:.69rem;font-weight:650}.topbar-actions button:hover,.mobile-topbar-actions button:hover{background:#28343a}.topbar-actions .explicit-save-button{color:#fff;background:#416c57}.topbar-actions .explicit-save-button:hover{background:#527e68}.topbar-actions button:disabled{cursor:not-allowed;opacity:.35}.toolbar-separator{background:#354149;width:1px;height:24px;margin:0 5px}.mobile-topbar-actions{display:none}.studio-sidebar{z-index:10;background:var(--studio-panel);min-height:0;position:relative;overflow:auto}.project-sidebar{border-right:1px solid var(--studio-line);grid-area:project}.properties-sidebar{border-left:1px solid var(--studio-line);grid-area:properties}.panel-heading{border-bottom:1px solid var(--studio-line);justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.panel-heading h2{letter-spacing:.02em;margin:0;font-size:.78rem}.mobile-panel-close{width:32px;height:32px;color:var(--studio-ink);cursor:pointer;background:#e8ece9;border:0;border-radius:8px;font-size:1.25rem;display:none}.project-summary{border-bottom:1px solid var(--studio-line);align-items:center;gap:11px;padding:15px 16px;display:flex}.project-thumbnail{color:#75552f;background:#e6ded0;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:.72rem;font-weight:850;display:grid}.project-summary div{gap:2px;min-width:0;display:grid}.project-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.project-summary div span{color:var(--studio-muted);font-size:.68rem}.sidebar-section{border-bottom:1px solid var(--studio-line);padding:16px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.section-heading h3,.property-group h3{color:#778287;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:800}.section-heading>span{color:#8e999e;font-size:.64rem}.studio-layer-list{gap:4px;display:grid}.project-catalog{gap:6px;display:grid}.project-catalog button{width:100%;color:var(--studio-ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #d7ddda;border-radius:9px;gap:3px;padding:9px 10px;display:grid}.project-catalog button:hover{background:#f0f2ee}.project-catalog button[aria-pressed=true]{background:var(--studio-accent-soft);border-color:#c9a774}.project-catalog strong{font-size:.68rem}.project-catalog small{color:#7c898e;font-size:.58rem;line-height:1.35}.project-variant-create{color:#416c57;cursor:pointer;background:#f3f8f4;border:1px dashed #9eb5aa;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;padding:8px 9px;font-size:.64rem;font-weight:800;display:flex}.project-variant-create:hover{background:#eaf3ed;border-style:solid}.project-variant-create:disabled{cursor:not-allowed;opacity:.5}.project-workspace-export{color:#40584d;cursor:pointer;text-align:left;background:#fff;border:1px solid #d3ddd8;border-radius:9px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;width:100%;margin-top:7px;padding:7px 9px;display:grid}.project-workspace-export>span:first-child{color:#416c57;background:#e4eee8;border-radius:7px;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:900;display:grid}.project-workspace-export>span:last-child{gap:1px;min-width:0;display:grid}.project-workspace-export strong{font-size:.59rem}.project-workspace-export small{color:#7c898e;font-size:.52rem}.project-workspace-export:hover{background:#f5f9f6;border-color:#aebfb6}.project-variant-form{background:#edf5f0;border:1px solid #c8d7cf;border-radius:9px;gap:8px;margin-top:9px;padding:10px;display:grid}.project-variant-form label{color:#536a61;gap:4px;font-size:.58rem;font-weight:800;display:grid}.project-variant-form input{min-width:0;color:var(--studio-ink);font:inherit;background:#fff;border:1px solid #afc1b8;border-radius:7px;padding:7px 8px;font-size:.63rem}.project-variant-form p,.project-variant-empty{color:#7c898e;margin:0;font-size:.57rem;line-height:1.45}.project-variant-form>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.project-variant-form button{color:#fff;cursor:pointer;background:#486f5c;border:1px solid #486f5c;border-radius:7px;padding:7px;font-size:.57rem;font-weight:800}.project-variant-form button.secondary{color:#5d7168;background:#fff;border-color:#b7c6bf}.project-variant-empty,.project-variant-list{margin-top:9px}.project-variant-list{gap:7px;display:grid}.project-variant-list article{background:#fff;border:1px solid #d7ddda;border-radius:9px;overflow:hidden}.project-variant-list article[data-active=true]{background:var(--studio-accent-soft);border-color:#c9a774}.project-variant-open{width:100%;color:var(--studio-ink);cursor:pointer;text-align:left;background:0 0;border:0;gap:3px;padding:9px 10px 7px;display:grid}.project-variant-open strong{font-size:.68rem}.project-variant-open small{color:#7c898e;font-size:.56rem;line-height:1.35}.project-variant-actions,.project-variant-confirm>div,.project-variant-list form>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 8px 8px;display:grid}.project-variant-actions button,.project-variant-confirm button,.project-variant-list form button{color:#526b5e;cursor:pointer;background:#f4f8f5;border:1px solid #b7c6bf;border-radius:6px;padding:6px;font-size:.54rem;font-weight:800}.project-variant-actions button.danger,.project-variant-confirm button.danger{color:#8b4e3c;background:#fff7f4;border-color:#d8bdb4}.project-variant-actions button:disabled{cursor:not-allowed;opacity:.42}.project-variant-list form,.project-variant-confirm{background:#edf5f0;gap:7px;padding-top:8px;display:grid}.project-variant-list form label{color:#536a61;gap:4px;padding:0 8px;font-size:.56rem;font-weight:800;display:grid}.project-variant-list form input{min-width:0;color:var(--studio-ink);font:inherit;background:#fff;border:1px solid #afc1b8;border-radius:7px;padding:7px 8px;font-size:.62rem}.project-variant-list form button[type=submit]{color:#fff;background:#486f5c;border-color:#486f5c}.project-variant-confirm{background:#fff7f4}.project-variant-confirm p{color:#7d5b51;margin:0;padding:0 8px;font-size:.55rem;line-height:1.4}.project-variant-comparison{background:#f0f5f2;border:1px solid #c7d4ce;border-radius:10px;gap:9px;margin-top:10px;padding:10px;display:grid}.project-variant-comparison>header{justify-content:space-between;align-items:center;gap:9px;display:flex}.project-variant-comparison>header div{gap:2px;min-width:0;display:grid}.project-variant-comparison>header div span{color:#74867d;letter-spacing:.04em;text-transform:uppercase;font-size:.52rem;font-weight:800}.project-variant-comparison>header strong{color:#345344;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.project-variant-comparison>header>span{color:#fff;background:#416c57;border-radius:999px;flex:none;place-items:center;width:27px;height:27px;font-size:.62rem;font-weight:900;display:grid}.project-variant-comparison-list{gap:3px;display:grid}.project-variant-comparison-list>div{background:#ffffffb3;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 6px;display:flex}.project-variant-comparison-list span{color:#50645b;font-size:.56rem;font-weight:750}.project-variant-comparison-list small{color:#8a9690;font-size:.52rem}.project-variant-comparison-list>div[data-changed=true]{background:#fff5e8}.project-variant-comparison-list>div[data-changed=true] small{color:#99682e;font-weight:850}.project-variant-comparison>p{color:#8a9690;margin:0;font-size:.49rem}.version-history-help,.version-history-empty,.version-history-limit{color:#7c898e;margin:0;font-size:.6rem;line-height:1.45}.version-history-list{gap:5px;max-height:230px;margin-top:9px;display:grid;overflow:auto}.version-history-list button{width:100%;color:var(--studio-ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #d7ddda;border-radius:8px;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;display:grid}.version-history-list button:hover{background:#f3f8f4;border-color:#b9c8c0}.version-history-list button:disabled{cursor:not-allowed;opacity:.5}.version-history-list button>span:first-child{color:#456550;background:#e9f0eb;border-radius:7px;place-items:center;width:25px;height:25px;font-size:.85rem;font-weight:800;display:grid}.version-history-list button>span:last-child{gap:2px;min-width:0;display:grid}.version-history-list strong,.version-history-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.version-history-list strong{font-size:.63rem}.version-history-list small{color:#7c898e;font-size:.56rem}.version-history-limit{margin-top:7px}.studio-layer-row{border:1px solid #0000;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.studio-layer-row:hover{background:#ecefeb}.studio-layer-row[data-selected=true]{background:var(--studio-accent-soft);border-color:#d7c09e}.studio-layer-row[data-visible=false] .layer-copy,.studio-layer-row[data-visible=false] .layer-dot{opacity:.45}.layer-select{border-radius:inherit;width:100%;min-width:0;color:var(--studio-ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:9px;padding:9px;display:grid}.visibility-toggle{color:#718087;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;margin-right:4px;display:grid}.layer-dot{border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #ffffffa6}.layer-copy{gap:1px;display:grid}.layer-copy strong{font-size:.73rem}.layer-copy small,.library-action small{color:#849096;font-size:.61rem}.visibility-toggle:hover,.visibility-toggle:focus-visible{color:#345563;background:#ffffffb3}.library-action{width:100%;color:var(--studio-ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #d6dcda;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.library-action>span:first-child{background:var(--studio-accent-soft);color:#906127;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:1rem;display:grid}.library-action>span:last-child{gap:2px;display:grid}.library-action strong{font-size:.7rem}.library-action:disabled{cursor:not-allowed;opacity:.5}.source-warning{background:#fff7eb;border:1px solid #ead6b8;border-radius:10px;margin:16px;padding:12px}.source-warning strong{color:#7f5929;font-size:.68rem}.source-warning p{color:#876f53;margin:5px 0 0;font-size:.64rem;line-height:1.45}.source-legend{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.source-legend li{color:#6e6252;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:.6rem;display:grid}.source-legend li>span{background:#59846a;border-radius:50%;width:7px;height:7px}.source-legend li[data-status=derived]>span{background:#668a9a}.source-legend li[data-status=estimate]>span{background:#b58143}.source-legend li[data-status=planned]>span{background:#c47d2e}.source-legend li strong{color:#5f5244;font-size:.6rem}.studio-canvas{background:#dfe4e0;grid-area:canvas;grid-template-rows:48px minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.canvas-toolbar{z-index:4;background:#f9faf8f0;border-bottom:1px solid #cfd6d2;justify-content:space-between;align-items:center;gap:14px;padding:0 16px;display:flex;box-shadow:0 2px 8px #25302b0d}.canvas-toolbar>div{align-items:baseline;gap:8px;min-width:0;display:flex}.canvas-toolbar div span{color:var(--studio-muted);font-size:.65rem}.canvas-toolbar div strong{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.canvas-toolbar .source-chip{color:#825d2e;background:#fff7e9;border-color:#d2b98f}.canvas-toolbar .canvas-tools{align-items:center}.focus-switcher{background:#eef1ed;border:1px solid #cdd4d0;border-radius:7px;padding:2px;display:flex}.focus-switcher button{color:#647278;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 7px;font-size:.58rem;font-weight:700}.focus-switcher button[aria-pressed=true]{color:#26352e;background:#fff;box-shadow:0 1px 4px #242f291f}.edit-mode-toggle{color:#536168;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c7d0cc;border-radius:7px;padding:5px 8px;font-size:.58rem;font-weight:750}.edit-mode-toggle[aria-pressed=true]{color:#8b5418;background:#fff1dd;border-color:#c47d2e}.viewport-grid{gap:12px;min-width:0;min-height:0;padding:14px;display:grid}.empty-geometry-state{text-align:center;background:#f8f9f6e0;border:1px solid #cbd3cf;border-radius:14px;place-self:center;max-width:440px;margin:24px;padding:24px;box-shadow:0 8px 30px #232e2812}.empty-geometry-state strong{font-size:.86rem}.empty-geometry-state p{color:var(--studio-muted);margin:8px 0 0;font-size:.7rem;line-height:1.55}.viewport-split{grid-template-columns:repeat(2,minmax(0,1fr))}.viewport-2d,.viewport-3d{grid-template-columns:minmax(0,1fr)}.viewport-card{background:#f8f9f6;border:1px solid #c8d0cc;border-radius:12px;grid-template-rows:34px minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 30px #232e2814}.viewport-label{z-index:3;background:#f8f9f6;border-bottom:1px solid #dce1de;justify-content:space-between;align-items:center;padding:0 11px;display:flex}.viewport-label strong{color:#fff;background:#253139;border-radius:5px;place-items:center;width:23px;height:20px;font-size:.62rem;display:grid}.viewport-label span{color:#78848a;font-size:.61rem}.scene-camera-controls{align-items:center;gap:3px;display:flex}.scene-camera-controls button{color:#536168;cursor:pointer;background:#fff;border:1px solid #ccd4d0;border-radius:6px;min-width:25px;padding:4px 6px;font-size:.56rem;font-weight:750}.scene-camera-controls button:hover,.scene-camera-controls button[aria-pressed=true]{color:#805622;background:#fff1d8;border-color:#c8a36b}.scene-camera-controls button:disabled{cursor:not-allowed;opacity:.4}.overlay-toggle{color:#647278;cursor:pointer;background:#fff;border:1px solid #ccd4d0;border-radius:7px;padding:5px 8px;font-size:.59rem;font-weight:700}.overlay-toggle[aria-pressed=true]{color:#805622;background:#fff1d8;border-color:#c8a36b}.viewport-surface{background:#eef1ec;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.grid-paper{opacity:.48;background-image:linear-gradient(#d6ddd8 1px,#0000 1px),linear-gradient(90deg,#d6ddd8 1px,#0000 1px),linear-gradient(#c7d0ca 1px,#0000 1px),linear-gradient(90deg,#c7d0ca 1px,#0000 1px);background-position:50%;background-size:20px 20px,20px 20px,100px 100px,100px 100px;position:absolute;inset:0}.viewport-surface .geometry-view{z-index:2;background:0 0;border-radius:8px;width:min(94%,840px);height:min(88%,620px);margin:0;transition:transform .18s}.viewport-focus-entrance .plan-viewport .geometry-view{transform-origin:50% 73%;transform:scale(2.4)}.viewport-focus-entrance .scene-viewport .geometry-view{transform-origin:52% 55%;transform:scale(1.8)}.scene-surface{background:radial-gradient(circle at 50% 48%,#f8f8f3 0 28%,#0000 68%),linear-gradient(#e9ede8,#dce2dd)}.viewport-2d .viewport-surface .geometry-view,.viewport-3d .viewport-surface .geometry-view{width:min(86%,980px);height:min(86%,720px)}.canvas-scale{z-index:5;background:#ffffffd1;border-radius:6px;align-items:center;gap:7px;padding:5px 8px;display:flex;position:absolute;bottom:23px;left:28px;box-shadow:0 2px 8px #25302b1a}.canvas-scale span{border-top:2px solid #34434a;width:46px}.canvas-scale small{color:#516067;font-size:.58rem}.selection-card{border-bottom:1px solid var(--studio-line);align-items:center;gap:11px;padding:16px;display:flex}.selection-icon{border-radius:10px;width:36px;height:36px;box-shadow:inset 0 0 0 1px #0000001a}.door-icon{color:#fff;background:#3f7555;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.window-icon{color:#fff;background:#4d9eb3;place-items:center;font-size:1.05rem;font-weight:800;display:grid}.wall-icon{color:#fff;background:#26362e;place-items:center;font-size:.9rem;font-weight:800;display:grid}.furnishing-icon{color:#fff;background:#8b5d2c;place-items:center;font-size:.9rem;font-weight:800;display:grid}.space-icon{color:#fff;background:#668a9a;place-items:center;font-size:.66rem;font-weight:850;display:grid}.selection-card div{gap:2px;display:grid}.selection-card span{color:var(--studio-muted);font-size:.62rem}.selection-card strong{font-size:.77rem}.property-group{border-bottom:1px solid var(--studio-line);padding:16px}.property-group h3{margin-bottom:11px}.property-group dl{gap:8px;margin:0;display:grid}.property-group dl div{grid-template-columns:88px minmax(0,1fr);align-items:center;min-height:30px;display:grid}.property-group dt{color:var(--studio-muted);font-size:.66rem}.property-group dd{text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #dce1df;border-radius:7px;margin:0;padding:7px 8px;font-size:.67rem;overflow:hidden}.door-editor-actions{gap:8px;margin-top:11px;display:grid}.door-editor-actions button,.restore-template-button{color:#31533e;cursor:pointer;text-align:left;background:#fff;border:1px solid #b9c8c0;border-radius:8px;width:100%;padding:9px 10px;font-size:.66rem;font-weight:750}.door-editor-actions button:hover,.restore-template-button:hover{background:#f3f8f4;border-color:#7b9d89}.door-editor-actions button:disabled,.restore-template-button:disabled{cursor:not-allowed;opacity:.5}.opening-editor{gap:10px;display:grid}.opening-editor h3,.opening-editor p{margin:0}.opening-editor>label{color:#536168;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:9px;font-size:.65rem;display:grid}.layer-position-editor{gap:10px;display:grid}.layer-position-editor h3,.layer-position-editor p{margin:0}.layer-position-editor>label{color:#536168;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:9px;font-size:.65rem;display:grid}.layer-position-editor.is-protected>strong{color:#775b38;font-size:.68rem}.furnishing-editor{gap:10px;display:grid}.furnishing-editor h3,.furnishing-editor p{margin:0}.furnishing-editor>label{color:#536168;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:9px;font-size:.65rem;display:grid}.millimeter-input{background:#fff;border:1px solid #cbd4d0;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.millimeter-input:focus-within{border-color:#719580;box-shadow:0 0 0 2px #71958026}.millimeter-input input{color:#26352e;background:0 0;border:0;outline:0;min-width:0;padding:7px 5px 7px 8px;font-size:.67rem}.millimeter-input small{color:#849095;padding-right:7px;font-size:.56rem}.opening-source{color:#849095;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.restore-template-button{color:#775b38;border-color:#d7c7b0}.measurement-card{background:#fff;border:1px solid #dbded9;border-radius:9px;gap:5px;padding:11px;display:grid}.space-inspector{gap:11px;display:grid}.space-inspector h3,.space-inspector p{margin:0}.space-area-card{background:#eef5f6;border:1px solid #c8d5d9;border-radius:9px;gap:3px;padding:12px;display:grid}.space-area-card span{color:#66808a;font-size:.6rem}.space-area-card strong{color:#345563;font-size:1.05rem}.measurement-register{padding:14px}.measurement-register-summary{gap:4px;margin-bottom:11px;display:grid}.measurement-register-summary strong{font-size:.75rem}.measurement-register-summary span{color:var(--studio-muted);font-size:.61rem;line-height:1.45}.custom-measurement-form{background:#eef5f6;border:1px solid #c8d5d9;border-radius:9px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.custom-measurement-form h3{color:#345563;margin:0 0 2px;font-size:.68rem}.custom-measurement-form label{color:#587078;gap:3px;font-size:.55rem;font-weight:750;display:grid}.custom-measurement-form input,.custom-measurement-form select{color:#25382d;min-width:0;font:inherit;background:#fff;border:1px solid #b9c9cd;border-radius:7px;padding:7px 8px;font-size:.62rem;font-weight:600}.custom-measurement-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;display:grid}.custom-measurement-form button,.measurement-edit,.measurement-remove{color:#fff;cursor:pointer;background:#486f5c;border:1px solid #668a79;border-radius:7px;padding:7px 9px;font-size:.58rem;font-weight:800}.custom-measurement-actions,.measurement-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.custom-measurement-actions .secondary{color:#587078;background:#fff;border-color:#b9c9cd}.measurement-register-list article>.measurement-card-actions{margin-top:7px;display:grid}.measurement-edit,.measurement-remove{width:auto;margin:0}.measurement-edit{color:#486f5c;background:#f1f7f3;border-color:#9fb6aa}.measurement-remove{color:#8b4e3c;background:#fff8f5;border-color:#d3c0b8}.measurement-register-list .custom-measurement-form[data-mode=edit]{margin:8px 0 0}.measurement-register-list{gap:7px;display:grid}.measurement-register-list article{background:#fff;border:1px solid #d9dfdc;border-radius:9px;padding:9px}.measurement-register-list article>header,.measurement-register-list article>div{align-items:center;gap:6px;display:flex}.measurement-register-list article>header{justify-content:space-between}.measurement-register-list article>header strong{font-size:.64rem}.measurement-register-list article>header span{color:#25382d;white-space:nowrap;font-size:.68rem;font-weight:850}.measurement-register-list article>div{color:#718087;margin-top:6px;font-size:.55rem}.measurement-register-list article>div strong{color:#536168;font-size:.55rem}.measurement-register-list article>div small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.measurement-status-dot{background:#59846a;border-radius:50%;flex:none;width:7px;height:7px}.measurement-register-list article[data-status=derived] .measurement-status-dot{background:#668a9a}.measurement-register-list article[data-status=estimate] .measurement-status-dot{background:#b58143}.measurement-register-list article[data-status=planned] .measurement-status-dot{background:#c47d2e}.measurement-register-list article>p{color:#849095;margin:6px 0 0;font-size:.54rem;line-height:1.4}.furnishing-library{gap:10px;display:grid}.furnishing-library h3,.furnishing-library p{margin:0}.furnishing-library-actions,.furnishing-list{gap:7px;display:grid}.furnishing-library-actions button{color:#31533e;cursor:pointer;text-align:left;background:#fff;border:1px solid #b9c8c0;border-radius:8px;padding:9px;font-size:.63rem;font-weight:750}.furnishing-list article{background:#fff;border:1px solid #d9dfdc;border-radius:8px;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px;padding:8px;display:grid}.furnishing-list article>div{gap:2px;display:grid}.furnishing-list strong{font-size:.63rem}.furnishing-list small{color:#7c898e;font-size:.55rem}.furnishing-list button{color:#8b5418;cursor:pointer;background:#f3e8dc;border:0;border-radius:7px;width:28px;height:28px}.measurement-card>span{color:var(--studio-muted);font-size:.64rem}.measurement-card>strong{font-size:1rem}.measurement-card>div{justify-content:space-between;align-items:center;gap:6px;display:flex}.measurement-card small{color:#8b969a;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.estimate-badge{color:#8a602c;background:#fff1d9;border-radius:999px;padding:4px 6px;font-size:.56rem;font-weight:750}.locked-control{color:#536168;justify-content:space-between;align-items:center;font-size:.66rem;display:flex}.locked-control input{accent-color:#4f6c59;width:15px;height:15px}.property-help,.empty-properties{color:#849095;font-size:.62rem;line-height:1.45}.empty-properties{margin:16px}.studio-statusbar{z-index:21;background:var(--studio-dark);color:#9ba7ac;border-top:1px solid #2f3a40;grid-area:status;justify-content:space-between;align-items:center;gap:18px;padding:0 12px;font-size:.58rem;display:flex}.studio-statusbar p,.studio-statusbar div{align-items:center;gap:9px;min-width:0;margin:0;display:flex}.studio-statusbar p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.studio-statusbar div span+span{border-left:1px solid #3a454b;padding-left:9px}.status-dot{background:#6fa37d;border-radius:999px;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #6fa37d1f}.mobile-bottom-nav,.mobile-scrim{display:none}@media (width<=1500px){.topbar-actions button:not(.explicit-save-button) span{display:none}}@media (width<=1120px){.studio-shell{grid-template-columns:220px minmax(0,1fr) 258px}.studio-topbar{grid-template-columns:minmax(210px,1fr) auto minmax(250px,1fr);gap:10px;padding:0 12px}.topbar-actions button span,.project-state-badge{display:none}}@media (width<=760px){body{overflow:hidden}.studio-shell{grid-template:"topbar"56px"canvas"minmax(0,1fr)"status"28px"mobile-nav"54px/minmax(0,1fr)}.studio-topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 10px}.brand-mark{width:32px;height:32px}.studio-brand div span,.project-state-badge,.view-switcher,.topbar-actions{display:none}.mobile-topbar-actions{display:flex}.mobile-topbar-actions button{padding:7px 6px;font-size:.62rem}.studio-sidebar{z-index:50;border:0;width:min(86vw,340px);transition:transform .18s;display:block;position:fixed;top:56px;bottom:54px;box-shadow:0 18px 60px #070c0f4d}.project-sidebar{left:0;transform:translate(-105%)}.properties-sidebar{right:0;transform:translate(105%)}.studio-sidebar[data-mobile-open=true]{transform:translate(0)}.mobile-panel-close{place-items:center;display:grid}.studio-canvas{grid-template-rows:44px minmax(0,1fr)}.canvas-toolbar{padding:0 10px}.canvas-toolbar>div{gap:0;display:grid}.canvas-toolbar .source-chip{text-overflow:ellipsis;max-width:138px;overflow:hidden}.canvas-toolbar .canvas-tools{display:flex}.canvas-toolbar .source-chip{display:none}.focus-switcher button{padding-inline:5px;font-size:.55rem}.viewport-grid{gap:8px;padding:8px}.viewport-split{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:1fr}.viewport-card{border-radius:9px}.viewport-label{min-height:30px}.viewport-surface .geometry-view{width:92%;height:90%}.canvas-scale{bottom:12px;left:16px}.studio-statusbar{padding:0 9px}.studio-statusbar>div{display:none}.mobile-bottom-nav{z-index:45;background:var(--studio-dark);border-top:1px solid #2f3a40;grid-area:mobile-nav;grid-template-columns:repeat(5,1fr);padding:4px 7px 5px;display:grid}.mobile-bottom-nav button{color:#a9b3b8;cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:.58rem;font-weight:750}.mobile-bottom-nav button[aria-pressed=true]{color:#fff;background:#2c3940}.mobile-bottom-nav button:disabled{opacity:.4}.mobile-scrim{z-index:40;background:#070c0f73;border:0;display:block;position:fixed;inset:56px 0 54px}}.surface-finish-editor{border:1px solid var(--studio-line);background:#fff;border-radius:8px;gap:8px;margin-top:10px;padding:10px;display:grid}.surface-finish-current{align-items:center;gap:9px;display:flex}.surface-finish-current span,.surface-finish-current small{color:var(--studio-muted);font-size:.62rem;display:block}.surface-finish-current strong{color:var(--studio-ink);font-size:.72rem;display:block}.surface-finish-swatch{border:1px solid #00000038;border-radius:5px;flex:none;width:22px;height:22px}.surface-finish-swatch.pattern-planks{background-image:repeating-linear-gradient(0deg,#0000 0 5px,#00000038 5px 6px)!important}.surface-finish-swatch.pattern-tiles{background-image:linear-gradient(90deg,#0000 10px,#00000038 10px 11px,#0000 11px),linear-gradient(0deg,#0000 10px,#00000038 10px 11px,#0000 11px)!important}.surface-finish-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.surface-finish-presets button,.surface-finish-custom button{border:1px solid var(--studio-line);color:var(--studio-ink);cursor:pointer;text-align:left;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:5px 6px;font-size:.6rem;font-weight:650;display:flex}.surface-finish-presets button[aria-pressed=true]{border-color:var(--studio-accent);background:var(--studio-accent-soft)}.surface-finish-presets .surface-finish-swatch{width:16px;height:16px}.surface-finish-custom{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.surface-finish-custom label{color:var(--studio-muted);align-items:center;gap:6px;font-size:.62rem;display:flex}.surface-finish-custom input[type=color]{border:1px solid var(--studio-line);border-radius:4px;width:32px;height:24px;padding:0}.surface-finish-remove{color:#9b3b2b!important}.viewport-card:has(.realistic-controls){grid-template-rows:34px auto minmax(0,1fr)}.scene-style-toggle{background:#fff;border:1px solid #ccd4d0;border-radius:7px;gap:2px;margin-left:8px;margin-right:auto;padding:2px;display:flex}.scene-style-toggle button,.realistic-controls button{color:#536168;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 8px;font-size:.58rem;font-weight:750}.scene-style-toggle button[aria-pressed=true],.realistic-controls button[aria-pressed=true]{color:#805622;background:#fff1d8;border-color:#c8a36b}.realistic-controls{background:#fbfcfa;border-bottom:1px solid #dce1de;gap:6px;padding:7px 11px;display:grid}.realistic-controls-row{color:var(--studio-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.6rem;display:flex}.realistic-controls-row label{align-items:center;gap:5px;display:flex}.realistic-controls-row input[type=date],.realistic-controls-row input[type=number]{color:var(--studio-ink);background:#fff;border:1px solid #ccd4d0;border-radius:5px;padding:3px 5px;font-size:.62rem}.realistic-controls-row input[type=number]{width:62px}.realistic-time input[type=range]{width:min(220px,36vw)}.realistic-sun-readout{color:#805622;background:#fff1d8;border-radius:999px;padding:3px 7px;font-weight:750}.realistic-sun-readout[data-sun-up=false]{color:#e7edf0;background:#1b272e}.realistic-controls-divider{background:#dce1de;width:1px;height:16px}.realistic-site p{flex:260px;margin:0;line-height:1.35}.realistic-site strong[data-status=estimate]{color:#8a4f12;background:#fbe3c4;border-radius:999px;padding:1px 6px}.realistic-surface{background:#a9cdea;place-items:stretch stretch}.realistic-view{touch-action:none;outline:none;width:100%;height:100%;min-height:240px;position:relative}.realistic-view canvas{display:block;width:100%!important;height:100%!important}.realistic-view:focus-visible{box-shadow:inset 0 0 0 2px var(--studio-accent)}.realistic-view-unsupported{color:var(--studio-muted);place-items:center;padding:24px;font-size:.75rem;display:grid}.walk-pad{grid-template-columns:repeat(3,38px);gap:4px;display:grid;position:absolute;bottom:12px;right:12px}.walk-pad button{color:#fff;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:#111a208c;border:1px solid #fff9;border-radius:8px;height:34px;font-size:.8rem}.space-photos-actions{gap:6px;margin:6px 0;display:flex}.space-photos-actions button,.space-photo-remove,.space-photo-lightbox button{color:#31533e;cursor:pointer;background:#fff;border:1px solid #b9c8c0;border-radius:7px;padding:6px 9px;font-size:.63rem;font-weight:750}.space-photos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.space-photos-grid li{gap:4px;display:grid}.space-photo-thumb{aspect-ratio:4/3;border:1px solid var(--studio-line);cursor:zoom-in;color:var(--studio-muted);background:#eef1ec;border-radius:7px;place-items:center;padding:0;font-size:.58rem;display:grid;overflow:hidden}.space-photo-thumb img{object-fit:cover;width:100%;height:100%}.space-photos-grid input{border:1px solid var(--studio-line);border-radius:5px;padding:4px 6px;font-size:.62rem}.space-photos-grid small{color:var(--studio-muted);font-size:.56rem}.space-photo-remove{color:#9b3b2b;justify-self:start}.space-photo-lightbox{z-index:100;background:#0a0f12e0;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:fixed;inset:0}.space-photo-lightbox img{border-radius:8px;max-width:min(92vw,1200px);max-height:78vh}.space-photo-lightbox p{color:#e7edf0;margin:0}.tracer{z-index:90;background:#f4f5f1;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.tracer-header{color:#eef2ee;background:#111a20;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.tracer-header h2{margin:0 0 3px;font-size:.95rem}.tracer-header p{color:#c3ccc8;margin:0;font-size:.7rem}.tracer button,.tracer select,.tracer input:not([type=checkbox]){color:#1d2a26;background:#fff;border:1px solid #c4ccc6;border-radius:7px;padding:6px 9px;font-size:.68rem}.tracer button{cursor:pointer;font-weight:700}.tracer button[aria-pressed=true]{color:#805622;background:#fff1d8;border-color:#c8a36b}.tracer .tracer-primary{color:#fff;background:#31533e;border-color:#31533e}.tracer-close{color:#eef2ee!important;background:0 0!important}.tracer-upload{background:#fff;border:1px solid #dce1de;border-radius:12px;gap:14px;max-width:520px;margin:24px auto;padding:18px;display:grid}.tracer-upload label{gap:5px;font-size:.72rem;font-weight:700;display:grid}.tracer-note{color:#5d6a64;margin:0;font-size:.68rem}.tracer-toolbar{background:#fff;border-bottom:1px solid #dce1de;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 14px;font-size:.68rem;display:flex}.tracer-toolbar label{align-items:center;gap:5px;display:flex}.tracer-tools{flex-wrap:wrap;gap:4px;display:flex}.tracer-length input{width:130px}.tracer-zoom{gap:4px;margin-left:auto;display:flex}.tracer-canvas{background:#e3e6e0;padding:12px;overflow:auto}.tracer-canvas svg{cursor:crosshair;touch-action:pan-x pan-y pinch-zoom;background:#fff;display:block}.tracer-wall{stroke:#1f2a30;stroke-linecap:square;opacity:.85}.tracer-opening{stroke:#fff;stroke-linecap:butt}.tracer-opening-window{stroke:#9ed0e6}.tracer-opening-door{stroke:#f2c879}.tracer-space{fill:#7ea38440;stroke:#5f8a67;stroke-dasharray:6 4}.tracer-space-draft{fill:none;stroke:#5f8a67}.tracer-preview{stroke:#c9914b;stroke-linecap:square;opacity:.7}.tracer-length-label{fill:#805622;paint-order:stroke;stroke:#fff;stroke-width:3px;text-anchor:middle;font-weight:800}.tracer-cursor{fill:none;stroke:#c9914b;stroke-width:2px;vector-effect:non-scaling-stroke}.tracer-cursor.is-snapped{fill:#c9914b}.tracer-calibration-point{fill:#c0392b}.tracer-calibration-line{stroke:#c0392b;stroke-dasharray:8 6}.tracer-footer{background:#fff;border-top:1px solid #dce1de;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 16px;font-size:.68rem;display:flex}.tracer-footer p{color:#5d6a64;flex:260px;margin:0}.tracer-footer label{align-items:center;gap:5px;display:flex}.tracer-footer input{width:72px}.tracer-error{font-weight:700;color:#9b3b2b!important}.surface-groups{gap:8px;display:grid}.group-form,.group-body{border:1px solid var(--studio-line);background:#fff;border-radius:8px;gap:8px;padding:10px;display:grid}.group-form label,.group-body>label{color:var(--studio-muted);gap:4px;font-size:.62rem;display:grid}.group-form input,.group-body input[type=text],.group-body>label input{border:1px solid var(--studio-line);border-radius:6px;padding:5px 7px;font-size:.68rem}.group-spaces{border:1px solid var(--studio-line);border-radius:6px;gap:3px;margin:0;padding:6px 8px;font-size:.64rem;display:grid}.group-spaces legend{color:var(--studio-muted);text-transform:uppercase;padding:0 4px;font-size:.58rem;font-weight:750}.group-spaces label{align-items:center;gap:6px;display:flex}.group-form-actions{gap:6px;display:flex}.group-form-actions button,.group-remove{border:1px solid var(--studio-line);cursor:pointer;background:#fff;border-radius:6px;padding:5px 9px;font-size:.62rem;font-weight:750}.group-remove{color:#9b3b2b;justify-self:start}.group-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.group-summary{border:1px solid var(--studio-line);cursor:pointer;text-align:left;background:#fff;border-radius:8px;gap:2px;width:100%;padding:8px 10px;display:grid}.group-summary strong{font-size:.72rem}.group-summary small{color:var(--studio-muted);font-size:.6rem}.group-list li.is-open .group-summary{background:#fff8ec;border-color:#c8a36b}.cloud-login,.cloud-account{gap:8px;display:grid}.cloud-login input{border:1px solid var(--studio-line);border-radius:7px;padding:7px 9px;font-size:.7rem}.cloud-login button,.cloud-account button{border:1px solid var(--studio-line);color:var(--studio-ink);cursor:pointer;text-align:left;background:#fff;border-radius:7px;padding:7px 10px;font-size:.64rem;font-weight:750}.cloud-login button[type=submit],.cloud-primary{gap:2px;color:#fff!important;background:#31533e!important;border-color:#31533e!important;display:grid!important}.cloud-primary small{color:#d6e4da;font-weight:500}.cloud-note{color:var(--studio-muted);margin:0;font-size:.62rem}.cloud-user{gap:1px;margin:0;font-size:.66rem;display:grid}.cloud-user span,.cloud-user small{color:var(--studio-muted);font-size:.6rem}.cloud-conflict{background:#fff6e6;border:1px solid #e3b86b;border-radius:8px;gap:6px;padding:9px;font-size:.64rem;display:grid}.cloud-conflict p{margin:0}.cloud-projects{gap:6px;font-size:.64rem;display:grid}.cloud-projects ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.cloud-projects li button{gap:2px;width:100%;display:grid}.cloud-projects small{color:var(--studio-muted);font-weight:500}.cloud-actions,.cloud-delete-confirm{flex-wrap:wrap;gap:6px;display:flex}.cloud-danger{color:#9b3b2b!important}.wall-extend-actions{grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 8px;display:grid}.wall-extend-actions button{color:#6b4a1f;font:inherit;cursor:pointer;background:#fff8ee;border:1px solid #c9a774;border-radius:6px;padding:6px 8px;font-size:12px}.wall-extend-actions button:disabled{opacity:.45;cursor:not-allowed}
