@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600&display=swap";:root{font-family:DM Sans,Noto Sans SC,Microsoft YaHei,sans-serif;color:#343c31;background:#f6f5ef;font-synthesis:none;--ink:#343c31;--muted:#93978c;--line:#e5e6dc;--green:#6f8057;--dark-green:#4e633c;--pale:#e9eddf;--panel:#fafbf7;--warm:#f0eee7}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.42;cursor:not-allowed}a{color:inherit;text-decoration:none}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:1px solid #8e9d78;border-color:#8e9d78!important}button svg{flex-shrink:0}svg.lucide{width:18px;height:18px;display:inline-block;vertical-align:middle}input,textarea,select{color:var(--ink)}input::placeholder,textarea::placeholder{color:#a1a496}textarea{resize:vertical;min-height:75px;line-height:1.7}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{opacity:.3}input[type=color]{padding:0;border:0;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:1px solid #d9d9cf;border-radius:4px}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#d4d8c9;border-radius:5px}::-webkit-scrollbar-track{background:transparent}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 25px 0 22px;border-bottom:1px solid var(--line);background:#fafbf7;gap:20px}.brand{display:flex;align-items:center;gap:11px;min-width:223px}.brand-symbol{height:40px;width:40px;border-radius:12px;color:#61744d;background:#e8ecdf;display:grid;place-items:center}.brand-symbol svg{width:26px;height:26px;stroke-width:1.4}.brand>span:last-child{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:21px;font-weight:600;letter-spacing:4px;line-height:1.2}.brand small{display:block;font-family:DM Sans,sans-serif;letter-spacing:2px;font-size:8px;margin-top:7px;font-weight:500;color:#939a87}.project-heading{display:flex;gap:17px;align-items:center;flex:1;min-width:0}.divider{height:27px;width:1px;background:var(--line);margin-right:5px}.project-heading input{background:transparent;border:1px solid transparent;border-radius:5px;font-weight:500;width:170px;font-size:13px;padding:7px 4px;min-width:80px}.save-status{display:flex;align-items:center;gap:4px;font-size:10px;color:#89967b;white-space:nowrap}.save-status svg{width:12px;height:12px}.save-status.error{color:#ad694c}.header-actions{display:flex;align-items:center;gap:12px}.quiet-button,.primary-button,.outline-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 15px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;transition:background .15s,transform .15s}.quiet-button{color:#777f70;padding:9px}.quiet-button:hover{background:#edf0e6}.primary-button{background:var(--green);color:#fff;border:1px solid var(--green);box-shadow:0 2px 2px #34412408}.primary-button:hover:not(:disabled){background:var(--dark-green)}.outline-button{background:#fafbf7;border:1px solid #dedfd3;color:#737d65}.outline-button:hover:not(:disabled){background:#edf0e5}.primary-button svg,.outline-button svg,.quiet-button svg{width:15px;height:15px}.full{width:100%;margin:5px 0}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;color:#7e8974;border-radius:5px;border:1px solid transparent;flex-shrink:0}.icon-button:hover,.icon-button.active{background:#e6ebdb;color:#536640}.icon-button svg{width:17px;height:17px}.workspace{display:grid;grid-template-columns:68px 258px minmax(320px,1fr) 282px;height:calc(100dvh - 76px);min-height:470px}.rail{background:#f3f5ed;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:20px 8px 14px}.rail-main{display:flex;flex-direction:column;gap:9px}.rail-button{height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:8px;color:#969d8c;font-size:10px}.rail-button svg{width:21px;height:21px;stroke-width:1.5}.rail-button.active{background:#e6ebdb;color:#61764b}.rail-button.active:after{content:"";position:absolute;left:0;height:25px;width:3px;background:#7b8d63;border-radius:0 3px 3px 0}.rail-button:hover{background:#e9ecdf}.rail-bottom{display:flex;flex-direction:column;align-items:center;gap:12px}.version-mark{display:grid;place-items:center;background:#e2e7d7;border:3px solid #fafbf7;outline:1px solid #dce1d0;border-radius:50%;width:33px;height:33px;font-size:10px;letter-spacing:1px;color:#6b7d54;margin-top:13px}.library-panel{background:var(--panel);border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column;overflow:hidden}.panel-heading{padding:25px 19px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.eyebrow{font-size:8px;letter-spacing:1.8px;font-weight:500;color:#a1a594;line-height:1.6;display:block}.panel-heading h1{font-size:18px;letter-spacing:1px;font-weight:500;margin:8px 0 0}.count-label{font-size:9px;color:#969c8b;white-space:nowrap;margin-bottom:2px}.search-field{margin:0 18px 15px;display:flex;align-items:center;gap:8px;background:#f0f2e9;border:1px solid #e7e9df;border-radius:5px;padding:10px 11px}.search-field svg{width:14px;height:14px;color:#a4aa96}.search-field input{border:0;background:none;min-width:0;width:100%;font-size:10px;outline:none!important}.category-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px;border-bottom:1px solid var(--line)}.category-tabs button{font-size:10px;color:#8b9281;padding:6px 9px;border-radius:4px}.category-tabs button.active{background:#e8eddc;color:#5b7046;font-weight:500}.category-tabs button:hover{background:#f0f2e8}.library-scroll{overflow-y:auto;flex:1;min-height:0;padding:0 16px 22px}.section-caption{display:flex;justify-content:space-between;font-size:10px;color:#a0a592;padding:17px 2px 12px;letter-spacing:.4px}.object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 10px}.object-card{text-align:left;padding:0;min-width:0;border-radius:6px}.object-image{background:#f0eee7;aspect-ratio:1.12;border:1px solid #e9e7de;border-radius:6px;overflow:hidden;position:relative;transition:border-color .2s,box-shadow .2s}.object-image img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply;font-size:10px}.object-image img:not([src]){opacity:0}.object-card:hover .object-image{border-color:#9da98c;box-shadow:0 3px 9px #3c482d0c}.object-card strong{font-size:11px;font-weight:500;display:block;margin:8px 1px 3px}.object-card small{font-size:8px;color:#9ea38f;letter-spacing:.25px;white-space:nowrap;margin-left:1px}.add-bubble{position:absolute;bottom:6px;right:6px;height:20px;width:20px;border:1px solid #daddcf;background:#f8faf3db;border-radius:50%;display:grid;place-items:center;color:#788965;opacity:0;transform:translateY(3px);transition:.2s}.object-card:hover .add-bubble{opacity:1;transform:translateY(0)}.add-bubble svg{width:11px;height:11px}.library-bottom{padding:14px 16px;border-top:1px solid var(--line);color:#a4aa97;font-size:9px;display:flex;gap:7px;align-items:center}.library-bottom svg{width:12px;height:12px}.empty-small{color:#a0a592;font-size:12px;padding:25px 10px;line-height:1.8}.work-area{min-width:0;min-height:0;display:flex;flex-direction:column;background:#eae9e2;position:relative}.workspace-bar{height:57px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 19px;background:#f8f9f3;border-bottom:1px solid var(--line);gap:12px}.mode-switch{display:flex;gap:3px;padding:3px;background:#edf0e5;border:1px solid #e4e8d9;border-radius:6px}.mode-switch button{font-size:11px;padding:7px 11px;display:flex;align-items:center;gap:6px;color:#929b83;border-radius:4px;white-space:nowrap}.mode-switch svg{width:13px;height:13px}.mode-switch button.active{background:#fafbf7;color:#657b4d;box-shadow:0 1px 3px #34432a0c}.workspace-actions{display:flex;gap:2px}.workspace-actions .icon-button{width:30px;height:30px}.stage-wrap{position:relative;flex:1;min-height:0;overflow:hidden}#scene-host,#sketch-host{position:absolute;top:0;right:0;bottom:0;left:0}#scene-host canvas{display:block;width:100%;height:100%;touch-action:none}.stage-label{position:absolute;top:21px;left:24px;display:flex;align-items:center;gap:8px;font-size:10px;color:#8a917c;pointer-events:none}.status-dot{width:5px;height:5px;border-radius:50%;background:#87956d}.stage-divider{margin:0 2px;color:#b7bca9}.stage-label #area-label{font-size:9px;letter-spacing:.3px}.canvas-tools{position:absolute;left:21px;top:63px;display:flex;flex-direction:column;gap:4px;background:#fafbf4ed;border:1px solid #dfe3d4;border-radius:7px;padding:5px;box-shadow:0 3px 10px #36402506;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-tools>.icon-button{width:31px;height:31px}.canvas-tools>span{height:1px;background:var(--line);margin:4px}.view-switch{position:absolute;right:21px;top:19px;display:flex;background:#f9fbf4d9;border:1px solid #dce2cf;border-radius:5px;padding:3px}.view-switch button{font-size:10px;min-width:40px;padding:6px 9px;color:#939b85;border-radius:3px}.view-switch button.active{background:#e5ebd9;color:#5d7246}.stage-bottom{position:absolute;bottom:15px;left:22px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.stage-bottom>span{font-size:9px;color:#939b86}.stage-bottom>div{display:flex;align-items:center;background:#fafbf4db;border:1px solid #dfe4d5;border-radius:5px;padding:2px;pointer-events:auto}.stage-bottom .icon-button{width:27px;height:27px}.stage-bottom .icon-button svg{width:14px;height:14px}.style-dock{min-height:100px;background:#f8f9f3;border-top:1px solid #dfe3d5;padding:19px 21px;display:flex;align-items:center;gap:25px;overflow-x:auto}.dock-label{display:flex;gap:9px;align-items:center;flex-shrink:0}.dock-label>svg{width:17px;height:17px;color:#8c9b78}.dock-label strong{font-size:11px;font-weight:500;display:block;white-space:nowrap}.dock-label small{font-size:8px;color:#a2a992;display:block;margin-top:5px;white-space:nowrap}.dock-styles{display:flex;gap:9px;flex:1}.dock-style{border:1px solid #e1e5d7;border-radius:5px;display:flex;gap:8px;align-items:center;padding:9px 11px;background:#fcfdf9;white-space:nowrap;font-size:9px;position:relative;color:#8c967d;flex:1;justify-content:center;min-width:83px;transition:border-color .2s}.dock-style.active{border-color:#9cab85;background:#f0f4e8;color:#5d7347}.dock-style>svg{position:absolute;right:3px;bottom:3px;width:10px;height:10px;stroke-width:2}.swatch-stack{display:flex;position:relative;padding-right:3px}.swatch-stack i{width:13px;height:26px;display:block;border:1px solid #ffffff90;border-radius:2px;margin-right:-3px}.swatch-stack i:nth-child(2){margin-top:3px;height:23px}.swatch-stack i:nth-child(3){margin-top:6px;height:20px}.inspector{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}#inspector-content{overflow-y:auto;flex:1;min-height:0}.inspector-heading{padding:25px 20px 20px;position:relative;border-bottom:1px solid var(--line)}.inspector-heading h2{font-size:18px;font-weight:500;letter-spacing:.6px;margin:7px 0 10px}.object-tag{font-size:9px;color:#8d997c;border-radius:3px;background:#edf1e4;padding:4px 7px;display:inline-block}.inspector-tools{position:absolute;right:13px;top:38px;display:flex}.inspector-tools .icon-button{width:28px;height:28px}.inspector-tools svg{width:14px;height:14px}.object-fields{padding:0;margin:0;border:0;min-width:0}.inspector-section{padding:18px 20px;border-bottom:1px solid var(--line)}.inspector-section h3{font-size:11px;font-weight:500;margin:0 0 15px;display:flex;align-items:center;justify-content:space-between}.inspector-section h3>span{font-size:9px;color:#a4ac95;font-weight:400}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 13px;min-width:0}.field:last-child{margin-bottom:0}.field>span{font-size:10px;color:#9aa28d}.field input,.field select,.field textarea{width:100%;border:1px solid #e2e6d8;background:#f5f7ef;border-radius:4px;padding:9px 10px;font-size:11px;min-width:0;transition:border-color .2s}.field input[type=number]{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:.2px}.field input[type=text]{font-size:11px}.field select{padding-right:4px}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-grid .field{margin:0 0 12px}.field-grid .field input{padding:9px 7px}.dimension-presets{display:flex;align-items:center;gap:6px;margin-top:1px}.dimension-presets button{font-size:9px;padding:4px 8px;color:#8c9b7a;border:1px solid #e0e5d6;border-radius:3px}.dimension-presets button.active{background:#e8eddd;border-color:#bec9ab}.dimension-presets small{font-size:8px;color:#a2ac94}.source-note{margin-top:12px;color:#9aa68a;font-size:9px;line-height:1.8}.source-note summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;align-items:center}.source-note summary svg{width:11px;height:11px}.source-note p{margin:7px 0;color:#909a82}.source-note a{color:#6b8053;display:flex;align-items:center;gap:4px}.source-note a svg{width:10px;height:10px}.rotation-field{display:flex;align-items:flex-end;gap:9px}.rotation-field .field{flex:1;margin:0}.rotation-field .outline-button{height:34px;font-size:10px;padding:8px 12px}.rotation-field .outline-button svg{width:12px;height:12px}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}.material-tile{padding:0;text-align:left}.material-sample{height:42px;display:block;background:var(--sample);border:2px solid transparent;border-radius:4px;position:relative}.material-tile.active .material-sample{outline:1px solid #93a579;border-color:#f1f4e8}.material-tile small{font-size:8px;color:#9aa68b;display:block;margin-top:6px}.material-sample.oak,.material-sample.walnut{background:repeating-linear-gradient(91deg,#ffffff10 0 1px,#63452116 2px 3px,transparent 4px 9px),var(--sample)}.material-sample.stone{background:repeating-linear-gradient(140deg,transparent 0 16px,#ffffff20 17px,#7b7b6c18 19px,transparent 20px 34px),var(--sample)}.material-sample.fabric{background:repeating-linear-gradient(0deg,transparent 0 2px,#fff2 3px),repeating-linear-gradient(90deg,transparent 0 2px,#837d6322 3px),var(--sample)}.material-sample.metal{background:linear-gradient(110deg,#8d938b,#d6d8d0 48%,#92988e)}.color-field{display:flex;align-items:center;gap:8px;font-size:10px;color:#98a38a;margin:13px 0}.color-field span{flex:1}.color-field input{width:24px;height:24px}.color-field code{font-family:DM Sans,sans-serif;font-size:10px;color:#8c987e;letter-spacing:.5px;text-transform:uppercase}.color-palette{display:flex;gap:7px;margin:9px 0 18px}.color-palette button{width:23px;height:23px;border-radius:50%;border:3px solid #fafbf7;outline:1px solid #e4e7dc}.color-palette button.active{outline:1px solid #829369}.bound-references{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.bound-references button{width:53px;height:53px;padding:0;position:relative;border-radius:4px;overflow:hidden;background:#f0f3e8}.bound-references img{width:100%;height:100%;object-fit:cover}.bound-references button>span{position:absolute;right:1px;top:1px;font-size:12px;background:#f6f8eeda;width:15px;height:15px;border-radius:3px}.bound-references .add-reference{border:1px dashed #cbd4bb;color:#9daa8b;display:grid;place-items:center}.bound-references .add-reference svg{width:17px;height:17px}.render-callout{padding:18px 20px 21px;background:#f0f3e8;border-top:1px solid #e1e6d6;display:flex;flex-direction:column;gap:13px;flex-shrink:0}.render-callout strong{font-size:12px;font-weight:500;display:block;margin-top:6px;color:#71835b}.render-callout .eyebrow{font-size:7px;letter-spacing:1.6px;color:#a2ae8f}.render-callout .primary-button{width:100%;font-size:11px;padding:10px}.render-callout .primary-button svg{width:14px;height:14px}.upload-reference{border:1px dashed #cbd5b9;border-radius:5px;padding:13px;width:100%;margin:17px 0 10px;background:#f2f5eb;color:#859673;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px}.upload-reference svg{width:14px;height:14px}.reference-target{font-size:9px;color:#9aa58b;margin:3px 0 15px}.reference-target strong{font-weight:500;color:#74865b}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.reference-card{min-width:0}.reference-card>button{display:block;padding:0;width:100%;aspect-ratio:.86;position:relative;overflow:hidden;border-radius:5px;border:1px solid #e6e6dc}.reference-card>button img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.reference-card>button:hover img{transform:scale(1.04)}.ref-pick{position:absolute;right:5px;bottom:5px;width:21px;height:21px;background:#fafbf4ed;border-radius:50%;display:grid;place-items:center;color:#7e9168}.ref-pick svg{width:12px;height:12px}.reference-card.is-bound>button{border:2px solid #8d9f74}.reference-card.is-bound .ref-pick{background:#7a8c60;color:#fff}.reference-caption{display:flex;align-items:center;gap:3px;font-size:9px;margin-top:7px;justify-content:space-between;line-height:1.6}.reference-caption a{color:#97a185;flex-shrink:0}.reference-caption svg{width:12px;height:12px}.reference-card>small{font-size:7px;color:#a2a995;display:block;margin-top:4px}.style-list,.layout-list{display:flex;flex-direction:column;gap:17px;padding-top:6px}.style-card{border:1px solid #e3e6da;border-radius:6px;overflow:hidden;padding:0;text-align:left;background:#fdfdf9}.style-card.selected{border-color:#9aab83}.style-color-block{height:87px;display:flex;position:relative}.style-color-block>span{flex:1}.style-color-block>span:first-child{flex:2}.style-color-block>span:last-of-type{flex:.7}.style-color-block>i{position:absolute;right:9px;bottom:9px;border-radius:50%;background:#f7f8f0bd;height:24px;width:24px;display:grid;place-items:center;color:#7a8769}.style-color-block svg{width:13px;height:13px}.style-card>div:last-child{padding:13px 14px;display:flex;align-items:center;justify-content:space-between}.style-card strong{font-size:11px;font-weight:500}.style-card small{font-size:7px;letter-spacing:1px;color:#a4ac97}.layout-card{border:1px solid #e0e5d6;border-radius:6px;padding:0;text-align:left;overflow:hidden;background:#fcfcf8}.layout-preview{background:#e9ecdf;padding:11px 22px}.layout-preview svg{width:100%;display:block}.layout-card>div:nth-child(2){display:flex;justify-content:space-between;padding:13px 12px 8px;align-items:center}.layout-card strong{font-size:11px;font-weight:500}.layout-card span{font-size:8px;color:#9eaa8e}.layout-card>small{font-size:9px;color:#97a386;padding:0 12px 13px;display:block}.layers-list{padding-top:5px}.layer-row{display:flex;align-items:center;gap:8px;padding:8px 5px;border-radius:5px;min-height:42px;width:100%;margin-bottom:5px}.layer-row.selected{background:#e9efde}.layer-row>svg{width:15px;height:15px}.layer-row>span{flex:1;text-align:left;font-size:11px}.layer-row>small{font-size:8px;color:#8e9b7b}.layer-select{min-width:0;display:flex;gap:8px;align-items:center;flex:1;padding:0}.layer-select svg{width:14px;height:14px;color:#99a889}.layer-select span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-button{padding:3px;color:#9ba88d}.mini-button svg{width:12px;height:12px}.region-item{display:flex;align-items:center;gap:10px;font-size:11px;width:100%;padding:11px 8px;border-radius:4px;margin-bottom:5px;text-align:left}.region-item.active{background:#e9efdf;color:#6d8254}.region-item>span{font-size:9px;color:#99a587}.danger-text{display:flex;align-items:center;gap:6px;color:#a97862;font-size:10px;padding:10px 0;margin-top:15px}.danger-text svg{width:13px;height:13px}#sketch-host{display:flex;align-items:center;justify-content:center;padding-bottom:20px;background-color:#eeede6;background-image:radial-gradient(#cdd2c1 1px,transparent 1px);background-size:17px 17px}.sketch-empty{text-align:center;max-width:400px;padding:30px;margin:auto}.sketch-icon{display:grid;place-items:center;width:66px;height:66px;background:#e3e9d7;border:1px solid #d3ddc2;border-radius:16px;margin:0 auto 22px;color:#8c9e75}.sketch-icon svg{width:30px;height:30px;stroke-width:1.3}.sketch-empty h2{font-size:22px;font-weight:500;letter-spacing:2px;margin:10px 0}.sketch-empty p{color:#9aa48b;font-size:11px;line-height:1.8;margin:12px 0 25px}.sketch-empty>div{display:flex;gap:8px;justify-content:center}.sketch-empty small{display:block;color:#abb39d;font-size:9px;margin-top:20px}.sketch-sheet{position:relative;box-shadow:0 9px 32px #3a453321;background:#fff}#sketch-image{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}#region-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.region-box{fill:#99ad6320;stroke:#809758;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}.region-box.selected{fill:#9db16a35;stroke:#698441;stroke-dasharray:7 4}.region-number{fill:#546a36;font-family:DM Sans,sans-serif;font-size:22px;pointer-events:none;font-weight:600;paint-order:stroke;stroke:#fafbf5;stroke-width:3px}.sketch-actions{position:absolute;bottom:60px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:15px}.sketch-actions>span{font-size:10px;color:#93a17f}.sketch-actions .outline-button{font-size:10px;padding:8px 10px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);background:#424e36ed;color:#f2f5e9;border:1px solid #ffffff30;padding:12px 21px;border-radius:7px;font-size:12px;box-shadow:0 5px 25px #2f3e2821;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;line-height:1.7}#toast.visible{opacity:1;transform:translate(-50%)}dialog{border:1px solid #e3e8d8;border-radius:12px;padding:0;background:#fafbf6;color:var(--ink);width:510px;max-width:calc(100vw - 30px);box-shadow:0 24px 100px #24311f30;max-height:85dvh;overflow-y:auto}dialog.wide{width:860px}dialog::backdrop{background:#3f493657;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#dialog-body{padding:27px}.modal-header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.modal-header h2{font-size:20px;font-weight:500;letter-spacing:1px;margin:6px 0 0}.modal-header>.icon-button{margin-right:-4px}.modal-note{font-size:11px;line-height:1.9;color:#929e81;margin:17px 0}.modal-footer{border-top:1px solid #e4e9da;padding-top:20px;margin-top:25px;display:flex;justify-content:flex-end;gap:10px}.modal-footer .primary-button,.modal-footer .outline-button{font-size:11px}.source-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6ebdc;padding:13px 0;gap:15px}.source-row strong{font-size:12px;font-weight:500}.source-row p{font-size:10px;color:#929f80;line-height:1.7;margin:5px 0 0}.source-row>svg{width:15px;height:15px;color:#a3af93;flex-shrink:0}.settings-form .field{margin:17px 0}.settings-form .field input{padding:12px}.connection-status{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e2e9d7;background:#eef2e6;color:#8b9b76;font-size:11px;border-radius:5px}.connection-status svg{width:15px;height:15px}.render-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:25px}.render-preview{width:100%;height:290px;object-fit:contain;background:#eae9e2;border-radius:6px;border:1px solid #e1e5d7}.render-summary{display:flex;gap:12px;font-size:10px;color:#92a07d;margin-top:12px;flex-wrap:wrap}.render-options h3{font-size:18px;font-weight:500;margin:5px 0 20px}.render-options .field textarea{min-height:110px}.text-button{color:#7e9164;font-size:10px;padding:11px 1px;display:flex;align-items:center;gap:5px}.text-button svg{width:11px;height:11px}.render-options .modal-note{font-size:10px;margin:5px 0}.render-result{max-width:100%;max-height:60vh;display:block;margin:auto}.lucide-loader-circle{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1650px){.workspace{grid-template-columns:76px 286px minmax(400px,1fr) 310px}.library-scroll{padding:0 20px 25px}.object-card strong{font-size:12px}.object-card small{font-size:9px}.panel-heading{padding:27px 23px 20px}.inspector-section{padding:20px 23px}.inspector-heading{padding:27px 23px 22px}.style-dock{padding:22px 28px;gap:28px}.dock-style{font-size:10px}.topbar{height:82px}.workspace{height:calc(100dvh - 82px)}}@media(max-width:1250px){.workspace{grid-template-columns:58px 220px minmax(280px,1fr) 254px}.topbar{padding:0 16px;gap:10px}.brand{min-width:185px}.save-status{display:none}.project-heading{gap:8px}.header-actions{gap:5px}.library-scroll{padding:0 12px 20px}.panel-heading{padding:20px 14px 15px}.eyebrow{font-size:7px;letter-spacing:1.3px}.panel-heading .count-label{font-size:8px}.search-field{margin-left:13px;margin-right:13px}.category-tabs{padding-left:12px;padding-right:12px;gap:3px}.category-tabs button{padding:6px 8px}.inspector-heading,.inspector-section{padding-left:16px;padding-right:16px}.style-dock{gap:12px;padding:15px 16px;min-height:94px}.dock-label{display:none}.dock-style{padding:9px 7px;gap:5px;min-width:77px}.workspace-bar{padding:0 12px}.workspace-actions .icon-button{width:25px}.workspace-actions [data-action=fullscreen]{display:none}.stage-bottom>span{max-width:60%;line-height:1.8;font-size:8px}.mode-switch button{padding:6px 8px;font-size:10px}.brand>span:last-child{font-size:19px}.project-heading input{width:140px}}@media(max-width:1000px){.workspace{grid-template-columns:56px 220px minmax(280px,1fr)}.inspector{position:absolute;top:76px;right:0;bottom:0;width:280px;z-index:30;box-shadow:-6px 0 20px #3b483216;display:none}.inspector-open .inspector{display:flex}.topbar{gap:10px}.brand{min-width:160px}.project-heading input{font-size:11px;width:130px}.project-heading .divider{display:none}.quiet-button{font-size:10px}.primary-button{font-size:11px;padding:9px 12px}.dock-label{display:flex}.stage-bottom>span{font-size:9px}.header-actions{gap:2px}.header-actions .quiet-button{padding:8px}.library-bottom{font-size:8px}}@media(max-width:720px){.topbar{height:63px;padding:0 12px;gap:5px}.brand{min-width:100px;gap:8px}.brand-symbol{width:32px;height:32px;border-radius:9px}.brand-symbol svg{width:21px;height:21px}.brand>span:last-child{font-size:18px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1px;margin-top:4px}.project-heading input{width:100%;font-size:10px;padding:6px 0}.header-actions span{display:none}.header-actions .primary-button{width:33px;height:33px;padding:7px}.header-actions .quiet-button{width:28px;padding:5px}.workspace{height:calc(100dvh - 63px);grid-template-columns:48px minmax(0,1fr);min-height:390px}.rail{padding:13px 4px 10px}.rail-button{height:54px;font-size:9px;gap:5px}.rail-button svg{width:19px;height:19px}.rail-main{gap:6px}.rail-bottom{gap:4px}.version-mark{margin-top:7px;width:27px;height:27px;font-size:8px}.library-panel{position:absolute;left:48px;top:63px;bottom:0;width:240px;display:none;z-index:25;box-shadow:7px 0 20px #3b483218}.library-open .library-panel{display:flex}.inspector{top:63px;width:265px}.workspace-bar{height:51px;padding:0 9px;gap:3px}.mode-switch{padding:2px;gap:0}.mode-switch button{font-size:9px;padding:6px 7px}.mode-switch svg{width:12px;height:12px}.workspace-actions .icon-button{width:25px}.workspace-actions [data-action=capture]{display:none}.stage-label{left:14px;top:15px;font-size:9px;gap:5px}.view-switch{right:10px;top:12px}.view-switch button{font-size:9px;padding:5px;min-width:31px}.canvas-tools{left:11px;top:49px;padding:4px;gap:2px}.canvas-tools>.icon-button{width:26px;height:26px}.canvas-tools svg{width:14px;height:14px}.stage-bottom{left:13px;right:10px;bottom:12px}.stage-bottom>span{display:none}.stage-bottom>div{margin-left:auto}.style-dock{min-height:83px;padding:13px 12px;gap:12px}.dock-label{display:none}.dock-styles{gap:7px}.dock-style{font-size:9px;padding:7px 9px}.swatch-stack i{height:23px;width:11px}.swatch-stack i:nth-child(2){height:20px}.swatch-stack i:nth-child(3){height:17px}.sketch-empty{padding:20px 12px;max-width:310px}.sketch-empty h2{font-size:19px}.sketch-empty>div{flex-direction:column;padding:0 20px}.sketch-empty p{font-size:10px}.sketch-actions{bottom:50px;gap:7px;flex-direction:column}.sketch-actions>span{font-size:8px}.render-grid{grid-template-columns:1fr;gap:20px}.render-preview{height:220px}.modal-footer{flex-wrap:wrap}.modal-header h2{font-size:18px}#dialog-body{padding:20px}.modal-header{margin-bottom:17px}.render-options .field textarea{min-height:80px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}:root{--muted:#727d6c;--green:#607753;--dark-green:#3d593e;--line:#dce1d6}.panel-heading .eyebrow,.inspector-heading .eyebrow{color:#78866f;font-size:9px}.count-label,.object-card small,.save-status{color:#74816a}.object-card strong{font-size:12px}.field>span,.color-field>span{color:#66735f;font-size:11px}.field input,.field select{font-size:12px}.material-tile small{color:#5e6c56}.stage-bottom>span{color:#74816e}.source-note{color:#73816b}.workspace-bar{gap:10px}.mode-switch{flex-shrink:0}.workspace-actions{gap:1px}.workspace-actions .icon-button{width:29px}.brand small{color:#6f7d64}.reference-caption{color:#44513f}.reference-card small{color:#77826e}.category-tabs button{font-size:11px;color:#6e7b61}.style-dock{background:#f8f9f4}.dock-style{color:#5e6c51}.dock-style.active{border-color:#a4b295;background:#ecf0e3}.save-status{font-size:11px}.topbar{box-shadow:0 2px 12px #273d2604}.library-panel,.inspector{background:#fafbf7}.field input,.field select,.field textarea{background:#fffefb!important}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.small-heading{font-size:12px;font-weight:500}.check-field{display:flex;gap:8px;align-items:center;font-size:11px;color:#66765c}.check-field input{accent-color:#607753}#plan-host{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7f8f3;display:flex;flex-direction:column;min-height:0}.is-plan>.stage-label,.is-plan>.stage-bottom{display:none}.plan-toolbar{height:49px;flex-shrink:0;display:flex;align-items:center;gap:2px;padding:6px 12px;background:#fafbf7;border-bottom:1px solid #dde4d7;overflow-x:auto;z-index:2}.plan-toolbar button{display:flex;align-items:center;gap:6px;padding:8px 9px;border-radius:5px;font-size:11px;color:#687963;white-space:nowrap}.plan-toolbar button svg{width:15px;height:15px}.plan-toolbar button.active{background:#e4eddd;color:#3b623f}.plan-toolbar button:hover{background:#edf1e7}.tool-divider{height:18px;width:1px;background:#dbe2d3;margin:0 4px;flex-shrink:0}.plan-canvas{flex:1;width:100%;min-height:0;touch-action:none;outline:none}.plan-footer{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #dde4d7;padding:0 12px;background:#fafbf7;font-size:10px;color:#718066}.plan-footer>div{display:flex;align-items:center;gap:6px}.plan-footer button{font-size:10px;border-radius:4px;padding:5px}.plan-footer button.active{background:#e5eddf;color:#365a3c}.plan-footer svg{width:14px;height:14px}.plan-footer select{font-size:10px;border:1px solid #dce3d5;background:#fffefb;border-radius:4px;padding:4px;max-width:80px;color:#56684d}.plan-object{cursor:move}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h3{margin:0}.cad-file-card{display:flex;gap:10px;align-items:center;padding:13px 0}.cad-file-card>svg{width:20px;flex-shrink:0;color:#7b8c70}.cad-file-card>div{min-width:0}.cad-file-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px}.cad-file-card small{display:block;font-size:10px;color:#849478;margin-top:6px}.cad-layer-list{display:flex;flex-direction:column;gap:5px;max-height:215px;overflow:auto;padding:3px 0}.cad-layer-list label{display:flex;align-items:center;gap:9px;font-size:11px;color:#61745a;padding:5px;border-radius:4px;cursor:pointer}.cad-layer-list label:hover{background:#eef2e7}.cad-layer-list label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-layer-list input{accent-color:#617a54}.import-layers{max-height:240px;border:1px solid #e1e6dc;padding:8px;border-radius:6px}.import-summary{padding:16px;background:#f1f4eb;border-radius:6px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.import-summary strong{font-size:14px;font-weight:500}.import-summary span{font-size:11px;color:#78886c}.import-summary b{font-size:24px;color:#526e47;font-weight:500}.import-warnings{background:#f6f0e4;border:1px solid #e9dfc5;border-radius:6px;padding:10px 13px;margin-top:15px;color:#8a744c;font-size:11px;max-height:130px;overflow:auto}.import-warnings p{margin:4px 0;line-height:1.7}.align-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.align-grid button{padding:9px 3px;border:1px solid #dde4d6;background:#f2f5ec;border-radius:4px;font-size:10px;color:#617355}.scheme-save{display:flex;gap:12px;align-items:flex-end}.scheme-save label{flex:1}.scheme-save .primary-button{height:38px}.scheme-list{margin-top:22px;max-height:350px;overflow:auto}.scheme-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e2e7dc}.scheme-list strong{font-size:13px;font-weight:500}.scheme-list small{display:block;font-size:10px;color:#829474;margin-top:7px}.schedule-summary{display:flex;gap:35px;background:#f1f4eb;padding:18px 22px;border-radius:6px;margin:0 0 20px}.schedule-summary strong{font-size:26px;font-weight:500;color:#536b47}.schedule-summary small{display:block;font-size:10px;font-weight:400;color:#829474;margin-top:6px}.schedule-table{overflow:auto;max-height:400px}.schedule-table table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.schedule-table th{text-align:left;font-size:10px;font-weight:500;color:#849376;background:#f5f7f0;padding:11px}.schedule-table td{padding:13px 11px;border-bottom:1px solid #e4e9dd}.schedule-table td small{display:block;font-size:9px;color:#8a987e;margin-top:5px}.schedule-table td i{display:inline-block;width:12px;height:12px;border:1px solid #0001;border-radius:3px;vertical-align:middle;margin-left:7px}@media(max-width:1200px){.workspace-actions .icon-button{width:25px}.workspace-actions [data-action=fullscreen]{display:none}.mode-switch button{font-size:10px;padding:7px}.plan-toolbar{padding:5px 8px}.plan-toolbar button{padding:8px 7px}.plan-footer>span{font-size:9px}}@media(max-width:720px){.workspace-actions .icon-button{display:none}.workspace-actions [data-action=toggle-inspector]{display:inline-grid}.mode-switch button{font-size:10px;padding:7px 6px}.mode-switch svg{display:none}.workspace-bar{gap:2px}.plan-toolbar{height:46px;padding-left:6px}.plan-toolbar button{padding:7px;font-size:10px}.plan-toolbar button svg{display:none}.plan-footer{padding:0 7px}.plan-footer>span{max-width:120px;font-size:9px}.scheme-save{display:block}.scheme-save .primary-button{margin-top:12px}.schedule-summary{gap:25px}.schedule-summary strong{font-size:21px}.cad-layer-list{max-height:170px}}.panel-close{display:none;position:absolute;right:7px;top:7px;z-index:4}.check-field{margin:13px 0}.plan-toolbar .icon-button{min-width:28px;justify-content:center}.plan-toolbar .icon-button svg{display:block}.plan-toolbar button:disabled{opacity:.35}.library-panel{position:relative}@media(max-width:1000px){.inspector>.panel-close{display:inline-grid}.inspector-heading{padding-right:40px}}@media(max-width:720px){.library-panel{position:absolute}.library-panel>.panel-close{display:inline-grid}.plan-toolbar .icon-button svg{width:14px;height:14px}}.render-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.render-selects select,.settings-form select{width:100%;padding:10px 8px;border:1px solid #dbe2d1;border-radius:5px;background:#fffefb;color:#546348;font:inherit;font-size:11px}.render-progress{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px 0 8px;font-size:13px;color:#526c45}.render-progress svg{width:18px;height:18px}#render-feedback:not([hidden]){padding:12px 15px;margin-top:15px;border:1px solid #e1c8af;background:#f8efe3;color:#815c3b;border-radius:6px;font-size:12px;line-height:1.7}.style-card strong{flex-shrink:0}.style-card small{text-align:right;max-width:54%;line-height:1.6}.settings-form [hidden]{display:none}.dock-styles{min-width:0;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.dock-style{flex-shrink:0}.panorama-host{width:100%;height:370px;background:#222b24;border-radius:8px;overflow:hidden;position:relative}.panorama-host canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.panorama-host canvas:active{cursor:grabbing}.panorama-host:fullscreen{height:100vh;border-radius:0}.panorama-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:12px 0}.panorama-controls span{font-size:11px;color:#6c795c;margin-right:auto}.panorama-controls button{padding:7px 10px;font-size:11px}#render-panorama[hidden]{display:none}.render-grid .panorama-host{height:290px}@media(max-width:720px){.panorama-host{height:310px}.render-grid .panorama-host{height:240px}.panorama-controls span{flex-basis:100%}}
