@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/3d-floorplan/assets/fonts/dm-sans-latin-variable.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/3d-floorplan/assets/fonts/manrope-latin-variable.woff2) format("woff2")}:root{font-family:DM Sans,sans-serif;color:#34382f;background:#f5f4ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.48}button,input{outline-offset:4px}button:focus-visible{outline:2px solid #758673}button svg{flex-shrink:0}button{color:inherit}::selection{background:#dce3d1}:root{--studio-surface:#fafaf6;--studio-ink:#34382f;--studio-muted:#626c57;--studio-accent:#465e45;--studio-control-border:#849376;--studio-focus:#465e45;--studio-ease:cubic-bezier(.16,1,.3,1)}input,textarea,select{font:inherit;color:var(--studio-ink);caret-color:var(--studio-accent)}:focus-visible{outline:2px solid var(--studio-focus);outline-offset:3px}.plan-view{position:absolute;inset:0;overflow:hidden;background:#f4f1ea;touch-action:none;-webkit-user-select:none;user-select:none;color:#615e54}.plan-view svg{display:block;width:100%;height:100%;padding:45px 36px 38px;box-sizing:border-box;outline:none;touch-action:none}.plan-view>svg:focus-visible{outline:2px solid #315d44;outline-offset:-5px}.plan-interactive:focus-visible{outline:none}.plan-focus-ring{fill:none;stroke:none;pointer-events:none}.plan-interactive:focus-visible .plan-focus-ring,.plan-wall:focus-visible .plan-wall-hit,.plan-opening:focus-visible .plan-opening-hit{stroke:#315d44;stroke-width:2;vector-effect:non-scaling-stroke}.plan-interactive.is-invalid:focus-visible .plan-focus-ring{stroke:#bc5144}.plan-keyboard-instructions{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.plan-view.tool-furniture,.plan-view.tool-wall,.plan-view.tool-door,.plan-view.tool-window{cursor:crosshair}.plan-sheet-heading,.plan-sheet-footer{position:absolute;left:32px;right:32px;display:flex;justify-content:space-between;pointer-events:none;font-size:9px;font-weight:500;line-height:1.3;letter-spacing:.16em;color:#979182}.plan-sheet-heading{top:23px}.plan-sheet-footer{bottom:20px;font-size:9px;letter-spacing:.04em}.plan-wall-poche{fill:#686457;stroke:#4f4c42;stroke-width:.014;vector-effect:non-scaling-stroke}.plan-wall-hit{fill:transparent;stroke:none}.plan-wall{cursor:pointer}.plan-wall.is-selected .plan-wall-poche{fill:#79987c;stroke:#315d44;stroke-width:.027}.plan-opening{fill:none;stroke:#666859;stroke-width:.017;cursor:pointer}.plan-opening-hit{fill:transparent;stroke:none}.plan-window-line{stroke:#879ea0;stroke-width:.02}.plan-door-swing{stroke:#969282;stroke-width:.012;stroke-dasharray:.04 .025}.plan-door-leaf{stroke:#737567;stroke-width:.027}.plan-opening.is-selected{stroke:#315d44}.plan-opening.is-selected .plan-door-swing,.plan-opening.is-selected .plan-window-line,.plan-opening.is-selected .plan-door-leaf{stroke:#315d44;stroke-width:.028}.plan-furniture{fill:#f8f6ef;stroke:#8f8b7d;stroke-width:.013;cursor:grab}.plan-furniture:active{cursor:grabbing}.plan-furniture-detail{fill:none;stroke:#bab4a6;stroke-width:.009}.plan-rug{fill:var(--plan-rug,#ddd4c3);stroke:#c3baa7;stroke-width:.014}.plan-rug-inner{fill:none;stroke:#c2b8a3;stroke-width:.014;stroke-dasharray:.018 .025}.plan-leaf{fill:#a3b092;stroke:#74866e}.plan-pendant{fill:none;stroke-dasharray:.045 .025;stroke:#b7ad92}.plan-wardrobe,.plan-mediaConsole,.plan-kitchenCounter,.plan-kitchenCooker,.plan-island,.plan-coffeeTable,.plan-sideTable,.plan-diningTable{fill:var(--plan-wood,#ded4c3)}.plan-bed,.plan-singleBed{fill:var(--plan-fabric,#faf8f0)}.plan-sofa,.plan-armchair{fill:var(--plan-fabric,#f8f6ef)}.plan-counter{fill:var(--plan-wood,#f8f6ef)}.plan-shower{fill:#eef0eb}.plan-selection{fill:#567b6520;stroke:#3c6b51;stroke-width:.018;stroke-dasharray:.07 .04;pointer-events:none}.plan-selection-dot{fill:#fff;stroke:#3c6b51;stroke-width:.016}.plan-furniture.is-selected{stroke:#4c6a53}.plan-furniture.is-preview{opacity:.84}.plan-furniture.is-invalid{fill:#eed0c9;stroke:#bc6559}.plan-furniture.is-invalid .plan-selection{fill:#d3524520;stroke:#bc5144}.plan-furniture.is-valid .plan-selection{fill:#43835a20;stroke:#3c6b51}.plan-dimensions{fill:none;stroke:#9f998b;stroke-width:.012}.plan-dimensions rect{fill:#f4f1ea;stroke:none}.plan-dimensions text{fill:#8a8376;stroke:none;font:400 .13px ui-sans-serif,system-ui,sans-serif;letter-spacing:.005px}.plan-room-labels text{fill:#726c5b;paint-order:stroke;stroke:#f4f1eae8;stroke-width:.045;stroke-linejoin:round;font-family:ui-sans-serif,system-ui,sans-serif}.plan-room-name{font-size:.115px;font-weight:600;letter-spacing:.018px}.plan-room-area{font-size:.105px;font-weight:400;letter-spacing:.003px}.plan-wall-preview{stroke:#456a51;fill:#fff;stroke-width:.035}.plan-wall-preview line{stroke-width:.14;opacity:.7}.plan-wall-preview text{stroke:none;fill:#456a51;font:600 .14px ui-sans-serif,system-ui,sans-serif;paint-order:stroke}.plan-scale,.plan-north{fill:none;stroke:#8c8474;stroke-width:.014}.plan-scale text,.plan-north text{stroke:none;fill:#8c8474;font:400 .12px ui-sans-serif,system-ui,sans-serif}.plan-invalid-message{position:absolute;bottom:100px;left:50%;transform:translate(-50%);max-width:80%;background:#a34b3d;color:#fff;padding:9px 14px;border-radius:7px;font-size:12px;box-shadow:0 5px 18px #522c2420;pointer-events:none}.plan-view.is-commenting,.plan-view.is-commenting svg,.plan-view.is-commenting svg *{cursor:crosshair}.plan-comment-pin{cursor:pointer;outline:none}.plan-comment-bubble{fill:#435e45;stroke:#fffdf6;stroke-width:.035}.plan-comment-stem{fill:none;stroke:#435e45;stroke-width:.035}.plan-comment-location{fill:#435e45;stroke:#fffdf6;stroke-width:.018}.plan-comment-pin text{fill:#fffdf6;stroke:none;font:600 .23px ui-sans-serif,system-ui,sans-serif;pointer-events:none}.plan-comment-focus{fill:none;stroke:#435e45;stroke-width:.025;visibility:hidden}.plan-comment-pin.is-active .plan-comment-focus,.plan-comment-pin.is-draft .plan-comment-focus,.plan-comment-pin:focus-visible .plan-comment-focus{visibility:visible}.plan-comment-pin:hover .plan-comment-bubble,.plan-comment-pin.is-active .plan-comment-bubble{fill:#2f4834}.plan-comment-plus{fill:none;stroke:#fffdf6;stroke-width:.025;stroke-linecap:round}.plan-design-target-diamond{fill:#fffdf6;stroke:#8a5139;stroke-width:.035;stroke-linejoin:round}.plan-design-target-ticks{fill:none;stroke:#8a5139;stroke-width:.035;stroke-linecap:round}.plan-design-target-center{fill:#8a5139}@media(max-width:700px){.plan-view svg{padding:40px 8px}.plan-sheet-heading,.plan-sheet-footer{left:18px;right:18px;font-size:8px}}.plan-view{--plan-annotation:#5d594e}.plan-sheet-heading,.plan-sheet-footer{color:var(--plan-annotation)}.plan-sheet-footer{bottom:9px;justify-content:center;text-align:center;font-size:10px;letter-spacing:0}.plan-dimensions text,.plan-room-labels text,.plan-scale text,.plan-north text{fill:var(--plan-annotation)}.plan-fixture{fill:var(--plan-fixture-ceramic,#f4f2ea)}.plan-fixture-cabinet{fill:var(--plan-fixture-cabinet,#d5cbb9)}.plan-fixture-panel{fill:var(--plan-fixture-panel,#e4ddd0)}.plan-fixture.is-invalid .plan-fixture-cabinet,.plan-fixture.is-invalid .plan-fixture-panel{fill:#eed0c9;stroke:#bc6559}.plan-keyboard-cursor{fill:#fffdf8;stroke:#315d44;stroke-width:2px;vector-effect:non-scaling-stroke}.plan-keyboard-cursor>*{vector-effect:non-scaling-stroke}.plan-keyboard-cursor path{fill:none}.plan-placement-controls{position:absolute;top:122px;right:16px;z-index:8;max-width:calc(100% - 32px);width:max-content;max-inline-size:min(330px,calc(100% - 32px));padding:10px;background:#fffdf8;border:1px solid #849376;border-radius:7px;color:#384534;box-shadow:0 4px 16px #29392318;font-size:12px;line-height:1.45}.plan-placement-controls label{display:flex;align-items:center;gap:8px}.plan-placement-controls select{min-width:0;flex:1;max-width:210px;padding:6px;border:1px solid #849376;border-radius:4px;background:#fffdf8;color:#384534;font:inherit}.plan-placement-controls p{margin:8px 0;font-size:11px}.plan-placement-controls .plan-placement-error{color:#9b4234}.plan-placement-controls output{display:block;font-variant-numeric:tabular-nums;font-size:11px}.plan-placement-controls>div{display:flex;gap:6px;margin-top:8px}.plan-placement-controls button{min-height:32px;padding:6px 9px;border:1px solid #849376;border-radius:4px;background:#f4f5ed;color:#384534;font:inherit}.plan-placement-controls button:hover{background:#e8eddf}.plan-view.has-keyboard-placement>svg{padding:80px 350px 110px 24px}@media(max-width:1100px){.plan-view.has-keyboard-placement>svg{padding:292px 12px 144px}}.plan-placement-controls button:focus-visible,.plan-placement-controls select:focus-visible{outline:2px solid #315d44;outline-offset:3px}@media(max-width:700px){.plan-placement-controls{top:122px;right:12px;max-width:calc(100% - 24px);max-inline-size:calc(100% - 24px)}.plan-placement-controls button,.plan-placement-controls select{min-height:44px}.plan-placement-controls select{font-size:16px}}.studio-shell{height:100vh;min-height:600px;display:flex;flex-direction:column;overflow:hidden}.header{height:72px;flex-shrink:0;border-bottom:1px solid #dfdfd6;background:#fafaf6;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-family:Manrope,sans-serif;font-size:20px;font-weight:650;letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:13px}.local-badge{font-size:11px;color:#74766a;display:flex;align-items:center;gap:7px}.local-badge>span,.status-dot{width:5px;height:5px;border-radius:50%;background:#778a6c;display:inline-block}.divider{height:23px;width:1px;background:#dcded4;margin:0 4px}.workspace{flex:1;min-height:0;display:flex}.sidebar{width:268px;flex-shrink:0;background:#fafaf6;border-right:1px solid #dfdfd6;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:#d3d6c9 transparent}.project-heading{padding:32px 25px 0}.section-label{font-size:9px;letter-spacing:1.6px;font-weight:650;color:#858777}.project-heading h1{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.5px;line-height:1.17;margin:0 0 13px;font-weight:650}.project-heading h1>span{color:#7c8d6d}.project-heading p{font-size:11px;color:#939486;line-height:1.7;white-space:nowrap;letter-spacing:-.15px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 25px;padding:13px 0 20px;border-bottom:1px solid #e4e5db}.spec-grid>div:last-child{border-left:1px solid #e3e4d9;padding-left:22px}.spec-grid strong{font-size:24px;font-weight:500;letter-spacing:-1px}.spec-grid strong span{font-size:12px;margin-left:6px;letter-spacing:0;color:#858775}.spec-grid small{display:block;font-size:9px;color:#999c8d;margin-top:5px}.material-story{padding:21px 25px}.library-header{margin:0 25px 12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e4e5db;padding-top:18px}.library-header button{border:0;background:transparent;padding:0;display:flex}.furniture-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 18px 20px}.furniture-card{border:1px solid #e5e6dc;border-radius:8px;background:#f3f3ec;display:flex;flex-direction:column;align-items:flex-start;min-height:111px;padding:0 10px 9px;text-align:left;transition:background .15s,border-color .15s}.furniture-card:hover{background:#e9eddf;border-color:#c3cdba}.furniture-card.chosen{border-color:#61775b;background:#e8eddf;box-shadow:0 0 0 1px #61775b}.furniture-card svg{height:65px;width:100%;flex-shrink:0}.furniture-card>span{font-size:10px;font-weight:550;white-space:nowrap}.furniture-card small{font-size:8px;color:#969985;margin-top:3px}.sidebar-bottom{padding:16px 19px;border-top:1px solid #e4e5db;margin-top:auto;background:#fafaf6;position:sticky;bottom:0}.sidebar-bottom .button{width:100%;font-size:10px;white-space:nowrap}.clear-button{border:0;background:transparent;display:flex;align-items:center;gap:6px;justify-content:center;width:100%;font-size:9px;color:#909382;margin-top:12px}.viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:#eeeee8}.viewport>.scene-canvas{position:absolute!important;inset:0}.viewport-top{position:absolute;z-index:3;left:27px;right:27px;top:22px;display:flex;justify-content:space-between;pointer-events:none}.viewport-top>*{pointer-events:auto}.view-tabs{display:flex;border:1px solid #dddfd4;background:#f8f9f2d9;padding:4px;border-radius:9px;box-shadow:0 3px 10px #3d433508;gap:2px}.view-tabs button{display:flex;gap:7px;align-items:center;padding:8px 13px;border:0;background:transparent;border-radius:5px;font-size:11px;color:#8c9080}.view-tabs button.active{background:#fff;color:#3e4b3a;box-shadow:0 1px 4px #4e554518}.height-toggle{display:flex;align-items:center;gap:7px;background:#f8f9f2da;border:1px solid #dddfd4;border-radius:8px;padding:11px 12px;font-size:10px;color:#7c8171}.toggle{display:flex;width:22px;height:12px;background:#cccfbf;border-radius:12px;margin-left:6px;padding:2px}.toggle i{width:8px;height:8px;background:#fff;border-radius:50%}.height-toggle.active .toggle{background:#738767;justify-content:flex-end}.camera-presets{position:absolute;top:89px;left:29px;display:flex;align-items:center;gap:6px}.camera-presets>span{font-size:8px;color:#a0a38f;letter-spacing:1.3px;margin-right:7px}.camera-presets button{background:transparent;border:1px solid transparent;border-radius:20px;display:flex;gap:5px;align-items:center;padding:6px 10px;color:#8b907d;font-size:10px}.camera-presets button.active{background:#f6f7efd9;border-color:#dce0d0;color:#57694f}.scene-caption{position:absolute;left:30px;bottom:110px;display:flex;gap:12px;align-items:center;pointer-events:none}.scene-caption-line{width:24px;height:1px;background:#98a28b}.scene-caption strong{font-size:10px;font-weight:450;letter-spacing:.1px;color:#7a826e;display:block}.scene-caption div>span{display:block;font-size:8px;color:#a2a691;margin-top:7px;letter-spacing:1px;text-transform:uppercase}.compass{position:absolute;right:34px;bottom:102px;display:flex;align-items:center;flex-direction:column;gap:6px;transform:rotate(-15deg)}.compass>span{font-size:9px;color:#939b85}.toolbar{position:absolute;left:50%;transform:translate(-50%);bottom:24px;display:flex;gap:5px;padding:7px;background:#fdfef8e8;border:1px solid #dbdece;border-radius:13px;box-shadow:0 8px 30px #3d463510;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.toolbar button{background:transparent;border:0;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:12px;color:#8c9180;font-size:10px}.toolbar button.active{color:#f4f6ed;background:#465e45;box-shadow:0 3px 6px #3d543322}.toolbar button:hover:not(.active){background:#edf0e4;color:#516547}.toolbar button:not(.active) span{display:none}.statusbar{height:31px;background:#fafaf6;border-top:1px solid #dedfd4;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 23px;font-size:9px;color:#8a917d}.statusbar>span{display:flex;align-items:center;gap:8px;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusbar>div{display:flex;gap:23px}.statusbar>div>span{display:flex;align-items:center;gap:5px}.button{border-radius:6px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:12px;font-weight:500;min-height:36px;padding:8px 13px;border:1px solid transparent;transition:background .15s}.button-default{background:#465e45;color:#fff}.button-outline{border-color:#d9decd;background:transparent;color:#778369}.button-outline:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:#edf0e5}.button-ghost{background:transparent;color:#7e8773}.button-icon{width:34px;height:34px;min-height:34px;padding:0}.button-sm{min-height:30px;padding:5px 9px}.selection-bar{position:absolute;bottom:98px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#fffffaf2;border:1px solid #d9dfcf;border-radius:9px;padding:8px 10px;box-shadow:0 6px 25px #344e3514;z-index:6}.selection-icon{padding:10px;background:#eef1e5;border-radius:6px;color:#718268}.selection-bar strong{font-size:11px;font-weight:550;display:block}.selection-bar small{font-size:9px;color:#98a18c;white-space:nowrap;display:block;margin-top:3px}.placement-note{font:10px DM Sans,sans-serif;background:#f8fbf0;border:1px solid #adc09b;color:#557446;padding:7px 11px;border-radius:5px;box-shadow:0 2px 10px #293d2110}.placement-note.invalid{background:#fff0eb;color:#b74735;border-color:#e6a090}.scene-loading{white-space:nowrap;background:#fffdf4e8;border:1px solid #ddd9c7;border-radius:8px;padding:16px 22px;font-size:12px;color:#78765c;display:flex;align-items:center;gap:10px}.scene-loading>span{width:12px;height:12px;border:1px solid #9ea385;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog-overlay{position:fixed;inset:0;background:#30372d55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30}.dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fafbf5;padding:36px;width:440px;max-width:90vw;z-index:31;border-radius:14px;box-shadow:0 20px 80px #18271630}.dialog h2{font-family:Manrope;font-weight:550;letter-spacing:-1px;font-size:27px;margin:0 0 14px}.dialog p{font-size:12px;color:#859079;line-height:1.7}.dialog-close{position:absolute;right:14px;top:14px}.shortcuts{border-top:1px solid #dde2d2;border-bottom:1px solid #dde2d2;padding:15px 0;margin:20px 0}.shortcuts>div{display:flex;gap:13px;align-items:center;margin:9px 0;font-size:11px;color:#747e68}.shortcuts kbd{width:48px;border:1px solid #dce1d1;border-radius:4px;padding:4px;text-align:center;font-size:10px;background:#f1f4e9}.help-note{font-size:11px!important}@media(max-height:850px){.project-heading{padding-top:23px}.project-heading h1{font-size:27px}.material-story{padding-top:16px;padding-bottom:16px}.spec-grid{padding-top:8px;padding-bottom:14px}}@media(max-width:1100px){.sidebar{width:238px}.project-heading{padding-left:20px;padding-right:20px}.project-heading p{font-size:10px}.scene-caption{display:none}.height-toggle{font-size:9px}.header{padding:0 21px}.furniture-grid{padding-left:13px;padding-right:13px}.toolbar{bottom:20px}.toolbar button{padding:11px}}.view-2d .compass,.view-2d .scene-caption,.view-2d .height-toggle,.view-2d .plan-sheet-heading{display:none}.project-heading p{white-space:normal}.layout-controls{margin:20px 0 4px;padding:16px 0;border-top:1px solid #dedfd5;border-bottom:1px solid #dedfd5}.layout-controls>label{font-size:9px;letter-spacing:1.7px;color:#7c826f;display:block;margin-bottom:8px}.layout-select{position:relative}.layout-controls select{appearance:none;width:100%;min-height:38px;border:1px solid #d7dacd;border-radius:6px;background:#f8f9f3;padding:9px 38px 9px 12px;color:#384534;font:inherit;font-size:12px;cursor:pointer}.layout-select>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#59654f}.local-file-actions{display:flex;gap:8px;margin:9px 0 0}.local-file-actions button{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid #d7dacd;border-radius:5px;color:#59654f;padding:7px 5px;font-size:10px;flex:1;cursor:pointer}.comments-panel{margin-bottom:10px;border-bottom:1px solid #dedfd5}.sidebar-bottom .button:disabled{opacity:1;color:#858c7d;border-color:#e1e4d8;background:#f2f3ec}.comments-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 0;border:0;background:transparent;color:#52604a;text-align:left;font-size:12px}.comments-toggle:hover{color:#343f2e}.comments-toggle>span{flex:1}.comments-toggle .expanded{transform:rotate(180deg)}.comments-content{padding:2px 0 14px}.comments-content label{display:block;font-size:12px;font-weight:500;margin-bottom:7px}.comments-content textarea{display:block;width:100%;min-height:88px;max-height:220px;resize:vertical;border:1px solid #bdc6b2;border-radius:6px;background:#fffef9;color:#34382f;padding:9px 10px;font:inherit;font-size:12px;line-height:1.5;caret-color:#465e45}.comments-content textarea::placeholder{color:#687160}.comments-content textarea:focus-visible{outline:2px solid #758673;outline-offset:2px}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.comment-form-actions>span{font-size:10px;font-variant-numeric:tabular-nums;color:#64715c}.comment-form-actions .button{font-size:11px}.comment-form-actions .button:hover:not(:disabled){background:#364d35}.project-heading .comment-storage{font-size:10px;color:#64715c;line-height:1.5;margin:8px 0 0;letter-spacing:0}.project-heading .comment-error{font-size:11px;color:#8e3d2c;line-height:1.5;letter-spacing:0}.comment-list{margin:14px 0 0;padding:0;list-style:none;max-height:270px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c1c9b7 transparent}.comment-list>li{padding:12px 0;border-top:1px solid #dedfd5}.comment-list>li:last-child{padding-bottom:0}.comment-list>li>p{margin:0;color:#34382f;font-size:12px;line-height:1.6;letter-spacing:0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;color:#64715c;font-size:10px}.comment-meta>button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:#64715c}.comment-meta>button:hover{background:#edf0e5;color:#343f2e}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.demo-notice{position:fixed;margin:0;width:240px;max-width:calc(100vw - 16px);padding:13px 15px;border:1px solid #c9d0bf;border-radius:7px;background:#fafbf5;color:#384534;box-shadow:0 5px 18px #28392320;font-size:12px;line-height:1.5}.comment-pin-start{width:100%;font-size:11px;color:#52604a}.comment-pin-instruction{padding:2px 0 9px;font-size:12px;line-height:1.5;color:#52604a}.comment-pin-instruction p{font-size:12px;color:#52604a;margin:0 0 8px}.comment-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:9px}.comment-form-footer .button{font-size:11px}.comment-list .comment-item-active{border-top-color:#829477}.comment-locate{display:flex;align-items:flex-start;gap:9px;width:100%;border:0;border-radius:5px;background:transparent;padding:4px;text-align:left;color:#34382f}.comment-locate:hover{background:#edf0e5}.comment-item-active .comment-locate{background:#e8eddf}.comment-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:23px;height:23px;border-radius:50%;background:#465e45;color:#fff;font-size:11px;font-weight:600}.comment-body{font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.comment-unpinned{display:block;color:#64715c;font-size:10px;margin-top:5px}.comment-pin-3d{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:2px solid #fffdf6;border-radius:50% 50% 50% 0;background:#465e45;color:#fff;font:600 12px DM Sans,sans-serif;box-shadow:0 3px 9px #1d302438;cursor:pointer}.comment-pin-3d:hover,.comment-pin-3d.is-active{background:#293f29;border-color:#d8bb88}.comment-pin-3d.is-active{outline:2px solid #465e45;outline-offset:3px}.comment-pin-3d.is-draft{background:#fafbf5;color:#465e45;border-style:dashed;border-color:#465e45;pointer-events:none}.viewport.is-pinning canvas{cursor:crosshair}.comment-placement-note{position:absolute;left:50%;bottom:102px;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);background:#fafbf5;color:#384534;border:1px solid #c9d0bf;border-radius:7px;padding:11px 13px;font-size:12px;box-shadow:0 5px 18px #28392318}.comment-placement-note button{border:0;background:transparent;color:#465e45;padding:4px;text-decoration:underline;text-underline-offset:3px}.design-chat{position:absolute;bottom:98px;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 48px));z-index:14}.design-chat-form{background:#fafbf5;border:1px solid #cbd3bf;border-radius:10px;padding:9px 12px 11px;box-shadow:0 6px 24px #29392318}.design-chat-heading{display:flex;align-items:center;gap:7px;margin-bottom:5px;font-size:11px;color:#384534}.design-chat-heading label{font-weight:600}.design-chat-heading>span,.design-chat-launcher>span{color:#64715c;font-size:10px}.design-chat-heading>button{margin-left:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:#64715c;border-radius:4px}.design-chat-heading>button:hover{background:#edf0e5}.design-chat-input{display:flex;align-items:center;gap:10px}.design-chat-input input{flex:1;min-width:0;border:0;background:transparent;padding:6px 0;font:inherit;font-size:12px;color:#34382f;caret-color:#465e45}.design-chat-input input::placeholder{color:#687160}.design-chat-input input:focus-visible{outline:2px solid #758673;outline-offset:2px;border-radius:2px}.design-chat-input>button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:0;border-radius:6px;background:#465e45;color:#fff;padding:0}.design-chat-input>button:hover:not(:disabled){background:#364d35}.design-chat-notice{display:flex;align-items:flex-start;gap:10px;border:1px solid #cbd3bf;border-radius:7px;padding:10px 12px;background:#fafbf5;color:#384534;margin-bottom:8px;font-size:12px;line-height:1.5;box-shadow:0 4px 14px #29392312}.design-chat-notice p{margin:0;flex:1}.design-chat-notice button{display:flex;padding:3px;background:transparent;border:0;color:#64715c}.design-chat:not(.is-expanded){width:auto;max-width:calc(100% - 48px)}.design-chat-launcher{display:flex;align-items:center;gap:8px;border:1px solid #cbd3bf;border-radius:7px;background:#fafbf5;color:#384534;box-shadow:0 4px 14px #29392312;padding:10px 13px;font-size:12px;white-space:nowrap}.design-chat-launcher:hover{background:#edf0e5}.viewport:has(.design-chat.is-expanded:not([hidden])) .plan-view>svg{padding-bottom:170px}.palette-options{display:flex;flex-direction:column;gap:3px;margin-top:10px}.palette-option{display:flex;align-items:center;gap:10px;min-height:36px;width:100%;padding:5px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#52604a;font-size:11px;text-align:left}.palette-option:hover{background:#eff1e9}.palette-option.is-active{background:#e9eddf;border-color:#c7d1bc;color:#344c33}.palette-option>svg{margin-left:auto}.palette-preview{display:flex;gap:2px;flex-shrink:0}.palette-preview i{display:block;width:17px;height:22px;border:1px solid #34382f0f}.palette-preview i:first-child{border-radius:3px 0 0 3px}.palette-preview i:last-child{border-radius:0 3px 3px 0}.palette-description{font-size:10px;line-height:1.5;color:#64715c;margin:10px 0 0}.design-chat-target{display:flex;align-items:center;gap:8px;margin-top:7px;min-height:28px;font-size:11px}.design-chat-pin{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5dbcc;border-radius:5px;background:transparent;color:#52604a;padding:5px 7px;font-size:11px;min-height:28px}.design-chat-pin:hover{background:#edf0e5;border-color:#aebda1}.design-chat-target-chip{display:inline-flex;align-items:center;gap:5px;color:#87553d;font-size:11px}.design-chat-remove-target{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:#87553d}.design-chat-remove-target:hover{background:#f0e7dc}.design-chat-pin-instruction{display:flex;align-items:center;justify-content:space-between;flex:1;gap:10px;min-height:28px;font-size:11px;color:#52604a}.design-chat-pin-instruction p{margin:0}.design-chat-pin-instruction button{border:0;background:transparent;color:#465e45;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:11px}.design-target-pin-3d{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid #fffdf6;border-radius:50%;background:#925e40;color:#fffdf6;box-shadow:0 3px 9px #4d302738;pointer-events:none}.studio-shell{height:100dvh;min-height:0}.mobile-layout-toggle{display:none}.project-heading h1{letter-spacing:-.035em}.project-heading>p{font-size:12px;color:var(--studio-muted)}.section-label,.layout-controls>label{font-size:10px;letter-spacing:1.4px;color:var(--studio-muted)}.spec-grid{column-gap:12px;align-items:start}.spec-grid>div{min-width:0}.spec-grid>div:last-child{padding-left:16px}.spec-grid strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums}.spec-grid small{font-size:11px;line-height:1.5;color:var(--studio-muted);text-wrap:pretty}.spec-grid strong span,.local-badge,.furniture-card small{color:var(--studio-muted)}.furniture-card>span{font-size:11px;white-space:normal;line-height:1.4}.furniture-card small{font-size:10px}.library-header button{width:32px;height:32px;align-items:center;justify-content:center;border-radius:5px}.library-header button:hover{background:#edf0e5}.layout-controls select{border-color:var(--studio-control-border);font-size:13px;min-height:42px}.local-file-actions button{min-height:38px;font-size:12px;color:var(--studio-muted);border-color:var(--studio-control-border)}.button-outline{color:var(--studio-muted);border-color:var(--studio-control-border)}.button-ghost,.clear-button,.height-toggle,.view-tabs button,.camera-presets button,.toolbar button{color:var(--studio-muted)}.button-icon{width:40px;height:40px;min-height:40px}.sidebar-bottom .button,.clear-button{font-size:11px}.clear-button{min-height:30px;margin-top:5px;border-radius:5px}.clear-button:hover{background:#edf0e5;color:var(--studio-ink)}.view-tabs button{min-height:36px;font-size:12px}.height-toggle{font-size:11px;min-height:44px;padding:8px 10px}.camera-presets{z-index:3}.camera-presets button{min-height:34px;font-size:11px}.camera-presets>span,.compass>span{color:var(--studio-muted)}.toolbar{background:#fdfef8;border-color:#c9d1be;-webkit-backdrop-filter:none;backdrop-filter:none}.toolbar button{min-width:44px;min-height:44px;font-size:12px}.statusbar{font-size:11px;color:var(--studio-muted);gap:14px}.statusbar>span{min-width:0}.statusbar [role=status]{overflow:hidden;text-overflow:ellipsis}.statusbar>div{flex-shrink:0;gap:16px;font-size:10px}.build-info-trigger{flex-shrink:0;align-self:stretch;border:0;background:transparent;padding:0 2px;color:var(--studio-accent);font-size:11px;text-decoration:underline;text-decoration-color:#849376;text-underline-offset:3px;border-radius:3px}.build-info-trigger:hover{color:#263c27;text-decoration-thickness:2px}.statusbar>span{align-self:stretch;gap:18px}.build-info-dialog{width:500px}.build-info-dialog h2{font-size:25px;padding-right:26px;letter-spacing:-.7px}.build-info-dialog h3{margin:22px 0 8px;font-size:13px;font-weight:600;color:var(--studio-ink)}.build-info-dialog p{font-size:13px;line-height:1.65;margin:0 0 12px}.build-info-dialog a{color:var(--studio-accent);text-decoration-color:#849376;text-underline-offset:3px}.build-info-dialog a:hover{text-decoration-thickness:2px;color:#263c27}.selection-bar{max-width:calc(100% - 24px);gap:6px}.selection-bar>div:nth-child(2){min-width:0}.selection-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-bar small,.scene-caption strong,.scene-caption div>span{color:var(--studio-muted)}.scene-caption{bottom:100px}.viewport:has(.design-chat.is-expanded:not([hidden])) .scene-caption{display:none}.view-2d .toolbar{bottom:36px}.view-2d .design-chat,.view-2d .selection-bar,.view-2d .comment-placement-note{bottom:110px}.viewport:focus{outline:none}.palette-option{min-height:38px;font-size:12px}.palette-preview{width:56px;gap:2px}.palette-preview i{flex:1;min-width:0;width:auto;height:23px}.palette-description{font-size:11px;min-height:33px}.design-chat-heading{font-size:12px}.design-chat-heading>button,.design-chat-remove-target,.design-chat-notice button{min-width:32px;min-height:32px}.design-chat-target{flex-wrap:wrap;margin-bottom:4px}.design-chat-input input{font-size:13px;min-height:36px}.design-chat-input>button{width:36px;height:36px}.design-chat-pin{min-height:32px;font-size:12px}.design-chat-pin-instruction,.design-chat-target-chip{font-size:12px}.design-chat-form:focus-within{border-color:var(--studio-accent)}.dialog{max-height:calc(100dvh - 40px);overflow:auto}.dialog p,.shortcuts>div{color:var(--studio-muted)}.shortcuts kbd{width:70px;flex-shrink:0}.comment-pin-3d{position:relative;isolation:isolate;width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none}.comment-pin-3d:before{content:"";position:absolute;inset:7px;z-index:-1;border:2px solid #fffdf6;border-radius:50% 50% 50% 0;background:var(--studio-accent);box-shadow:0 3px 9px #1d302438}.comment-pin-3d:hover,.comment-pin-3d.is-active,.comment-pin-3d.is-draft{background:transparent}.comment-pin-3d:hover:before,.comment-pin-3d.is-active:before{background:#293f29;border-color:#d8bb88}.comment-pin-3d.is-draft:before{background:var(--studio-surface);border-style:dashed;border-color:var(--studio-accent)}.button-icon{width:44px;height:44px;min-height:44px;flex-shrink:0}.camera-presets button{min-height:44px;min-width:44px}.scene-recovery,.scene-module-loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:160px 24px 180px;text-align:center;background:var(--studio-surface);z-index:2}.scene-recovery h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.035em;margin:0 0 12px}.scene-recovery p{max-width:36ch;font-size:14px;line-height:1.6;color:var(--studio-muted);margin:0 0 20px}.scene-recovery>div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.scene-recovery .button{min-height:44px}.scene-module-loading{color:var(--studio-muted);font-size:14px}.palette-option{transition:background-color .14s,border-color .14s}.palette-selection-check{animation:palette-confirm .22s var(--studio-ease)}.design-target-pin-3d,.comment-pin-3d.is-draft{animation:pin-confirm .22s var(--studio-ease)}@keyframes palette-confirm{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes pin-confirm{0%{scale:.7;opacity:.5}to{scale:1;opacity:1}}@media(prefers-reduced-motion:reduce){.palette-selection-check,.design-target-pin-3d,.comment-pin-3d.is-draft{animation:none}.palette-option{transition:background-color .1s}.scene-loading>span{animation:none;border-top-color:#9ea385;background:#dce3d1}}@media(max-width:1100px){.header{padding:0 20px}.statusbar>div>span:last-child{display:none}.viewport-top{left:20px;right:20px}.camera-presets{left:20px}.selection-icon,.selection-bar .divider{display:none}}@media(max-width:700px){.header{height:64px;padding:0 12px;gap:8px}.brand{font-size:18px;white-space:normal;min-width:0;line-height:1.2}.header-right{gap:2px}.header .divider,.local-badge{display:none}.mobile-layout-toggle{display:inline-flex;min-height:44px;padding:7px 9px;font-size:12px;gap:5px;flex-shrink:0}.sidebar{display:none;width:100%;border-right:0;flex:1}.is-inspector-open .sidebar{display:flex}.is-inspector-open .viewport{display:none}.project-heading{padding:22px 20px 0}.project-heading>p{font-size:13px}.spec-grid{margin:0 20px}.material-story{padding:20px}.library-header{margin:0 20px}.furniture-grid{padding:0 20px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom{padding:12px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px}.sidebar-bottom .button{width:auto;flex:1}.clear-button{width:auto;margin:0;padding:7px;min-height:44px}.viewport-top{top:14px;left:12px;right:12px;gap:8px}.view-tabs{gap:0;padding:3px}.view-tabs button{padding:7px 10px;gap:5px;font-size:12px;min-height:44px}.height-toggle{gap:5px;min-height:46px;font-size:10px;padding:7px}.height-toggle>svg{display:none}.height-toggle .toggle{margin-left:0}.camera-presets{left:12px;top:73px;gap:3px}.camera-presets>span{display:none}.camera-presets button{padding:6px 10px}.toolbar{bottom:max(12px,env(safe-area-inset-bottom));gap:2px;padding:5px;border-radius:11px}.view-2d .toolbar{bottom:max(30px,env(safe-area-inset-bottom))}.view-2d .design-chat,.view-2d .selection-bar,.view-2d .comment-placement-note{bottom:100px}.toolbar button{padding:9px;gap:5px}.toolbar button span{display:none}.design-chat{bottom:84px;width:calc(100% - 24px)}.design-chat:not(.is-expanded){max-width:calc(100% - 24px)}.design-chat-input input,.comment-form textarea,.layout-controls select{font-size:16px}.design-chat-launcher{min-height:44px}.selection-bar{bottom:84px;padding:8px;gap:4px}.selection-bar strong{font-size:12px}.selection-bar small{font-size:10px}.selection-bar .button-icon{width:44px;min-width:44px}.comment-placement-note{bottom:84px;max-width:calc(100% - 24px);width:max-content;font-size:12px}.compass,.scene-caption{display:none}.statusbar{height:44px;padding:0 12px;font-size:11px}.statusbar>span{max-width:100%}.statusbar>div{display:none}.dialog{padding:28px 22px}.palette-option,.local-file-actions button,.comment-pin-start,.comments-toggle,.comment-meta>button,.library-header button,.button-sm{min-height:44px}.comment-meta>button,.library-header button{min-width:44px}.design-chat-heading>button,.design-chat-remove-target,.design-chat-notice button,.design-chat-pin{min-height:44px;min-width:44px}.design-chat-input>button{width:44px;height:44px}.design-chat-pin-instruction button{min-height:44px;min-width:44px}.scene-recovery,.scene-module-loading{padding:200px 20px 160px}}@media(min-width:600px)and (max-height:500px){.header{height:52px;padding:0 12px;gap:8px}.brand{font-size:18px}.header-right{gap:2px}.header .divider,.local-badge{display:none}.mobile-layout-toggle{display:inline-flex;min-height:44px;padding:7px 9px;font-size:12px;gap:5px}.sidebar{display:none;width:100%;border-right:0;flex:1}.is-inspector-open .sidebar{display:flex}.is-inspector-open .viewport{display:none}.sidebar-bottom{padding:8px 20px;display:flex;align-items:center;gap:10px}.sidebar-bottom .button{width:auto;flex:1;min-height:44px}.clear-button{width:auto;margin:0;padding:7px;min-height:44px}.furniture-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.viewport{--utility-width:272px;--drawing-top:60px}.viewport-top{top:4px;left:12px;right:12px;gap:8px}.view-tabs{padding:3px;gap:0}.view-tabs button{min-height:44px;padding:7px 10px;font-size:12px;gap:5px}.height-toggle{min-height:44px;padding:7px;font-size:10px;gap:5px}.height-toggle>svg{display:none}.height-toggle .toggle{margin-left:0}.camera-presets{top:7px;left:226px;gap:2px}.camera-presets>span{display:none}.camera-presets button{min-height:44px;padding:6px 8px;font-size:11px;gap:4px}.viewport>.scene-canvas,.viewport:has(.design-chat.is-expanded:not([hidden]))>.scene-canvas{inset:var(--drawing-top) var(--utility-width) 0 0!important;width:calc(100% - var(--utility-width))!important;height:calc(100% - var(--drawing-top))!important}.viewport .plan-view>svg,.viewport:has(.design-chat.is-expanded:not([hidden])) .plan-view>svg{position:absolute;top:var(--drawing-top);left:0;width:calc(100% - var(--utility-width));height:calc(100% - var(--drawing-top));padding:6px 12px 30px}.viewport .plan-sheet-footer{left:12px;right:calc(var(--utility-width) + 12px);bottom:8px;font-size:10px}.viewport .toolbar{left:auto;right:12px;bottom:10px;transform:none;gap:2px;padding:5px;border-radius:10px}.toolbar button{min-width:44px;min-height:44px;padding:9px}.toolbar button span{display:none}.viewport .design-chat,.viewport .selection-bar,.viewport .comment-placement-note,.viewport .plan-placement-controls{inset:64px 12px auto auto;transform:none;width:calc(var(--utility-width) - 24px);max-width:none;max-inline-size:none;max-height:calc(100% - 142px);overflow:auto;overscroll-behavior:contain}.viewport .design-chat:not(.is-expanded){width:calc(var(--utility-width) - 24px);max-width:none}.design-chat-launcher{min-height:44px;width:100%;justify-content:center}.design-chat-form{padding:7px 10px 10px}.design-chat-heading>button,.design-chat-remove-target,.design-chat-notice button,.design-chat-pin,.design-chat-pin-instruction button{min-height:44px;min-width:44px}.design-chat-input input{font-size:16px;min-height:44px}.design-chat-input>button{width:44px;height:44px}.design-chat-target{gap:5px}.design-chat-target-chip,.design-chat-pin{font-size:11px}.selection-bar{flex-wrap:wrap;justify-content:flex-end;padding:8px}.selection-bar>div:nth-child(2){flex:1 0 100%}.selection-icon,.selection-bar .divider{display:none}.comment-placement-note{align-items:flex-start;flex-direction:column;gap:4px;font-size:12px}.comment-placement-note button{min-height:44px}.viewport .plan-view{touch-action:auto}.viewport .plan-placement-controls{padding:10px}.plan-placement-controls button,.plan-placement-controls select{min-height:44px}.plan-placement-controls select{max-width:160px;font-size:16px}.plan-placement-controls>div{flex-wrap:wrap}.plan-view:has(.plan-placement-controls)~.design-chat,.plan-view:has(.plan-placement-controls)~.comment-placement-note{display:none}.viewport .plan-invalid-message{inset:auto 12px 80px auto;transform:none;width:calc(var(--utility-width) - 24px);max-width:none}.compass,.scene-caption{display:none}.scene-recovery,.scene-module-loading{inset:var(--drawing-top) var(--utility-width) 0 0;padding:12px;overflow:auto;justify-content:safe center}.scene-recovery h2{font-size:18px;margin-bottom:8px}.scene-recovery p{font-size:12px;margin-bottom:12px}.statusbar{height:28px;padding:0 12px}.statusbar>div{display:none}.statusbar>span{max-width:100%}}
