:root{--brand-red: #9f2033;--brand-red-dark: #761625;--brand-red-soft: #f7eceb;--brand-focus: #5f1521;--ink: #2d2824;--ink-muted: #716860;--line: #d8d0c6;--surface: #fffdf9;--surface-muted: #f3f0ea;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:var(--ink);background:#e9e5de}*{box-sizing:border-box}body{margin:0;background:#e9e5de}main{display:flex;height:100dvh;min-height:560px;flex-direction:column;overflow:hidden}header{padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line)}h1,h2,p{margin-top:0}h1{margin-bottom:3px;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;letter-spacing:-.018em}header p{margin-bottom:0;color:var(--ink-muted)}.app-header{position:relative;display:flex;min-height:60px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:24px}.app-header:after{position:absolute;bottom:-1px;left:20px;width:64px;height:2px;background:var(--brand-red);content:""}.app-header>div:first-child{min-width:0}.brand-header-copy{min-width:0}.brand-header-copy h1{color:var(--ink)}.app-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.history-toolbar{display:flex;overflow:hidden;border:1px solid #cfc6bb;border-radius:2px}.history-toolbar button{display:flex;min-height:34px;align-items:center;gap:5px;padding:7px 10px;border-radius:0;background:var(--surface);color:#5e554e;font-size:.72rem}.history-toolbar button+button{border-left:1px solid #cfc6bb}.history-toolbar button:hover:not(:disabled){background:var(--surface-muted);color:var(--ink)}.history-toolbar button>span:first-child{font-size:1rem;line-height:1}.project-menu{position:relative}.project-menu>summary{min-height:34px;padding:8px 28px 8px 11px;border:1px solid #cfc6bb;border-radius:2px;color:#5e554e;cursor:pointer;font-size:.72rem;font-weight:650;list-style:none}.project-menu>summary::-webkit-details-marker{display:none}.project-menu>summary:after{position:absolute;top:13px;right:11px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg)}.project-menu[open]>summary,.project-menu>summary:hover{background:var(--surface-muted);color:var(--ink)}.project-menu[open]>summary:after{top:16px;transform:rotate(225deg)}.project-menu>summary:focus-visible,.history-toolbar button:focus-visible{position:relative;z-index:1;outline:2px solid var(--brand-focus);outline-offset:-2px}.project-menu-popover{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:280px;padding:14px;border:1px solid #cfc6bb;border-radius:2px;background:var(--surface);box-shadow:0 12px 30px #30292333}.project-menu-popover>p:first-child{margin:0 0 11px;color:var(--ink-muted);font-size:.75rem}.project-menu-popover .file-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.project-menu-popover .file-buttons button{min-height:36px;padding:7px;border:1px solid #c9c0b6;background:var(--surface);color:#514941;font-size:.73rem}.project-menu-popover .file-buttons button:hover{background:var(--surface-muted)}.project-menu-popover .save-status{display:flex;align-items:flex-start;gap:6px;margin:11px 0 0;color:var(--ink-muted);font-size:.69rem;line-height:1.4}.project-menu-popover .save-status:before{width:7px;height:7px;flex:0 0 auto;margin-top:3px;border-radius:50%;background:#15a36d;content:""}.project-menu-popover .error,.project-menu-popover .success{margin-bottom:0}.language-control{display:flex;flex:0 0 auto;align-items:center;gap:9px}.language-control>span{color:var(--ink-muted);font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.language-switcher{display:flex;overflow:hidden;border:1px solid #cfc6bb;border-radius:2px}.language-switcher button{min-width:42px;padding:7px 9px;border-radius:0;background:var(--surface);color:#5e554e;font-size:.7rem;letter-spacing:.06em}.language-switcher button+button{border-left:1px solid #cfc6bb}.language-switcher button:hover{background:var(--brand-red-soft);color:var(--brand-red-dark)}.language-switcher button.active{background:var(--brand-red-dark);color:#fff}.language-switcher button:focus-visible{position:relative;z-index:1;outline:2px solid var(--brand-focus);outline-offset:-2px}.workspace{display:grid;grid-template-columns:352px 1fr;min-height:0;flex:1 1 auto}aside{padding:20px;overflow-y:auto;background:var(--surface);border-right:1px solid var(--line)}form{padding-bottom:20px;border-bottom:1px solid var(--line)}form+form{padding-top:20px}h2{font-size:1rem;margin-bottom:14px}label{display:block;margin-bottom:11px;font-size:.86rem;font-weight:650}label span{display:block;margin-bottom:5px}input,select{width:100%;padding:9px;border:1px solid #bfb5aa;border-radius:2px;background:var(--surface);color:inherit;font:inherit}button{border:0;border-radius:2px;padding:9px 13px;background:var(--brand-red-dark);color:#fff;font:inherit;font-weight:650;cursor:pointer}button:disabled{opacity:.45;cursor:default}.browse-models{width:100%;margin:-2px 0 13px;border:1px solid var(--brand-red);background:var(--surface);color:var(--brand-red-dark)}.browse-models:hover{background:var(--brand-red-soft)}.finish-picker{min-width:0;margin:0 0 13px;padding:0;border:0}.finish-picker legend{margin-bottom:6px;font-size:.86rem;font-weight:600}.finish-options{display:grid;grid-template-columns:1fr 1fr;gap:5px}.finish-option{display:flex;min-width:0;align-items:center;gap:7px;margin:0;padding:6px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:inherit;cursor:pointer;font-size:.75rem;font-weight:550;text-align:left}.finish-option:hover{border-color:#b87982}.finish-option.active{border-color:var(--brand-red);background:var(--brand-red-soft)}.finish-option:focus-visible{outline:2px solid var(--brand-focus);outline-offset:1px}.finish-options span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finish-swatch{display:block;width:22px;height:22px;flex:0 0 auto;margin:0;border:1px solid #aaa096;border-radius:1px;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #fff6}.error{color:#b42318;font-size:.85rem;margin:10px 0 0}.success{margin:10px 0 0;color:#067647;font-size:.85rem}.form-help{margin:-5px 0 13px;color:var(--ink-muted);font-size:.82rem;line-height:1.4}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.model-details{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;padding:9px;border-radius:2px;background:var(--surface-muted);font-size:.82rem}.model-details span{color:var(--ink-muted)}.position-form{padding-top:20px}.finish-editor{padding:20px 0;border-bottom:1px solid var(--line)}.finish-editor summary{cursor:pointer;font-size:.88rem;font-weight:600}.finish-editor summary::marker{color:var(--brand-red)}.finish-editor[open] summary{margin-bottom:14px}.finish-editor .finish-picker{margin-bottom:0}.danger{background:#a7322d;font-size:.75rem;padding:7px 9px}.empty{color:var(--ink-muted);font-size:.88rem}ol{list-style:none;padding:0;margin:12px 0}li{display:flex;flex-direction:column;padding:9px;margin-bottom:5px;border:1px solid var(--line);border-radius:2px;cursor:pointer;font-size:.83rem}li.active{border-color:var(--brand-red);background:var(--brand-red-soft)}li span{color:var(--ink-muted);margin-top:2px}.scene{min-width:0;position:relative}.canvas-toolbar{position:absolute;z-index:7;top:14px;left:14px;display:flex;align-items:stretch;gap:7px}.view-toolbar{display:flex;overflow:hidden;border:1px solid #c9c0b6;border-radius:2px;background:#fffdf9f2;box-shadow:0 3px 12px #3d332924}.view-toolbar button{min-height:38px;padding:8px 12px;border-radius:0;background:transparent;color:#514941;font-size:.76rem;white-space:nowrap}.view-toolbar button+button{border-left:1px solid #d8d0c6}.view-toolbar button:hover{background:#f3eee7;color:var(--ink)}.view-toolbar button.active{background:var(--brand-red-soft);color:var(--brand-red-dark);box-shadow:inset 0 -2px 0 var(--brand-red)}.view-toolbar button:focus-visible{position:relative;z-index:1;outline:3px solid var(--brand-focus);outline-offset:-3px}.canvas-toolbar .reset-camera{display:grid;width:40px;min-width:40px;padding:8px;place-items:center;border:1px solid #c9c0b6;border-radius:2px;background:#fffdf9f2;color:var(--ink-muted);box-shadow:0 3px 12px #3d332924}.canvas-toolbar .reset-camera:hover{background:#f3eee7;color:var(--ink)}.canvas-toolbar .reset-camera:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-3px}.canvas-toolbar .reset-camera svg{width:18px;height:18px;stroke-linecap:round;stroke-linejoin:round}.view-context{position:absolute;z-index:4;top:61px;left:14px;padding:5px 9px;border:1px solid #d4cbc1;border-radius:2px;background:#fffdf9e8;color:#665d55;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.dimension-label{display:block;padding:3px 6px;border:1px solid #bdb3a8;border-radius:2px;background:#fffdf9f2;color:#4c443d;box-shadow:0 1px 3px #3d33291f;font:700 10px/1.1 Avenir Next,system-ui,sans-serif;white-space:nowrap}.dimension-label.size{border-color:#b99468;color:#76502b}.dimension-label.gap{border-color:#8ba2a2;color:#3f6867}.dimension-label.dragging{border-color:#ef4444;background:#fff7f7f2;color:#b91c1c}.wall-distance-grip{position:relative;display:grid;width:28px;height:28px;place-items:center;border:1px solid #bdb3a8;border-radius:50%;background:var(--surface);color:var(--ink-muted);box-shadow:0 1px 3px #3d33291f;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .12s ease}.wall-distance-grip svg{width:16px;height:16px;fill:currentColor}.wall-distance-grip.hovered{border-color:var(--brand-red);color:var(--brand-red);transform:scale(1.08)}.wall-distance-grip.dragging{border-color:var(--brand-red-dark);background:var(--brand-red-dark);color:#fff;transform:scale(1.08)}.wall-distance-grip.invalid{border-color:#a51d31;background:#a51d31;color:#fff}.wall-distance-grip-value{position:absolute;bottom:calc(100% + 7px);left:50%;padding:4px 7px;border:1px solid #bdb3a8;border-radius:2px;background:var(--surface);color:var(--brand-red-dark);box-shadow:0 1px 3px #3d33291f;font: 700 10px/1.1 Avenir Next,system-ui,sans-serif;white-space:nowrap;transform:translate(-50%)}.room-loading{display:grid;height:100%;place-items:center;background:#e8e3db;color:var(--ink-muted);font-size:.9rem}.scene-help{position:absolute;z-index:4;bottom:14px;left:14px;max-width:min(480px,calc(100% - 28px));color:#fff}.scene-help summary{width:max-content;padding:7px 11px;border-radius:2px;background:#302923e8;color:#fff;cursor:pointer;font-size:.78rem;font-weight:650;list-style:none}.scene-help summary::-webkit-details-marker{display:none}.scene-help summary:before{display:inline-grid;width:17px;height:17px;margin-right:7px;place-items:center;border:1px solid #ffffff99;border-radius:50%;content:"?";font-size:.67rem}.scene-help summary:focus-visible{outline:3px solid white;outline-offset:2px}.scene-help p{margin:7px 0 0;padding:9px 11px;border-radius:2px;background:#302923ee;font-size:.74rem;line-height:1.45}.mobile-hint{display:none}.model-load-error{display:grid;width:190px;gap:8px;padding:10px;border:1px solid #fda29b;border-radius:2px;background:var(--surface);color:#b42318;box-shadow:0 5px 20px #17212b2e;font:600 .75rem/1.35 Avenir Next,system-ui,sans-serif;text-align:center}.model-load-error button{justify-self:center;padding:6px 9px;font-size:.72rem;pointer-events:auto}.planner-sidebar{display:flex;min-height:0;flex-direction:column;padding:0;overflow:hidden;border-right-color:#d1c8bd;background:var(--surface-muted)}.planner-sidebar-scroll{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:12px;padding:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--surface-muted);scrollbar-color:#bdb3a8 transparent;scrollbar-width:thin}.planner-sidebar-scroll::-webkit-scrollbar{width:8px}.planner-sidebar-scroll::-webkit-scrollbar-track{background:transparent}.planner-sidebar-scroll::-webkit-scrollbar-thumb{border:2px solid var(--surface-muted);border-radius:0;background:#bdb3a8}.room-setup-intro{margin:4px 2px 6px;padding:2px 4px 2px 14px;border-left:2px solid var(--brand-red)}.room-setup-intro>span{display:block;margin-bottom:7px;color:var(--brand-red-dark);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.room-setup-intro h2{margin:0 0 6px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.22rem;font-weight:500;letter-spacing:-.015em}.room-setup-intro p{margin:0;color:var(--ink-muted);font-size:.8rem;line-height:1.5}.room-setup-intro button{min-height:0;margin-top:10px;padding:4px 0;background:transparent;color:var(--brand-red-dark);font-size:.75rem}.planner-sidebar .room-summary{display:flex;align-items:center;gap:10px;padding:12px}.planner-sidebar .room-summary>div{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px}.planner-sidebar .room-summary strong{color:var(--ink);font-size:.82rem}.planner-sidebar .room-summary div span{overflow:hidden;color:var(--ink-muted);font-size:.68rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.planner-sidebar .room-summary>button{min-height:34px;flex:0 0 auto;padding:7px 9px;border:1px solid #c9c0b6;background:var(--surface);color:#514941;font-size:.7rem}.planner-sidebar .room-summary>button:hover{border-color:var(--brand-red);background:var(--brand-red-soft);color:var(--brand-red-dark)}.planner-sidebar .room-setup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));flex:0 0 auto;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -6px 18px #3d332912}.planner-sidebar .room-setup-actions button{min-height:44px}.planner-sidebar .room-setup-actions .secondary{border:1px solid #c9c0b6;background:var(--surface);color:#514941}.planner-sidebar .room-setup-actions .primary{background:var(--brand-red-dark)}.planner-sidebar .room-setup-actions .primary:hover{background:#5f111e}.planner-sidebar .sidebar-mode-tabs{position:sticky;z-index:4;top:-14px;display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 auto;gap:3px;padding:8px 0;background:var(--surface-muted)}.planner-sidebar .sidebar-mode-tabs button{display:flex;min-width:0;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border:1px solid transparent;background:transparent;color:#665d55;font-size:.74rem}.planner-sidebar .sidebar-mode-tabs button:hover{border-color:#d4cbc1;background:#faf7f1;color:var(--ink)}.planner-sidebar .sidebar-mode-tabs button.active{border-color:#c89da2;background:var(--surface);color:var(--brand-red-dark);box-shadow:inset 0 -2px 0 var(--brand-red)}.planner-sidebar .sidebar-mode-tabs button>span{display:grid;min-width:18px;height:18px;place-items:center;border-radius:9px;background:#e6e0d8;color:#665d55;font-size:.63rem;line-height:1}.planner-sidebar .sidebar-mode-tabs button.active>span{background:var(--brand-red-soft);color:var(--brand-red-dark)}.planner-sidebar .sidebar-mode-panel{display:flex;flex:0 0 auto;flex-direction:column;gap:12px}.planner-sidebar .sidebar-mode-panel[hidden]{display:none}.planner-sidebar .room-obstacle-list{padding:0 16px 16px}.planner-sidebar .room-obstacle-list>strong{color:#665d55;font-size:.75rem}.planner-sidebar .room-obstacle-list ol{margin:9px 0 0}.planner-sidebar .sidebar-card{--section-accent: var(--brand-red);--section-tint: var(--brand-red-soft);flex:0 0 auto;margin:0;padding:16px;border:1px solid var(--line);border-radius:2px;background:var(--surface)}.planner-sidebar .sidebar-collapsible{padding:0;overflow:hidden}.planner-sidebar .sidebar-collapsible>summary{list-style:none;cursor:pointer}.planner-sidebar .sidebar-collapsible>summary::-webkit-details-marker{display:none}.planner-sidebar .sidebar-collapsible>summary:hover{background:#faf7f1}.planner-sidebar .sidebar-collapsible>summary:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-3px}.planner-sidebar .sidebar-collapsible[open]>summary{border-bottom:1px solid var(--line)}.planner-sidebar .sidebar-collapsible:not([open]) .sidebar-card-header p{display:none}.planner-sidebar .sidebar-card-content{margin:0;padding:15px 16px 16px}.planner-sidebar .module-card{border-top:2px solid var(--brand-red)}.planner-sidebar .backsplash-card{--section-accent: #527b79;--section-tint: #edf5f4;border-top:2px solid var(--section-accent)}.planner-sidebar .barrier-form{--section-accent: #e13b49;--section-tint: #fff3f4}.planner-sidebar .placed-items{--section-accent: #9f1723;--section-tint: #fcebed}.planner-sidebar .finish-card{--section-accent: #7a5b32;--section-tint: #f8f0e4;border-top:2px solid var(--section-accent)}.planner-sidebar form{border-bottom:0}.planner-sidebar .sidebar-card-header{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px}.planner-sidebar summary.sidebar-card-header{align-items:center;margin:0;padding:14px 16px;transition:background .12s ease}.planner-sidebar .sidebar-card-header>div{min-width:0}.planner-sidebar .sidebar-card-icon{display:grid;width:29px;height:31px;flex:0 0 auto;place-items:center;border-right:1px solid #ded5ca;border-radius:0;background:transparent;color:var(--section-accent)}.planner-sidebar .sidebar-card-icon svg{display:block;width:18px;height:18px;stroke-linecap:round;stroke-linejoin:round}.planner-sidebar .sidebar-card-header h2{margin:0 0 3px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:.98rem;font-weight:600;letter-spacing:-.005em;line-height:1.25}.planner-sidebar .sidebar-card-header p{margin:0;color:var(--ink-muted);font-size:.73rem;line-height:1.4}.planner-sidebar .sidebar-card-toggle{display:grid;width:26px;height:26px;flex:0 0 auto;margin-left:auto;place-items:center;border-radius:0;background:transparent;color:#776e66}.planner-sidebar .sidebar-card-toggle svg{width:14px;height:14px;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.planner-sidebar .sidebar-collapsible[open] .sidebar-card-toggle svg{transform:rotate(180deg)}.planner-sidebar label{margin-bottom:12px;color:#514941;font-size:.76rem;font-weight:650}.planner-sidebar label>span,.planner-sidebar .finish-picker legend{margin-bottom:6px;color:#665d55;font-size:.75rem;font-weight:650}.planner-sidebar input,.planner-sidebar select{min-height:40px;padding:9px 11px;border-color:#c9c0b6;border-radius:2px;background:#fffdf9;color:var(--ink);font-size:.82rem;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.planner-sidebar input:hover,.planner-sidebar select:hover{border-color:#8f8277;background:#fff}.planner-sidebar input:focus,.planner-sidebar select:focus{border-color:var(--brand-red);outline:none;background:#fff;box-shadow:0 0 0 2px #9f203329}.planner-sidebar input[type=checkbox]{accent-color:var(--brand-red)}.planner-sidebar button{min-height:40px;border-radius:2px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,color .15s ease}.planner-sidebar button:focus-visible{outline:3px solid var(--brand-focus);outline-offset:2px}.planner-sidebar form>button[type=submit]{width:100%;min-height:40px;background:var(--brand-red-dark);letter-spacing:.015em}.planner-sidebar form>button[type=submit]:hover{background:#5f111e}.planner-sidebar .browse-models{min-height:40px;margin:-1px 0 14px;border-color:#c89da2;background:transparent;color:var(--brand-red-dark);box-shadow:none}.planner-sidebar .browse-models:hover{border-color:var(--brand-red);background:var(--brand-red-soft)}.planner-sidebar .finish-picker{margin:0 0 14px}.planner-sidebar .plinth-finish-card .finish-picker:last-child,.planner-sidebar .work-surface-finish-card .finish-picker:last-child{margin-bottom:0}.planner-sidebar .work-surface-finish-card .finish-picker legend{align-items:flex-start;flex-direction:column;gap:2px}.planner-sidebar .work-surface-finish-card .finish-picker legend strong{white-space:normal}.planner-sidebar .finish-picker legend{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:10px}.planner-sidebar .finish-picker legend span{min-width:0}.planner-sidebar .finish-picker legend strong{overflow:hidden;color:var(--brand-red);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.planner-sidebar .finish-options{grid-template-columns:repeat(5,1fr);gap:7px}.planner-sidebar .finish-option{position:relative;min-height:0;aspect-ratio:1;justify-content:center;padding:5px;border-color:var(--line);border-radius:2px;background:#faf7f1}.planner-sidebar .finish-option:hover{border-color:#b87982;background:var(--surface)}.planner-sidebar .finish-option.active{border-color:var(--brand-red);background:var(--brand-red-soft)}.planner-sidebar .finish-option.active:after,.selection-inspector .finish-option.active:after{position:absolute;top:3px;right:3px;display:grid;width:15px;height:15px;place-items:center;border:1px solid #fff;border-radius:1px;background:var(--brand-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 6 2 2 4-4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat;color:#fff;content:"";font-size:.58rem;font-weight:800;line-height:1}.planner-sidebar .finish-swatch{width:100%;height:100%;border-color:#bdb3a8;border-radius:1px;box-shadow:inset 0 0 0 1px #ffffff80,0 1px 2px #3d33291f}.planner-sidebar .finish-option-name,.selection-inspector .finish-option-name{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.planner-sidebar .individual-finish{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.planner-sidebar .individual-finish .finish-picker{margin-bottom:0}.planner-sidebar .field-row{align-items:end;gap:9px}.planner-sidebar .wall-toggles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.planner-sidebar .wall-toggles label{display:flex;align-items:center;gap:8px;margin:0}.planner-sidebar .wall-toggles input{width:18px;min-height:18px;flex:0 0 auto;margin:0}.planner-sidebar .wall-toggles label>span{margin:0}.planner-sidebar .room-appearance-form fieldset{min-width:0;margin:0;padding:0;border:0}.planner-sidebar .room-appearance-form legend{margin-bottom:8px;color:#665d55;font-size:.75rem;font-weight:700}.planner-sidebar .floor-finish-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planner-sidebar .floor-finish-option{display:flex;min-width:0;flex-direction:column;gap:6px;padding:5px;border:1px solid #cfc6bb;background:#faf7f1;color:#514941;font-size:.7rem;text-align:left}.planner-sidebar .floor-finish-option:hover{border-color:#b87982}.planner-sidebar .floor-finish-option.active{border-color:var(--brand-red);background:var(--brand-red-soft);color:var(--brand-red-dark)}.planner-sidebar .floor-finish-swatch{display:block;width:100%;height:48px;margin:0;border:1px solid #aaa096;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff5c}.planner-sidebar .room-appearance-form .wall-color-picker{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.planner-sidebar .wall-color-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.planner-sidebar .wall-color-options button{min-width:0;height:38px;padding:4px;border:1px solid #cfc6bb;background:#faf7f1}.planner-sidebar .wall-color-options button:hover,.planner-sidebar .wall-color-options button.active{border-color:var(--brand-red)}.planner-sidebar .wall-color-options button.active{background:var(--brand-red-soft);box-shadow:inset 0 0 0 1px var(--brand-red)}.planner-sidebar .wall-color-options button>span{display:block;width:100%;height:100%;margin:0;border:1px solid #9e958b}.planner-sidebar .custom-wall-color{margin:12px 0 0;color:#665d55;font-size:.72rem}.planner-sidebar .wall-color-control{display:flex;align-items:center;gap:9px;margin:0}.planner-sidebar .wall-color-control input{width:48px;height:34px;flex:0 0 auto;padding:3px;cursor:pointer}.planner-sidebar .wall-color-control output{color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.planner-sidebar .form-help{margin:-5px 0 15px;color:var(--ink-muted);font-size:.78rem;line-height:1.5}.planner-sidebar .sidebar-card-content>.form-help:first-child{margin:0 0 14px}.planner-sidebar .model-details{gap:3px;margin:1px 0 13px;padding:10px 11px;border:1px solid #e1d8ce;border-left:2px solid var(--brand-red);border-radius:0;background:#faf7f1;color:var(--ink)}.planner-sidebar .model-details span{color:var(--ink-muted)}.planner-sidebar .workflow-label,.planner-sidebar .workflow-field>span{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:#665d55;font-size:.75rem;font-weight:650}.planner-sidebar .workflow-label>span,.planner-sidebar .workflow-number,.planner-sidebar .button-step{display:inline-grid;width:20px;height:20px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--brand-red-soft);color:var(--brand-red-dark);font-size:.65rem;font-weight:750}.planner-sidebar .workflow-field>span>.workflow-number{margin:0}.planner-sidebar .button-step{margin-right:4px;background:#ffffff26;color:#fff}.planner-sidebar .error{margin:11px 0 0;padding:9px 10px;border:1px solid #fecdca;border-radius:2px;background:#fef3f2;color:#b42318;line-height:1.4}.selection-inspector{position:absolute;z-index:5;top:14px;right:14px;width:min(350px,calc(100% - 28px));max-height:calc(100% - 68px);padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid #c9c0b6;border-radius:2px;background:#fffdf9fa;box-shadow:0 14px 38px #3d332933;scrollbar-color:#bdb3a8 transparent;scrollbar-width:thin}.selection-inspector::-webkit-scrollbar{width:8px}.selection-inspector::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:0;background:#bdb3a8;background-clip:padding-box}.selection-inspector-header{display:flex;min-height:0;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:17px 18px 16px;border:0;border-top:3px solid var(--brand-red);border-bottom:1px solid var(--line);background:var(--surface)}.selection-inspector-header>div{min-width:0}.selection-inspector-header span{display:block;margin-bottom:7px;color:var(--brand-red-dark);font-size:.63rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.selection-inspector-header h2{margin:0 0 4px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:600;line-height:1.3}.selection-inspector-header p{margin:0;color:var(--ink-muted);font-size:.75rem}.selection-inspector .inspector-close{display:grid;width:32px;min-width:32px;height:32px;padding:0 0 2px;place-items:center;border:1px solid #cec5ba;border-radius:2px;background:var(--surface);color:var(--ink-muted);font-size:1.35rem;line-height:1}.selection-inspector .inspector-close:hover{border-color:#91847a;background:#f5f0e9;color:var(--ink)}.selection-inspector button:focus-visible,.selection-inspector input:focus,.selection-inspector select:focus{outline:3px solid var(--brand-focus);outline-offset:2px}.selection-inspector .inspector-section{padding:15px 18px 16px;border-bottom:1px solid var(--line)}.selection-inspector .inspector-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.selection-inspector .inspector-section-heading h3{margin:0;color:#4f463f;font-size:.79rem;font-weight:730;letter-spacing:.01em}.selection-inspector .inspector-section-heading>span{flex:0 0 auto;padding:2px 7px;border-radius:1px;background:#eee9e2;color:var(--ink-muted);font-size:.66rem;font-weight:650}.selection-inspector .inspector-section-heading p{margin:3px 0 0;color:#81776e;font-size:.71rem;line-height:1.35}.selection-inspector .nudge-control-groups{display:flex;align-items:center;justify-content:center;gap:24px}.selection-inspector .nudge-controls{display:grid;flex:0 0 auto;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,34px);gap:4px;margin:-3px 0 0}.selection-inspector .nudge-controls button,.selection-inspector .wall-distance-nudge button{width:38px;min-height:34px;padding:0;border:1px solid #cec5ba;border-radius:2px;background:#faf7f1;color:#514941;font-size:1rem}.selection-inspector .nudge-controls button:hover,.selection-inspector .wall-distance-nudge button:hover{border-color:var(--brand-red);background:var(--brand-red-soft);color:var(--brand-red-dark)}.selection-inspector .wall-distance-nudge button:disabled{border-color:#ded7cf;background:#f4f0ea;color:#aaa198;cursor:not-allowed}.selection-inspector .nudge-up{grid-column:2;grid-row:1}.selection-inspector .nudge-left{grid-column:1;grid-row:2}.selection-inspector .nudge-right{grid-column:3;grid-row:2}.selection-inspector .nudge-down{grid-column:2;grid-row:3}.selection-inspector .wall-distance-nudge{display:grid;min-width:112px;justify-items:center;gap:6px}.selection-inspector .wall-distance-nudge>span{color:#665d55;font-size:.7rem;font-weight:650;text-align:center}.selection-inspector .wall-distance-nudge output{color:var(--brand-red-dark);font-size:.82rem;font-weight:730}.selection-inspector .wall-distance-nudge>div{display:flex;gap:5px}.selection-inspector .finish-editor{padding:14px 18px;border-bottom-color:var(--line)}.selection-inspector .fixed-finish .inspector-section-heading{margin-bottom:0}.selection-inspector .finish-editor summary{display:flex;align-items:center;gap:10px;color:#665d55;font-size:.78rem;font-weight:600;list-style:none}.selection-inspector .finish-editor summary::-webkit-details-marker{display:none}.selection-inspector .current-finish-swatch{display:block;width:32px;height:32px;flex:0 0 auto;border:1px solid #bdb3a8;border-radius:1px;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff80}.selection-inspector .finish-editor-label{display:flex;min-width:0;flex-direction:column;gap:1px}.selection-inspector .finish-editor-label small{color:var(--ink-muted);font-size:.66rem;font-weight:600}.selection-inspector .finish-editor summary strong{color:var(--ink);font-size:.79rem}.selection-inspector .finish-editor summary:after{display:grid;width:24px;height:24px;flex:0 0 auto;margin-left:auto;place-items:center;border-radius:0;background:#eee9e2;color:var(--ink-muted);content:"+";font-size:1rem;line-height:1}.selection-inspector .finish-editor[open] summary:after{content:"−"}.selection-inspector .finish-editor[open] summary{margin-bottom:13px}.selection-inspector .finish-editor .finish-picker{margin-bottom:0}.selection-inspector .finish-editor legend{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--ink-muted);font-size:.7rem}.selection-inspector .finish-editor legend strong{color:var(--brand-red);font-size:.7rem}.selection-inspector .finish-options{grid-template-columns:repeat(5,1fr);gap:7px}.selection-inspector .finish-option{position:relative;min-height:0;aspect-ratio:1;justify-content:center;padding:5px;border-color:var(--line);border-radius:2px;background:#faf7f1}.selection-inspector .finish-option .finish-swatch{width:100%;height:100%;border-radius:1px}.selection-inspector .finish-option.active{border-color:var(--brand-red);background:var(--brand-red-soft)}.selection-inspector .position-editor{border-bottom:1px solid var(--line)}.selection-inspector .position-editor>summary{margin:0;padding:14px 18px;list-style:none;cursor:pointer}.selection-inspector .position-editor>summary::-webkit-details-marker{display:none}.selection-inspector .position-editor>summary:after{display:grid;width:24px;height:24px;flex:0 0 auto;margin-left:auto;place-items:center;background:#eee9e2;color:var(--ink-muted);content:"+";font-size:1rem;line-height:1}.selection-inspector .position-editor[open]>summary{border-bottom:1px solid var(--line)}.selection-inspector .position-editor[open]>summary:after{content:"−"}.selection-inspector .position-editor>summary:hover{background:#faf7f1}.selection-inspector .position-editor>summary:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-3px}.selection-inspector .position-form{padding:16px 18px 15px;border:0}.selection-inspector label{margin-bottom:11px;color:#514941;font-size:.74rem}.selection-inspector label>span{margin-bottom:6px;color:#665d55}.selection-inspector input,.selection-inspector select{min-height:38px;padding:8px 10px;border-color:#c9c0b6;border-radius:2px;background:var(--surface);font-size:.8rem}.selection-inspector .field-row{align-items:end;gap:9px}.selection-inspector .position-form>button[type=submit]{width:100%;min-height:38px;border-radius:2px;background:var(--brand-red-dark)}.selection-inspector .error{padding:9px 10px;border:1px solid #fecdca;border-radius:2px;background:#fef3f2}.selection-inspector .inspector-delete{width:calc(100% - 36px);min-height:38px;margin:14px 18px 16px;border:1px solid #f4c7c4;border-radius:2px;background:#fff;color:#b42318;font-size:.75rem}.selection-inspector .inspector-delete:hover{border-color:#e59a96;background:#fef3f2}.planner-sidebar .empty{margin:0;padding:20px 12px;border:1px dashed #cfc6bb;border-radius:2px;background:#faf7f1;color:var(--ink-muted);text-align:center}.planner-sidebar ol{display:grid;gap:8px;margin:0}.planner-sidebar li{margin:0;padding:11px 12px;border-color:var(--line);border-radius:2px;background:#faf7f1;color:#514941;line-height:1.35;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.planner-sidebar li:hover{border-color:#a99d91;background:var(--surface)}.planner-sidebar li.active{border-color:var(--brand-red);background:var(--brand-red-soft);box-shadow:inset 3px 0 0 var(--brand-red)}.planner-sidebar li span{margin-top:4px;color:var(--ink-muted);font-size:.76rem;line-height:1.45}.planner-sidebar .placed-item-button{display:flex;width:100%;min-height:0;flex-direction:column;align-items:stretch;padding:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left}.planner-sidebar .placed-item-button:focus-visible{outline:3px solid var(--brand-focus);outline-offset:4px}.model-picker{width:min(1180px,calc(100vw - 32px));height:min(900px,calc(100vh - 32px));max-width:none;max-height:none;padding:0;overflow:hidden;border:0;border:1px solid #bdb3a8;border-radius:2px;background:var(--surface-muted);box-shadow:0 24px 70px #30292352;color:var(--ink)}.model-picker::backdrop{background:#211b17b8}.model-picker-surface{display:flex;height:100%;flex-direction:column}.model-picker-header{position:relative;z-index:3;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 24px 17px;border-bottom:1px solid var(--line);background:var(--surface)}.model-picker-header h2{margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.model-picker-header p{margin-bottom:0;color:var(--ink-muted);font-size:.9rem}.icon-button{width:36px;height:36px;padding:0 0 3px;border:1px solid #c9c0b6;border-radius:2px;background:var(--surface);color:#5e554e;font-size:1.65rem;line-height:1}.icon-button:hover{background:#f3eee7}.model-picker-controls{position:relative;z-index:3;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(420px,1.4fr) auto;flex:0 0 auto;align-items:end;gap:14px;padding:15px 24px;border-bottom:1px solid var(--line);background:var(--surface-muted)}.model-search{margin:0}.model-filter-groups{display:grid;gap:6px}.style-filters{display:flex;gap:6px}.style-filters button{padding:9px 11px;border:1px solid #bfb5aa;background:var(--surface);color:#5e554e;font-size:.8rem;white-space:nowrap}.style-filters button:hover{border-color:var(--brand-red);color:var(--brand-red)}.style-filters button.active{border-color:var(--brand-red);background:var(--brand-red-dark);color:#fff}.result-count{min-width:70px;margin:0 0 9px;color:var(--ink-muted);font-size:.82rem;text-align:right}.model-picker-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 24px 28px}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.model-card{position:relative;min-width:0;overflow:hidden;padding:0;border:1px solid #c9c0b6;border-radius:2px;background:var(--surface);color:var(--ink);text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.model-card:hover{border-color:var(--brand-red);box-shadow:inset 0 -2px 0 var(--brand-red)}.model-card-choice{display:block;width:100%;min-height:0;padding:0;border-radius:0;background:transparent;color:inherit;text-align:left}.model-card-choice:focus-visible{outline:3px solid var(--brand-focus);outline-offset:-3px}.model-card.selected{border-color:var(--brand-red);box-shadow:inset 0 0 0 1px var(--brand-red)}.model-card-preview{position:relative;display:block;width:100%;height:150px;border-bottom:1px solid var(--line);background:#eeeae3}.model-card-thumbnail{display:block;width:100%;height:100%;object-fit:contain}.model-preview-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;color:#81776e;font-size:.73rem;text-align:center;pointer-events:none}.model-preview-status.error{color:#b42318}.model-card-info{display:flex;flex-direction:column;gap:3px;padding:11px 12px 12px}.model-card-info strong{min-height:2.2em;padding-right:2px;font-size:.87rem;line-height:1.2}.model-card-info>span{color:#5e554e;font-size:.8rem}.model-card-info small{color:#81776e;font-size:.68rem;font-weight:500}.no-model-results{margin:60px 0;color:var(--ink-muted);text-align:center}@media(max-width:760px){.app-header{align-items:center;padding:10px 14px}.history-toolbar .action-label{display:none}.history-toolbar button{width:34px;justify-content:center;padding:7px}.app-header-actions{gap:6px}.language-control{flex-direction:column;align-items:flex-end;gap:4px}.language-control>span{display:none}.workspace{grid-template-columns:292px 1fr}.selection-inspector{width:min(320px,calc(100% - 28px))}aside{padding:14px}.field-row{grid-template-columns:1fr;gap:0}.model-picker{width:calc(100vw - 16px);height:calc(100vh - 16px)}.model-picker-header{padding:16px}.model-picker-header p{display:none}.model-picker-controls{grid-template-columns:1fr;gap:10px;padding:12px 16px}.style-filters{overflow-x:auto;padding-bottom:2px}.result-count{min-width:0;margin:0;text-align:left}.model-picker-scroll{padding:14px 16px 22px}.model-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.model-card-preview{height:128px}}@media(max-width:1100px){.workspace{grid-template-columns:340px 1fr}.model-picker-controls{grid-template-columns:minmax(210px,.8fr) minmax(360px,1.2fr) auto}}@media(max-width:760px){.workspace{grid-template-columns:292px 1fr}.planner-sidebar{gap:0;padding:0}.planner-sidebar-scroll{gap:10px;padding:10px}.planner-sidebar .room-setup-actions{padding:10px}.planner-sidebar .sidebar-mode-tabs{top:-10px}.planner-sidebar .sidebar-card{padding:14px;border-radius:2px}.planner-sidebar .sidebar-collapsible{padding:0}}@media(max-width:720px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(220px,1fr)}.planner-sidebar{grid-row:2;border-right:0;border-bottom:1px solid var(--line)}.scene{grid-row:1;min-height:220px}.canvas-toolbar{top:8px;left:8px;max-width:calc(100% - 16px)}.view-toolbar button{min-height:34px;padding:6px 9px;font-size:.68rem}.view-context{top:49px;left:8px;font-size:.63rem}.scene-help{bottom:8px;left:8px;max-width:calc(100% - 16px)}.scene-help summary,.scene-help p{font-size:.7rem}.scene-help summary{width:35px;height:31px;padding:6px 8px}.scene-help summary:before{margin:0}.scene-help summary>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.desktop-hint{display:none}.mobile-hint{display:inline}.selection-inspector{top:78px;right:8px;width:min(240px,calc(100% - 16px));max-height:calc(100% - 118px);padding:0;border-radius:2px}.selection-inspector-header{gap:8px;padding:10px 11px}.selection-inspector-header span{margin-bottom:4px}.selection-inspector-header h2{font-size:.86rem}.selection-inspector .inspector-section{padding:10px 11px}.selection-inspector .nudge-controls{grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,28px)}.selection-inspector .nudge-controls button{width:32px;min-height:28px}.selection-inspector .nudge-control-groups{gap:12px}.selection-inspector .wall-distance-nudge{min-width:94px}.selection-inspector .wall-distance-nudge button{width:34px;min-height:30px}.selection-inspector .field-row{grid-template-columns:1fr 1fr;gap:8px}}@media(max-width:520px){.app-header{min-height:52px;gap:6px;padding:8px 10px}.brand-header-copy{flex:1 1 auto;overflow:hidden}.brand-header-copy h1{overflow:hidden;margin:0;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.language-control{flex-direction:row}.app-header-actions{flex:0 0 auto;gap:4px}.language-switcher button{min-width:32px;padding:6px}.project-menu>summary{padding-right:24px;padding-left:8px}.project-menu-popover{right:-70px}}
