@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#263b30;background:#f8f8f4;font-synthesis:none;font-size:14px;--green:#2c4b3b;--muted:#7d847b;--line:#e1e4db;--paper:#fafaf7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;transition:background .16s,box-shadow .16s}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #a57b45;outline-offset:3px}button:hover{filter:brightness(.97)}button{color:inherit}a{color:inherit;text-decoration:none}.topbar{height:80px;padding:0 26px;display:flex;align-items:center;gap:38px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:16px;letter-spacing:2px;min-width:240px}.brand small{font-size:9px;letter-spacing:2.3px;display:block;margin-top:5px;font-weight:500}.brand-mark{background:var(--green);color:#f6f3e9;border-radius:11px;display:flex;align-items:center;justify-content:center;width:40px;height:43px;font:italic 38px 'Instrument Serif',Georgia;letter-spacing:-3px;padding-right:4px}.brand-mark span{color:#d2ab78}.project-name{font-size:14px;display:flex;align-items:center;gap:16px;white-space:nowrap}.project-name #project-mode{color:var(--muted)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}#save-status{font-size:12px;color:var(--muted);margin-right:10px}.button{border:1px solid #d8ded4;border-radius:7px;background:var(--paper);padding:10px 13px;white-space:nowrap;font-size:13px;font-weight:550}.primary{background:var(--green);border-color:var(--green);color:white}.icon-button{width:35px;height:35px;border:0;background:transparent;font-size:23px}.workspace{height:calc(100dvh - 115px);min-height:650px;display:grid;grid-template-columns:268px minmax(360px,1fr) 274px}.left-panel,.right-panel{background:var(--paper);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd3c8 transparent}.left-panel{border-right:1px solid var(--line)}.panel-heading{padding:28px 24px 20px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#7b8579}.panel-heading h1{font:36px/1.02 'Instrument Serif',Georgia;margin:13px 0 0;font-weight:400;letter-spacing:-.6px}.room-section{padding:0 24px 20px;border-bottom:1px solid var(--line)}h2{font-size:14px;margin:0 0 15px}.room-section h2,.library-section h2{display:flex;align-items:center;gap:11px;color:#9aa08f;font-size:11px;font-weight:500}.room-section h2 span,.library-section h2 span{font-size:14px;color:#304438;font-weight:600}.segmented{display:flex;background:#edefe7;border-radius:7px;padding:4px;margin-bottom:16px}.segmented button{flex:1;border:0;padding:9px 4px;background:transparent;border-radius:5px;font-size:13px;color:#6e786b}.segmented button.active{background:var(--paper);box-shadow:0 1px 4px #182e2012;color:var(--green);font-weight:600}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}label{font-size:12px;color:#7a8276;display:block}input[type=number],input[type=text],.name-label input{border:1px solid #dfe3d9;background:#fff;border-radius:6px;padding:10px 11px;width:100%;min-width:0;color:#304438;font-size:14px;outline:none;margin-top:7px;font-weight:500}input:focus{border-color:#648568;box-shadow:0 0 0 2px #759e7318}input::-webkit-inner-spin-button{opacity:.35}.input-unit{position:relative}.input-unit input{padding-right:28px}.input-unit span{position:absolute;right:10px;top:19px;font-size:11px;color:#91978d;pointer-events:none}.height-field{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:8px}.height-field .input-unit{width:92px}.height-field input{margin-top:0}.height-field .input-unit span{top:12px}.area-summary{display:flex;justify-content:space-between;margin-top:16px;font-size:12px;color:#848b7e}.area-summary strong{color:#4b634e;font-weight:550}.library-section{padding:20px 20px 16px}.library-section h2{padding:0 4px;margin-bottom:8px}.library-section .count{margin-left:auto;background:#edf0e8;border-radius:4px;padding:3px 6px;font-size:10px}.helper{font-size:12px;color:#8a9185;line-height:1.6;margin:0 0 16px}.library-section>.helper{padding-left:4px;font-size:11px}.library{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equipment-card{position:relative;text-align:left;background:#f0f1eb;border:1px solid transparent;border-radius:8px;overflow:hidden;padding:0 10px 9px;min-height:112px}.equipment-card:hover{border-color:#8aa080;background:#e8ece1}.equipment-card img{width:100%;height:65px;object-fit:contain;display:block}.equipment-card strong{font-size:11px;font-weight:550;display:block}.equipment-card small{font-size:9px;color:#949a8b;display:block;margin-top:4px}.equipment-card .add{position:absolute;right:7px;top:5px;color:#8c9882;font-size:15px}.custom-button{border:1px dashed #c8d1c0;background:transparent;width:100%;padding:11px 4px;border-radius:6px;font-size:12px;margin-top:12px}.library-note{font-size:10px;line-height:1.7;color:#9a9f92;text-align:center;margin:12px 0 0}.viewport{position:relative;overflow:hidden;background:#e8eadf}.view-heading{position:absolute;top:26px;left:28px;right:26px;display:flex;justify-content:space-between;align-items:center;z-index:2;pointer-events:none}.view-heading h2{font:29px 'Instrument Serif',Georgia;margin:8px 0 0}.view-switch{display:flex;border:1px solid #d9ddd0;border-radius:7px;padding:4px;background:#f7f8f2d9;pointer-events:auto}.view-switch button{border:0;background:transparent;border-radius:4px;padding:8px 12px;font-size:12px;color:#7f8979}.view-switch button.active{background:#fff;color:#304e38;box-shadow:0 1px 4px #233a2510}#canvas-host{position:absolute;inset:0;touch-action:none}canvas{display:block}#loading{position:absolute;inset:0;display:grid;place-items:center;font:25px 'Instrument Serif',Georgia}.view-options{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);display:flex;gap:18px;padding:12px 18px;background:#fafaf6e8;border:1px solid #dce0d2;border-radius:8px;white-space:nowrap}.view-options label{display:flex;align-items:center;gap:6px;font-size:11px;color:#69775f;cursor:pointer}.view-options input{accent-color:var(--green);margin:0;width:12px;height:12px}.scene-tools{position:absolute;right:22px;bottom:144px;background:#fafaf5;display:flex;flex-direction:column;border-radius:8px;border:1px solid #d9ded0;padding:4px;box-shadow:0 3px 10px #384c3210}.scene-tools button{border:0;background:transparent;width:32px;height:33px;font-size:21px;font-weight:400}.scene-tools>span{height:1px;background:var(--line);margin:3px 5px}.scene-bottom{position:absolute;bottom:20px;left:25px;right:24px;display:flex;justify-content:space-between;font-size:10px;color:#7c8875;letter-spacing:.5px}.live-dot{display:inline-block;width:5px;height:5px;background:#739164;border-radius:50%;margin:0 6px 2px 0}.divider{margin:0 10px;color:#b3bba9}.navigation-hint{position:absolute;bottom:57px;left:50%;transform:translateX(-50%);font-size:10px;color:#8c9683;white-space:nowrap}.navigation-hint span{margin:0 8px}.right-panel{border-left:1px solid var(--line);display:flex;flex-direction:column}.inspector{padding:29px 22px 24px}.inspector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.selection-dot{width:6px;height:6px;border-radius:50%;background:#9ab48a}.type-tag{font-size:9px;letter-spacing:1.4px;background:#eaf0e4;border-radius:4px;padding:5px 7px;color:#7a8d6c}.inspector h2{font:29px 'Instrument Serif',Georgia;margin:15px 0 6px}.inspector h3{font-size:12px;font-weight:550;display:flex;justify-content:space-between;align-items:center;margin:24px 0 7px}.inspector h3 span{font-size:9px;font-weight:400;color:#939b8a}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.three input{padding:10px 6px}.rotation-row{display:flex;gap:8px}.rotation-row>.input-unit{flex:1}.rotation-row .button{margin-top:7px}.placement-status{font-size:11px;color:#6e825f;background:#edf2e7;border-radius:5px;padding:11px 10px;margin-top:22px;line-height:1.6}.placement-status.warning{color:#a26332;background:#fbf0df}.selection-actions{display:flex;gap:8px;margin-top:18px}.selection-actions button{flex:1;font-size:12px}.danger{color:#9c6b57}.keyboard-hint{font-size:9px;margin-top:15px;line-height:2}kbd{font-family:inherit;padding:2px 3px;border:1px solid #e1e5d9;border-radius:3px;font-size:9px}.room-finish{border-top:1px solid var(--line);padding:24px 22px;margin-top:auto}.swatches{display:flex;gap:8px;margin:17px 0 13px}.swatch{width:34px;height:34px;border:1px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px #dbe0d3}.swatch.green{background:linear-gradient(140deg,#77916a,#3c5b3e)}.swatch.steel{background:linear-gradient(120deg,#c5c7bf,#686f69,#abb2a8)}.swatch.clay{background:linear-gradient(135deg,#b57b62,#855042)}.room-finish h3{font-size:13px;font-weight:500;margin:0}.room-finish p{font-size:11px;color:#929989;line-height:1.7;margin:7px 0 0}.right-footer{padding:18px 22px;border-top:1px solid var(--line);font:italic 17px 'Instrument Serif',Georgia;color:#929c86}.app-footer{height:35px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:10px;border-top:1px solid var(--line);color:#98a08e;background:var(--paper)}.app-footer strong{font-size:9px;letter-spacing:1.2px;font-weight:500;color:#5d6e52}.subtle{color:#9ba38f}.app-footer .subtle{margin-left:8px}#selection-empty{padding:35px 0;color:#849478}.empty-symbol{font-size:38px}#selection-empty p{font-size:13px;line-height:1.8;color:#929c89}#toast{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:8px;background:#2c4538;color:white;font-size:13px;max-width:85%;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.show{opacity:1}.dimension-label{pointer-events:none;position:absolute;color:#6b795b;font-size:12px;background:#f4f5ecbb;padding:3px 7px;border-radius:4px;transform:translate(-50%,-50%);white-space:nowrap}#canvas-host:active{cursor:grabbing}@media(min-width:1600px){.workspace{grid-template-columns:290px minmax(360px,1fr) 290px}.panel-heading,.room-section{padding-left:28px;padding-right:28px}.library-section{padding-left:24px;padding-right:24px}.equipment-card img{height:75px}}@media(max-width:1150px){.workspace{grid-template-columns:235px minmax(300px,1fr) 240px}.topbar{padding:0 18px;gap:18px}.brand{min-width:200px}.project-name{display:none}.panel-heading,.room-section{padding-left:18px;padding-right:18px}.library-section{padding-left:14px;padding-right:14px}.inspector{padding:26px 16px}.view-heading{left:20px;right:18px}.view-heading h2{font-size:25px}.view-switch button{padding:7px 8px}.navigation-hint{font-size:9px}.navigation-hint span{margin:0 3px}}@media(max-width:860px){.workspace{grid-template-columns:210px minmax(0,1fr);height:auto;min-height:calc(100dvh - 110px)}.left-panel{grid-row:1/3}.viewport{height:65dvh;min-height:480px}.right-panel{grid-column:2;border-top:1px solid var(--line)}.inspector{padding:20px}.inspector-header{margin-bottom:15px}.room-finish,.right-footer{display:none}#selection-panel{display:grid;grid-template-columns:1fr}#selection-panel[hidden]{display:none}.header-actions #save-status{display:none}.topbar{height:75px}.brand{min-width:0}.header-actions{gap:6px}.button{font-size:11px;padding:10px}.app-footer{height:35px}.app-footer>span:last-child{display:none}.view-heading{top:18px}.view-options{bottom:72px}.navigation-hint{bottom:49px}}@media(max-width:580px){.workspace{display:flex;flex-direction:column}.viewport{order:-1;height:65dvh;min-height:430px}.left-panel{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.panel-heading{display:none}.room-section{padding:20px 15px;border-bottom:0}.library-section{border-left:1px solid var(--line);padding-top:20px}.library{grid-template-columns:1fr 1fr}.equipment-card{padding:0 5px 7px;min-height:90px}.equipment-card img{height:49px}.equipment-card small{font-size:8px}.equipment-card strong{font-size:10px}.topbar{padding:0 12px;height:68px}.brand{font-size:12px;gap:8px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1px}.brand-mark{width:30px;height:34px;font-size:31px}.header-actions .icon-button{width:25px}.header-actions .button{font-size:10px;padding:9px 7px}.project-name{display:none}.right-panel{border-left:0}.inspector{padding:22px}.app-footer{padding:0 14px}.navigation-hint{font-size:9px}.view-heading h2{font-size:27px}.scene-bottom{left:16px;right:16px;font-size:9px}.view-options{padding:10px 13px}.room-section h2 span,.library-section h2 span{font-size:12px}.library-section h2{gap:6px}}
/* Keep controls readable across the compact editor panels. */
.equipment-card strong,.equipment-card small,.custom-button,.library-section>.helper,.view-switch button,.view-options label,.scene-bottom,.navigation-hint,.room-finish p,.selection-actions button,.keyboard-hint,.library-note,.placement-status{font-size:12px}.equipment-card{min-height:120px}.eyebrow,.type-tag,.inspector h3 span,.app-footer,.app-footer strong{font-size:12px}.brand small{font-size:10px}.view-options{gap:12px}.navigation-hint{white-space:normal;text-align:center;width:90%;line-height:1.5}.scene-bottom{letter-spacing:0}.room-finish h3{font-size:14px}.library-note{line-height:1.6}.keyboard-hint kbd{font-size:11px}@media(max-width:580px){.library{grid-template-columns:1fr}.equipment-card{min-height:112px}.equipment-card img{height:60px}.scene-bottom,.navigation-hint{font-size:10px}.eyebrow{font-size:11px}.header-actions .button{font-size:11px}.view-options{gap:10px}.brand small{font-size:8px}.app-footer{font-size:10px}.app-footer strong{font-size:10px}}
/* Editable finishes for each kitchen or truck layout. */
.room-finish{margin-top:0}.room-finish h3{margin:13px 0 5px;font:22px 'Instrument Serif',Georgia}.room-finish>p{font-size:12px;line-height:1.5}.palette-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0 18px}.palette-preset{background:#f4f5ef;border:1px solid #e2e6da;border-radius:7px;padding:8px;text-align:left;font-size:12px;min-height:57px}.palette-preset.active{border-color:#587358;background:#ebf0e8;box-shadow:0 0 0 1px #587358 inset}.palette-preset-colors{display:flex;gap:3px;margin-bottom:6px}.palette-preset-colors i{display:block;width:18px;height:12px;border-radius:3px;border:1px solid #00000015}.palette-fields{border-top:1px solid var(--line)}.palette-field{min-height:47px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;color:#344638;cursor:pointer}.palette-field input[type=color]{appearance:none;border:1px solid #d7ded4;background:#fff;width:44px;height:32px;padding:3px;border-radius:6px;cursor:pointer}.palette-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.palette-field input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}.palette-field input[type=color]::-moz-color-swatch{border:0;border-radius:3px}.palette-note{font-size:11px!important;color:#929989;margin:13px 0 0!important}@media(max-width:860px){.room-finish{display:block}.palette-presets{grid-template-columns:repeat(4,1fr)}}@media(max-width:580px){.palette-presets{grid-template-columns:1fr 1fr}}
.library-group{grid-column:1/-1;font-size:12px;font-weight:600;color:#6c7f66;margin:10px 0 2px;padding:4px 0;border-bottom:1px solid var(--line)}.library-group:first-child{margin-top:0}.asset-download{display:block;border:1px solid #d8ded0;border-radius:6px;margin-top:14px;padding:11px 7px;text-align:center;font-size:12px;background:#eff2e8}.asset-download:hover{background:#e4ebdc}.equipment-card strong{line-height:1.35}

.asset-preview{display:block;margin-top:14px;font-size:12px;color:#526747;text-decoration:underline;text-underline-offset:3px}

.selected-names{padding-left:18px;margin:20px 0;color:#52634c;font-size:13px;line-height:1.8}.group-rotate{width:100%;margin-bottom:8px}#selection-multiple h2{font-size:25px;margin:10px 0}#selection-multiple .keyboard-hint{line-height:1.9}

.architecture-section{padding:22px 24px;border-top:1px solid var(--border,#dce0d4)}.architecture-section h2{display:flex;gap:12px;font-size:11px;letter-spacing:1px;color:#87917d}.architecture-section h2 span{color:#344c3c;letter-spacing:0}.architecture-library{display:flex;gap:6px;margin:14px 0}.architecture-library button{flex:1;padding:12px 4px;border:1px solid #ccd3c4;border-radius:6px;background:#f6f7f1;font:inherit;font-size:12px;cursor:pointer}.architecture-library button:hover{background:#e8eddc}.architecture-list{display:grid;gap:4px}.architecture-object{display:flex;justify-content:space-between;text-align:left;background:transparent;border:0;border-radius:4px;padding:7px 5px;font:inherit;font-size:11px;cursor:pointer;color:#50604c}.architecture-object.active{background:#e3e9d8;color:#304e34}.architecture-object small{color:#7b8474}#opening-controls{padding:12px 0;border-bottom:1px solid #dce0d4}#opening-controls select{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #d0d7c8;border-radius:5px;background:#f8f9f4;font:inherit;color:#304735}.door-open{display:flex;align-items:center;gap:8px;margin:12px 0}.door-open input{width:auto!important;margin:0!important}input:disabled{opacity:.6;cursor:not-allowed}

[hidden]{display:none!important}

.storefront-section{padding:22px 24px;border-top:1px solid #dce0d4}.storefront-section h2{display:flex;gap:12px;font-size:11px;letter-spacing:1px;color:#87917d}.storefront-section h2 span{color:#344c3c;letter-spacing:0}.storefront-toggle{display:flex;align-items:center;gap:9px;margin:14px 0;font-size:12px;color:#344c3c}.storefront-toggle input{width:14px;height:14px;accent-color:#425a42}.storefront-section select{display:block;width:100%;margin:8px 0 14px;padding:10px;border:1px solid #d0d7c8;border-radius:5px;background:#f8f9f4;font:inherit;font-size:12px;color:#304735}#storefront-controls label{font-size:11px;color:#707f6d}#select-divider{width:100%;margin-top:12px}#storefront-controls .area-summary{padding-top:12px;margin-top:12px}.zone-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;border-radius:4px;background:rgba(248,249,239,.9);color:#486052;padding:5px 8px;font:500 10px 'DM Sans',sans-serif;letter-spacing:.3px}

.placement-protection{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:#344c3c}.placement-protection input{width:14px;height:14px;accent-color:#425a42}.protection-note{margin:8px 0 0}

.outdoor-section{padding:22px 24px;border-top:1px solid #dce0d4;background:#f1f3ec}.outdoor-section h2{display:flex;gap:12px;font-size:11px;letter-spacing:.6px;color:#87917d}.outdoor-section h2 span{color:#344c3c;letter-spacing:0}.outdoor-size{margin:12px 0}.outdoor-preset{width:100%;margin:16px 0 10px;white-space:normal;background:#365748;color:#fff;border-color:#365748}.exterior-palette{margin-top:14px}.outdoor-section .storefront-toggle{margin:12px 0}.outdoor-section .equipment-card{background:#e5eadd}.outdoor-section .library{margin:18px 0 14px}.walkway-label{color:#516748;background:#f0f3e9e8}.view-switch{flex-wrap:wrap;justify-content:flex-end}#view-exterior{color:#365748;font-weight:600}@media(max-width:580px){.outdoor-section{grid-column:1/-1;padding:20px 15px}.outdoor-section .library{grid-template-columns:repeat(3,minmax(0,1fr))}.view-heading{gap:8px}.view-switch button{font-size:11px;padding:7px 6px}}

/* Editor navigation and switch controls. */
body{height:100dvh;overflow:hidden;display:grid;grid-template-rows:68px minmax(0,1fr) 30px}
.topbar{height:auto;padding:0 20px;gap:20px}.brand{min-width:230px}.project-name{font-size:12px;gap:10px}
.workspace{height:auto;min-height:0;grid-template-columns:280px minmax(0,1fr) 260px;position:relative;overflow:hidden}
.left-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.right-panel{min-height:0;grid-column:auto;grid-row:auto;display:block}
.panel-heading{padding:18px 20px 14px}.panel-heading h1{font-size:28px;margin-top:6px}.panel-heading .eyebrow{font-size:10px}
.editor-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 14px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.editor-tabs button{font-size:12px;font-weight:600;border:1px solid transparent;background:transparent;border-radius:7px;min-height:35px;padding:6px 4px}
.editor-tabs button:hover{background:#edf0e7}.editor-tabs button[aria-selected=true]{background:var(--green);color:white;box-shadow:0 2px 4px #223c2317}
.menu-content{overflow:auto;scrollbar-width:thin;min-height:0;flex:1}.menu-content>[role=tabpanel]{outline-offset:-3px}
.menu-content section{padding:20px;border:0;border-bottom:1px solid var(--line);margin:0}.menu-content section:last-child{border-bottom:0}
.menu-content section>h2{padding:0;margin-bottom:14px}.menu-content .room-finish{display:block}.menu-content .room-finish>h3{margin-top:8px}
.area-empty{border:1px dashed #bfcabc;background:#f0f3eb;border-radius:8px;padding:14px;line-height:1.6;font-size:12px;color:#536950;margin:0}
.equipment-search{margin:14px 0}.equipment-search>label{font-weight:600;color:#40573e}.search-field{position:relative;margin-top:7px}
.search-field input{width:100%;min-width:0;border:1px solid #cbd4c5;border-radius:7px;background:#fff;padding:11px 32px 11px 10px;color:#263b30;font-size:13px;outline:none}
.search-field input::-webkit-search-cancel-button{display:none}.search-field button{position:absolute;right:3px;top:3px;width:30px;height:32px;border:0;background:transparent;font-size:22px}
#search-results{font-size:12px;line-height:1.5;margin:10px 0 0;color:#667860}.library-group{margin-top:10px}
.viewport{height:auto;min-height:0;grid-column:auto;grid-row:auto;order:0}.view-heading{top:22px;left:22px;right:22px;gap:10px;align-items:flex-start;flex-wrap:wrap}.view-heading h2{font-size:26px}.view-switch{margin-left:auto}
.scene-tools{bottom:90px;right:18px}.navigation-hint{bottom:48px;font-size:11px;max-width:85%;line-height:1.6;text-align:center}.scene-bottom{bottom:16px;left:20px;right:20px;font-size:10px}#toast{bottom:100px}
.inspector{padding:20px}.right-footer{display:none}.inspector h2{font-size:24px}.right-panel{border-left:1px solid var(--line)}
.switch-dock{z-index:10;background:#fafbf7;border-top:1px solid #cdd5c6;box-shadow:0 -3px 18px #223c2307;display:flex;align-items:stretch;justify-content:center;gap:0;padding:10px 12px;overflow-x:auto;scrollbar-width:thin;min-width:0}
.switch-group{display:flex;align-items:center;gap:14px;padding:15px 18px 0;position:relative;flex-shrink:0;border-right:1px solid var(--line)}.switch-group:last-child{border:0}.switch-group-title{position:absolute;top:0;left:18px;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;font-weight:650;color:#7c8878}
.dock-switch{position:relative;display:flex;align-items:center;gap:7px;min-height:32px;cursor:pointer;font-size:12px;font-weight:550;color:#40563d;white-space:nowrap}
.dock-switch input{position:absolute;width:100%;height:100%;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch-track{width:29px;height:17px;border-radius:20px;background:#c6cec0;position:relative;flex-shrink:0;transition:background .16s;box-shadow:inset 0 0 0 1px #2c4b3b18}.switch-track:after{content:'';position:absolute;width:11px;height:11px;border-radius:50%;background:white;left:3px;top:3px;transition:transform .16s;box-shadow:0 1px 3px #0002}
.dock-switch input:checked+.switch-track{background:#365d42}.dock-switch input:checked+.switch-track:after{transform:translateX(12px)}.dock-switch input:focus-visible+.switch-track{outline:2px solid #a57b45;outline-offset:3px}.dock-switch:has(input:disabled){opacity:.4;cursor:default}.dock-switch input:disabled{cursor:default}
.app-footer{height:auto;padding:0 20px;font-size:10px}.app-footer>span:last-child{display:none}.mobile-panel-controls,.drawer-scrim{display:none}
@media(max-width:1200px){.workspace{grid-template-columns:250px minmax(0,1fr) 240px}.project-name{display:none}.switch-group{padding-left:12px;padding-right:12px;gap:10px}.switch-group-title{left:12px}.switch-dock{justify-content:flex-start}.header-actions{gap:8px}.view-switch button{font-size:11px;padding:8px}.view-heading{left:18px;right:18px}.scene-bottom>span:first-child{font-size:9px}.menu-content section{padding:18px}}
@media(max-width:900px){
 body{grid-template-rows:60px minmax(0,1fr) 28px}.topbar{padding:0 14px;gap:10px}.brand{min-width:0;font-size:13px;gap:8px}.brand small{font-size:8px}.brand-mark{width:32px;height:35px;font-size:30px}.header-actions #save-status{display:none}.header-actions .button{font-size:12px;padding:9px 10px}
 .workspace{display:block;min-height:0;height:auto}.viewport{height:100%;min-height:0;width:100%}.mobile-panel-controls{display:flex;position:absolute;top:12px;left:14px;right:14px;justify-content:space-between;z-index:7;pointer-events:none}.mobile-panel-controls button{pointer-events:auto;background:#fafbf7;border:1px solid #cbd4c5;border-radius:7px;padding:9px 12px;font-size:12px;box-shadow:0 2px 6px #223c2310}.mobile-panel-controls button[aria-expanded=true]{background:var(--green);color:white}
 .view-heading{top:67px}.left-panel,.right-panel{position:absolute;top:55px;bottom:8px;width:min(300px,calc(100% - 28px));z-index:6;border:1px solid #cbd4c5;border-radius:12px;box-shadow:0 12px 36px #172c2826;display:none}.left-panel{left:14px}.right-panel{right:14px;padding:0;overflow:auto}.panel-heading{padding:15px 18px 12px}.panel-heading h1{font-size:24px}
 body[data-drawer=tools] .left-panel{display:flex}body[data-drawer=properties] .right-panel{display:block}.drawer-scrim{position:absolute;inset:55px 0 0;z-index:5;border:0;background:#20362717}body[data-drawer=tools] .drawer-scrim,body[data-drawer=properties] .drawer-scrim{display:block}.switch-dock{padding:8px 6px}.switch-group{padding-top:15px}.scene-tools{bottom:80px}.scene-bottom{bottom:12px}.navigation-hint{bottom:39px}.app-footer{padding:0 12px}.app-footer>span:first-child{display:none}
}
@media(max-width:480px){.brand>span:last-child{font-size:11px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1px}.header-actions{gap:3px}.header-actions .button{font-size:10px;padding:8px 7px}.topbar{padding:0 10px}.header-actions .icon-button{width:28px}.view-heading{left:14px;right:14px}.view-heading h2{font-size:23px}.view-switch{margin-left:0}.scene-bottom{font-size:9px;gap:8px}.scene-bottom>span:first-child{font-size:8px}.navigation-hint{font-size:10px;max-width:80%}.switch-group{gap:12px}.switch-dock{padding-bottom:max(8px,env(safe-area-inset-bottom))}}
.switch-scroll-hint{display:none}
@media(max-width:900px){.app-footer>.switch-scroll-hint:last-child{display:block;flex-shrink:0;color:#536950;font-size:10px}.app-footer #layout-health{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:12px}.dock-switch{min-height:36px}}
.app-footer>span:nth-child(3){display:none}
.equipment-card{touch-action:none;cursor:grab}.equipment-card:active{cursor:grabbing}.equipment-card.dragging{opacity:.45;border-color:#365d42}.placing-library-object,.placing-library-object *{cursor:grabbing!important;user-select:none}.library-drag-hint{position:fixed;z-index:100;pointer-events:none;background:#263b30;color:white;border-radius:8px;padding:10px 14px;font-size:12px;line-height:1.5;max-width:250px;box-shadow:0 4px 16px #0002}
.architecture-library button{touch-action:none;cursor:grab}.architecture-library button.dragging{opacity:.45;border-color:#365d42}
#finish-area-label{margin:14px 0 12px;font-weight:600;color:#40573e}#finish-area{display:block;width:100%;padding:10px 12px;margin-top:7px;border:1px solid #cbd4c5;border-radius:7px;background:#fff;font:inherit;color:#263b30}#finish-description{font-size:12px;line-height:1.6}

/* Facade building uses a straight elevation and its own selection inspector. */
#facade-section{padding:24px 20px}#facade-section h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:10px 0}#facade-section h3{font-size:12px;margin:22px 0 12px}#facade-start{width:100%;margin-top:12px}#facade-height{width:100%;margin-top:8px;padding:10px;border:1px solid #d1d6cb;border-radius:6px;background:white}.facade-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.facade-tools button{display:flex;align-items:center;gap:8px;padding:13px 8px;background:#f3f4ee;border:1px solid #d6dccf;border-radius:8px;text-align:left;font-size:11px;cursor:pointer}.facade-tools button span{font-size:23px;color:#496552;min-width:22px;text-align:center}.facade-tools button[aria-pressed=true]{background:#dce8d8;border-color:#4f7257;box-shadow:0 0 0 1px #4f7257}.facade-build-banner{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:20px;padding:12px 16px;background:#fdfcf5ee;border:1px solid #aabc9e;border-radius:12px;box-shadow:0 6px 25px #263a3020;max-width:calc(100% - 30px);width:490px}.facade-build-banner b{font-size:10px;letter-spacing:1.4px;color:#35513e}.facade-build-banner small{display:block;font-size:11px;margin-top:5px;line-height:1.4}.facade-build-banner button{margin-left:auto;white-space:nowrap}.facade-build-banner[hidden]{display:none}.facade-editing .inspector>:not(#facade-inspector){display:none!important}#facade-inspector h2{font:26px Georgia,serif}#facade-inspector .palette-field{margin:18px 0}#facade-inspector .helper{line-height:1.8}.facade-editing #canvas-host{cursor:crosshair}.facade-editing .viewport .viewport-hint{visibility:hidden}#facade-pieces button[aria-pressed=true]{background:#dce8d8;border-color:#4f7257}@media(max-width:900px){.facade-build-banner{bottom:70px;width:calc(100% - 28px);gap:8px}.facade-build-banner small{font-size:10px}}
.facade-editing #facade-section>h2,.facade-editing #facade-section>p{display:none}.facade-editing #facade-section{padding-top:18px}.facade-editing #facade-section h3{margin-top:16px}.facade-editing .navigation-hint,.facade-editing .scene-bottom{display:none}.facade-build-banner{bottom:8px;padding:9px 14px;width:540px}.facade-editing .view-heading>div:first-child{visibility:hidden}.facade-editing #canvas-host{height:calc(100% - 75px);top:25px}.facade-editing .scene-tools{bottom:94px}#facade-building-fields{margin:20px 0}.facade-editing .view-switch button.active{background:transparent;font-weight:400}@media(max-width:900px){.facade-editing #canvas-host{top:60px;height:calc(100% - 120px)}.facade-build-banner{bottom:8px}.facade-editing .view-heading{display:none}}
.text-library{margin:20px 0;padding:16px 0;border-top:1px solid var(--line)}.text-library h3{margin:0 0 12px;font-size:13px}#add-text{width:100%}#text-controls{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}#text-controls textarea{width:100%;resize:vertical;font:inherit;padding:10px;border:1px solid #ccd4c7;border-radius:6px;background:white;margin-top:8px;line-height:1.5}#text-controls select{width:100%;padding:9px;margin:8px 0 16px;border:1px solid #ccd4c7;border-radius:6px;background:white;color:inherit;font:inherit}#text-controls .palette-field{display:block}#text-controls .palette-field input{display:block;margin-top:8px;width:100%;height:39px}

/* Fixture controls share the inspector spacing and full-width fields. */
#lighting-controls{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}#lighting-controls select{display:block;width:100%;padding:9px;margin:8px 0 16px;border:1px solid #ccd4c7;border-radius:6px;background:white;color:inherit;font:inherit}#lighting-controls .field-grid{margin-bottom:16px}#lighting-controls .palette-field{display:block}#lighting-controls .palette-field input{display:block;margin-top:8px;width:100%;height:39px}

/* Floating design library and compact navigation rail. */
.workspace{--tools-width:410px;grid-template-columns:var(--tools-width) minmax(0,1fr) 260px;background:#e8eadf}
.left-panel{grid-column:1;grid-row:1;position:relative;margin:16px 12px 16px 74px;border:1px solid #e2e5df;border-radius:18px;background:#fff;box-shadow:0 8px 28px #263b3012;z-index:4;width:auto;min-width:0}
.viewport{grid-column:2;grid-row:1}.right-panel{grid-column:3;grid-row:1}
.panel-heading{padding:18px 18px 14px;flex-shrink:0;border-bottom:1px solid #edf0ea;background:white}
.menu-brand{margin-bottom:16px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.5px;color:#939a91}.panel-heading h1{font:500 13px/1.4 'DM Sans',sans-serif;letter-spacing:0;margin:4px 0 0;color:#677469}
.menu-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading #menu-title{font:600 20px/1.3 'DM Sans',sans-serif;margin:0;color:#2d3731}
.menu-panel-actions{display:flex;gap:4px}.menu-icon-button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#68736b;padding:6px}.menu-icon-button svg{width:18px;height:18px}.menu-icon-button:hover{background:#f0f3ef}
.editor-tabs{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;width:54px;padding:7px 4px;background:white;border:1px solid #e2e5df;border-radius:16px;box-shadow:0 6px 20px #263b3010;z-index:7;max-height:calc(100% - 32px);overflow:auto;scrollbar-width:none}
.editor-tabs button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0;width:44px;min-height:56px;border:0;padding:6px 0;border-radius:10px;background:transparent;color:#7c847e;font-weight:500;font-size:9px}
.editor-tabs svg{width:22px;height:22px}.editor-tabs button:hover{background:#f1f5ef;color:#3b6646}.editor-tabs button[aria-selected=true]{background:#ecf6ed;color:#2c8b4b;box-shadow:none;font-weight:650}.editor-tabs button[aria-selected=true]:before{content:'';position:absolute;left:-4px;top:18px;height:20px;width:3px;background:#40a663;border-radius:0 3px 3px 0}
.menu-content{scrollbar-color:#d9dfd5 transparent;background:white}.menu-content section{padding:18px;border-color:#ecefe9;background:white}.menu-content section>h2{font-size:13px;color:#344c3c;margin-bottom:12px;letter-spacing:0}.menu-content section>h2 span{font-size:13px}.menu-content .helper{color:#858e82}.menu-content .library-section>h2,.menu-content .library-section>.helper{padding-left:0}
.equipment-search{position:sticky;top:0;z-index:2;background:white;margin:-1px 0 20px;padding:1px 0 0}.search-field{margin:0}.search-field>svg{position:absolute;width:19px;height:19px;left:13px;top:14px;color:#a3aaa2;pointer-events:none}.search-field input{height:46px;border:1px solid #dde2dc;border-radius:25px;padding:11px 34px 11px 41px;font-size:13px;background:white}.search-field input::placeholder{color:#969d95}.search-field button{top:7px;right:8px;height:32px;color:#858e82}
.catalog-categories{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;border-bottom:1px solid #e9ede6;min-height:43px}.catalog-categories>span{align-self:stretch;display:flex;align-items:center;border-bottom:2px solid #40a663;font-size:12px;font-weight:600;white-space:nowrap;color:#3a473e}.catalog-categories select{font:inherit;font-size:11px;color:#788375;background:transparent;border:0;max-width:145px;min-width:0;padding:10px 0;cursor:pointer}.catalog-categories select:focus-visible{outline:2px solid #648568;outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.custom-equipment-callout{border:1px dashed #dce5d6;border-radius:12px;padding:14px;margin:18px 0;background:#fbfdf9}.custom-equipment-callout p{font-size:12px;color:#7f8c7a;line-height:1.5;margin:0 0 12px}.custom-equipment-callout .custom-button{border:0;border-radius:24px;background:#def6dc;color:#377849;font-size:12px;font-weight:600;padding:10px 8px;margin:0}.custom-equipment-callout .custom-button:hover{background:#d1efce}
.left-panel .library,.left-panel .architecture-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.left-panel .equipment-card{padding:0 0 11px;border:1px solid #e3e7df;border-radius:11px;background:white;min-height:0;font:inherit;overflow:hidden;box-shadow:0 1px 2px #273c3003;transition:border-color .16s,box-shadow .16s}
.left-panel .equipment-card:hover{background:white;border-color:#9bc9a2;box-shadow:0 3px 12px #2d75451a}.left-panel .equipment-card img{display:block;width:100%;height:108px;object-fit:contain;background:#f0f2eb;border-bottom:1px solid #edf0e7}.left-panel .equipment-card strong{display:block;margin:10px 10px 0;font-size:12px;line-height:1.45;font-weight:500;color:#38443b;overflow-wrap:anywhere}.left-panel .equipment-card small{margin:5px 10px 0;color:#939c8f;font-size:9px;line-height:1.5}.left-panel .equipment-card .add{top:7px;right:7px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#ffffffd9;color:#709477;font-size:15px;border:1px solid #e4eadf}
.left-panel .library-group{font-size:12px;font-weight:600;color:#6c7a68;margin:6px 0 0;padding:9px 0 3px;border:0}.left-panel .architecture-library{margin:18px 0}.left-panel .architecture-object{padding:10px 8px;border:1px solid #eef1ea;border-radius:7px;background:#fafbf8;font-size:11px;gap:8px}.left-panel .architecture-object.active{background:#edf6e9;border-color:#c5ddba}.left-panel .asset-preview{font-size:11px;line-height:1.5}.left-panel .area-empty{border-color:#dce5d6;background:#f7faf4;border-radius:12px}.left-panel .palette-presets{gap:10px}.left-panel .palette-preset{border-radius:10px;background:#fafbf8}.left-panel .outdoor-section .library{grid-template-columns:repeat(2,minmax(0,1fr))}
.left-panel [hidden]{display:none!important}.tools-wide .workspace{--tools-width:490px}.tools-collapsed .workspace{--tools-width:76px}.tools-collapsed .left-panel{display:none}
@media(min-width:1600px){.workspace{grid-template-columns:var(--tools-width) minmax(0,1fr) 290px}}
@media(min-width:901px) and (max-width:1200px){.workspace{--tools-width:380px;grid-template-columns:var(--tools-width) minmax(0,1fr) 220px}.tools-wide .workspace{--tools-width:440px}.tools-collapsed .workspace{--tools-width:76px}.left-panel{margin-left:68px;margin-right:10px}.editor-tabs{left:7px}.left-panel .equipment-card img{height:97px}.catalog-categories{gap:8px}.catalog-categories select{max-width:128px;font-size:10px}.panel-heading,.menu-content section{padding-left:16px;padding-right:16px}}
@media(max-width:900px){
 .workspace{display:block}.viewport{height:100%;width:100%}.left-panel{position:absolute;left:70px;top:58px;bottom:8px;width:min(330px,calc(100% - 84px));margin:0;border-radius:16px;display:none;z-index:6}.right-panel{grid-column:auto;grid-row:auto}.editor-tabs{left:8px;top:75px;transform:none;width:54px;padding:6px 4px;max-height:calc(100% - 87px)}.editor-tabs button{min-height:49px;gap:3px;font-size:8px}.editor-tabs svg{width:21px;height:21px}.editor-tabs button[aria-selected=true]:before{top:15px}
 body[data-drawer=tools] .left-panel{display:flex}.tools-collapsed .left-panel{display:none}.panel-heading{padding:15px 16px 12px}.menu-brand{margin-bottom:12px}.panel-heading h1{font-size:12px}.panel-heading #menu-title{font-size:19px}#expand-tools{display:none}.menu-content section{padding:16px}.menu-content .equipment-search{margin-bottom:16px}.left-panel .equipment-card img{height:95px}.navigation-hint{white-space:normal}.drawer-scrim{inset:55px 0 0}.editor-tabs button:disabled{opacity:.3}
}
@media(max-width:400px){.catalog-categories{gap:6px}.catalog-categories>span{font-size:11px}.catalog-categories select{max-width:120px;font-size:10px}.left-panel .library,.left-panel .architecture-library{gap:9px}.left-panel .equipment-card img{height:84px}.left-panel .equipment-card strong{font-size:11px;margin-left:8px;margin-right:8px}.left-panel .equipment-card small{margin-left:8px;margin-right:8px;font-size:8px}}
.panel-heading{display:block}.catalog-categories .count{display:inline-grid;place-items:center;margin-left:7px;padding:2px 5px;border-radius:5px;background:#eff4eb;color:#84917d;font-size:9px}
.left-panel .custom-equipment-callout{margin:14px 0;padding:12px}.left-panel .custom-equipment-callout p{font-size:11px;margin-bottom:8px}.left-panel .custom-equipment-callout .custom-button{padding:8px}.left-panel .library-section>.helper{font-size:11px;margin-bottom:10px}.left-panel .equipment-search{margin-bottom:14px}
@media(max-width:900px){.panel-heading .eyebrow{display:none}.menu-brand{margin-bottom:7px}.panel-heading{padding-top:12px;padding-bottom:10px}}
body{grid-template-columns:minmax(0,1fr)}.topbar,.workspace,.app-footer{min-width:0}
@media(max-width:480px){.topbar{gap:8px;padding:0 8px}.brand{gap:6px}.brand-mark{width:28px;height:32px;font-size:27px;flex-shrink:0}.brand>span:last-child{font-size:10px;letter-spacing:.5px}.header-actions .button{font-size:9px;padding:8px 6px}.header-actions .icon-button{width:25px}}
@media(max-width:360px){.topbar{gap:5px;padding:0 6px}.brand>span:last-child{font-size:9px;letter-spacing:.2px}.header-actions .button{font-size:8px;padding:8px 4px}.header-actions{gap:2px}.header-actions .icon-button{width:22px}}
.left-panel .palette-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Café facade kit and individual sidewalk finishes. */
.facade-tools h4{grid-column:1/-1;margin:14px 0 2px;font-size:11px;font-weight:600;color:#778672}.cafe-starter{width:100%;margin:10px 0 4px;background:#f7eadc;border-color:#e3cbbb;color:#834b3a}.facade-finish-controls select{display:block;width:100%;padding:10px;margin:7px 0 12px;border:1px solid #d5dccf;border-radius:7px;background:white;color:inherit;font:inherit}
#facade-piece-text,#outdoor-object-text{width:100%;margin-top:8px;padding:10px;resize:vertical;background:white;border:1px solid #d1d9c9;border-radius:7px;font:inherit;line-height:1.6}#cafe-object-controls{padding-top:14px;margin-top:18px;border-top:1px solid var(--line)}#cafe-object-controls .palette-field{font-size:11px}#facade-detail-colors .palette-field{font-size:12px}

/* Top-bar settings drawer reuses the live switches and their handlers. */
.settings-button{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #d7ded3;border-radius:9px;background:#fff;color:#49624c;padding:9px}.settings-button svg{width:21px;height:21px}.settings-button[aria-expanded=true]{background:#e4eee0;border-color:#7e9c78}
.settings-drawer{position:fixed;inset:76px 16px auto auto;margin:0;width:420px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 92px);padding:0;border:1px solid #dce3d6;border-radius:16px;background:#fff;color:#263b30;box-shadow:0 14px 50px #20362730;overflow:auto;overscroll-behavior:contain}.settings-drawer::backdrop{background:#23352918}.settings-heading{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e9ede5}.settings-heading .eyebrow{font-size:9px;letter-spacing:1.4px;color:#889681}.settings-heading h2{margin:5px 0 0;font-size:21px;font-weight:600}.settings-heading svg{width:19px;height:19px}
.settings-drawer .switch-dock{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;align-items:start;justify-content:stretch;padding:20px;overflow:visible;background:white;border:0;box-shadow:none}.settings-drawer .switch-group{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:0;border:0;min-width:0}.settings-drawer .switch-group-title{position:static;margin-bottom:7px;font-size:10px;letter-spacing:1px}.settings-drawer .dock-switch{justify-content:space-between;gap:8px;min-height:38px;font-size:12px}.settings-drawer .switch-track{order:2}.settings-drawer .dock-switch>span:last-child{order:1}.settings-drawer .dock-switch:has(input:focus-visible){background:#f3f6ef;border-radius:5px}
@media(max-width:900px){.settings-drawer{top:68px;right:12px;max-height:calc(100dvh - 80px)}.settings-button{width:34px;height:34px;padding:7px}.settings-button svg{width:19px;height:19px}}
@media(max-width:480px){.settings-drawer{right:8px;width:calc(100vw - 16px);max-width:none;border-radius:12px}.settings-heading{padding:16px}.settings-drawer .switch-dock{gap:16px;padding:16px}.settings-button{width:31px;height:34px;padding:6px}}

.depth-dimensions{white-space:pre-line;line-height:1.7;text-align:left;padding:6px 10px;transform:translate(-50%,0)}
