:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#1c3359;background:#f1f6fc;font-synthesis:none;--blue:#2463eb;--line:#e1e9f4;--muted:#7e8fa9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:white;color:#526888;border-radius:8px;padding:9px 13px;font-size:12px;transition:.15s}button:hover{border-color:#b8cefa;background:#f4f8ff;color:var(--blue)}button:disabled{opacity:.45;cursor:not-allowed}button.active{color:var(--blue);background:#eaf1ff;border-color:#bfd3ff}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#174abb}button.danger{color:#d65a6a}a{color:var(--blue);text-decoration:none}[hidden]{display:none!important}header{height:78px;display:flex;align-items:center;gap:38px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px}.brand{display:flex;align-items:center;gap:10px;min-width:235px;color:#173c79;font-size:20px;font-weight:700;letter-spacing:2px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--blue);color:white;border-radius:12px;font-size:22px}.brand small{display:block;font-size:8px;letter-spacing:1.4px;color:#8397b9;margin-top:5px}.project-title{font-size:14px;white-space:nowrap}.project-title span{color:#cad6e7;margin:0 14px}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}#saveStatus{font-size:11px;color:var(--muted);margin-right:5px}main{display:grid;grid-template-columns:260px minmax(350px,1fr) 278px;min-height:calc(100dvh - 78px);padding:16px;gap:16px}.panel{border:1px solid var(--line);border-radius:14px;background:white}.collection,.inspector{display:flex;flex-direction:column;padding:22px 19px;height:calc(100dvh - 110px);min-height:650px;overflow:auto}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#7d98bf;font-weight:600}.panel-heading h1{font-size:17px;line-height:1.5;letter-spacing:-.4px;margin:10px 0 6px}.panel-heading h2{font-size:18px;margin:9px 0 6px}.panel-heading p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.floor-nav{display:grid;gap:7px;padding:22px 0;border-bottom:1px solid var(--line)}.floor-nav button{display:flex;align-items:center;text-align:left;gap:11px;border-color:transparent;padding:11px 10px;background:#f8faff}.floor-nav button.active{background:#edf3ff;border-color:#c6d8ff}.floor-symbol{font-size:18px;letter-spacing:-1px;font-weight:600;color:#8da5c6;width:27px}.floor-nav button.active .floor-symbol{color:var(--blue)}.floor-nav button>span:nth-child(2){font-size:12px;color:#365177}.floor-nav small{display:block;font-size:9px;color:#8b9db7;margin-top:5px}.floor-nav b{margin-left:auto;font-size:11px;background:white;padding:4px 6px;border-radius:5px;font-weight:500}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.collection-heading h2{font-size:13px;margin:0}.collection-heading>span{font-size:10px;color:var(--muted)}.import-button{display:flex;gap:10px;align-items:center;text-align:left;padding:15px 13px;border:1px dashed #b6cdf9;background:#f5f8ff;color:var(--blue)}.import-button>span{font-size:22px}.import-button>span:last-child{margin-left:auto;font-size:15px}.import-button strong{font-size:12px;font-weight:500}.import-button small{display:block;font-size:9px;font-weight:400;color:#93a6c5;margin-top:5px}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);margin-top:17px;padding:7px 0;color:#9aabc4}.search input{width:100%;border:0;font-size:11px;padding:5px;background:transparent;color:#254067}.search input::placeholder{color:#a5b2c5}.furniture-list{flex:1;min-height:115px;margin-top:12px}.empty-collection{text-align:center;color:#a0aec3;font-size:11px;line-height:1.9;padding:22px 4px}.empty-collection span{display:block;font-size:30px;color:#c6d7ef;margin-bottom:9px}.furniture-row{width:100%;display:flex;align-items:center;text-align:left;gap:9px;margin-bottom:7px;padding:10px 8px}.furniture-row>span{display:grid;place-items:center;border:1px solid #d9e6fc;border-radius:7px;background:#f0f5ff;width:30px;height:34px;color:var(--blue);font-size:17px;flex-shrink:0}.furniture-row div{min-width:0;flex:1}.furniture-row strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.furniture-row small{display:block;font-size:9px;color:#93a3bb;margin-top:5px}.furniture-row b{font-size:10px;font-weight:400;color:#7b95bd}.collection-note{display:flex;gap:10px;align-items:center;padding:13px 0;border-top:1px solid var(--line);font-size:23px;color:#93afe0}.collection-note p{font-size:9px;color:#8b9cb7;line-height:1.9;margin:0}.plan-actions{display:flex;gap:8px}.plan-actions button{flex:1;font-size:10px;padding:8px}.workspace{display:flex;flex-direction:column;min-width:0;height:calc(100dvh - 110px);min-height:650px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 2px 19px;gap:8px}.workspace-heading>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-heading strong{font-size:12px;font-weight:500}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--blue)}.tag{font-size:9px;color:#8d9db4;border:1px solid #dfe8f5;padding:4px 7px;border-radius:4px}.text-button{background:none;border:0;font-size:10px;padding:3px;white-space:nowrap}#stage{position:relative;flex:1;min-height:470px;overflow:hidden;background:#eaf0f8;border:1px solid #dce6f3;border-radius:13px;isolation:isolate;touch-action:none}#stage canvas{display:block;width:100%;height:100%;outline:0}.toolbar{display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.96);border:1px solid #e0e9f6;box-shadow:0 5px 20px #315e9c0b;border-radius:10px;padding:5px;z-index:2;max-width:calc(100% - 28px)}.toolbar button{font-size:10px;border-color:transparent;padding:8px 10px;white-space:nowrap}.toolbar i{display:block;width:1px;height:16px;background:var(--line);margin:0 3px}.view-toolbar{position:absolute;top:16px;left:16px}.cut-panel{position:absolute;z-index:2;left:16px;top:75px;display:flex;align-items:center;gap:10px;background:#ffffffed;border:1px solid #e1e9f4;padding:10px 12px;border-radius:8px;font-size:10px;color:#6681a7;max-width:calc(100% - 32px)}.cut-panel label{display:flex;align-items:center;gap:5px;white-space:nowrap}.cut-panel input[type=range]{width:85px;min-width:40px;accent-color:var(--blue)}.cut-panel output{font-size:10px;white-space:nowrap}.cut-panel input[type=checkbox],.check-label input{accent-color:var(--blue);margin:0}.navigation-toolbar{position:absolute;bottom:58px;left:16px}.place-button{position:absolute;bottom:58px;right:16px;z-index:2;background:#fff;font-size:10px;padding:13px 11px;box-shadow:0 5px 20px #315e9c0b}.placement-hint{position:absolute;z-index:2;top:128px;left:16px;padding:9px 13px;background:#2463eb;color:white;font-size:10px;border-radius:8px;box-shadow:0 5px 20px #2463eb30}.scene-bottom{position:absolute;z-index:1;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:16px 17px;font-size:9px;color:#8498b5;pointer-events:none;background:linear-gradient(transparent,#f1f6fcaa)}.scene-loading{position:absolute;z-index:5;inset:0;background:#f1f6fcef;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}.scene-loading strong{font-size:13px;font-weight:500}.scene-loading small{font-size:10px;color:#8da2c2}.spinner{width:26px;height:26px;border-radius:50%;border:2px solid #d7e5fb;border-top-color:var(--blue);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace-footer{display:flex;align-items:center;gap:16px;padding:22px 3px 8px}.workspace-footer>div{flex-shrink:0}.workspace-footer strong{display:block;font-size:13px;font-weight:500;margin-top:6px}.workspace-footer p{font-size:10px;line-height:1.9;color:#93a2b8;margin:0 auto 0 0}.workspace-footer button{font-size:10px;padding:9px;background:transparent;white-space:nowrap}.inspector{padding:22px 20px}.empty-inspector{padding:52px 0;text-align:center;flex:1}.empty-inspector>span{font-size:43px;display:block;color:#bed1f3;font-weight:300}.empty-inspector h3{font-size:13px;font-weight:500;margin:18px 0 9px}.empty-inspector p{font-size:11px;line-height:2;color:#91a1bb;margin:0 0 20px}.empty-inspector button{color:var(--blue);font-size:11px}.object-heading{display:flex;align-items:center;gap:11px;margin:24px 0}.object-icon{width:39px;height:43px;background:#edf3ff;border:1px solid #dce7fb;border-radius:8px;display:grid;place-items:center;color:var(--blue);font-size:25px}.object-heading>div{min-width:0}.object-heading h3{font-size:12px;font-weight:500;margin:0 0 6px;overflow-wrap:anywhere}.object-heading small{font-size:9px;color:#8da0bd}.field-label{display:block;position:relative;font-size:10px;color:#6b80a2;margin:15px 0}.field-label input,.field-label select,.triple input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fbfcff;padding:10px 9px;border-radius:6px;color:#2a436a;font-size:11px;min-width:0}.field-label input::placeholder{color:#b2bfd2}.field-label input:focus,.triple input:focus,.field-label select:focus{border-color:#82a9f8;outline:2px solid #e8f0ff}.section-title{font-size:10px;margin:22px 0 10px;color:#6b80a2;display:flex;justify-content:space-between;align-items:center}.section-title small{font-size:8px;color:#9daec5}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.triple label{font-size:9px;color:#99a9be}.triple input{padding:9px 6px;margin-top:5px}.check-label{display:flex;align-items:center;gap:6px;font-size:9px;color:#9aa9be;margin-top:10px}.wide-button{width:100%;font-size:10px;margin-top:12px}.rotation-label output{float:right;color:var(--blue)}.rotation-label input{padding:0;border:0;accent-color:var(--blue);background:transparent}.section-divider{border-top:1px solid var(--line);margin-top:22px}.input-unit{float:right;font-size:9px;color:#a2b0c5}.product-link{font-size:10px;display:inline-block;margin:0 0 10px}.object-actions{display:flex;gap:7px;margin:15px 0 24px}.object-actions button{flex:1;font-size:10px}.budget{margin-top:auto;padding-top:23px;border-top:1px solid var(--line)}.budget>div{display:flex;justify-content:space-between;align-items:center}.budget>div span{font-size:11px;color:#6a83a9}.budget strong{font-size:22px;letter-spacing:-.5px;font-weight:500;color:var(--blue)}.budget p{display:flex;justify-content:space-between;margin:15px 0 7px;font-size:10px;color:#8499b8}.budget>small{font-size:8px;color:#a4b2c6}.budget>button{width:100%;background:#f3f7ff;color:var(--blue);margin-top:18px;font-size:11px}#toast{position:fixed;z-index:50;bottom:26px;left:50%;transform:translate(-50%,12px);background:#1c448a;color:white;box-shadow:0 6px 25px #203f7626;padding:12px 22px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;line-height:1.7}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #d7e4f7;border-radius:16px;max-width:760px;width:calc(100% - 36px);padding:36px;color:#28456e;max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #16418228}dialog::backdrop{background:#0d284c66;backdrop-filter:blur(3px)}.close-modal{position:absolute;right:13px;top:11px;border:0;font-size:23px;padding:2px 9px}dialog h2{font-size:22px;margin:12px 0 20px}dialog p{font-size:12px;line-height:1.9;color:#7a91b1}dialog .modal-note{font-size:10px;background:#f4f8ff;padding:13px;border-radius:7px}dialog table{border-collapse:collapse;width:100%;font-size:11px;margin:20px 0}dialog td,dialog th{border-bottom:1px solid var(--line);padding:11px 7px;text-align:left}dialog th{color:#8196b6;font-weight:400}.table-wrap{overflow-x:auto}.source-material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.source-material-grid img{width:100%;height:120px;object-fit:cover;border-radius:6px}.source-material-grid strong{font-size:10px;font-weight:400;display:block;margin-top:5px}.help-grid{display:grid;grid-template-columns:110px 1fr;gap:14px;font-size:12px;line-height:1.8}.help-grid span{color:#8195b3}kbd{background:#eff4fc;padding:2px 6px;border:1px solid #d9e5f5;border-radius:4px;font-size:10px}.import-preview{display:flex;gap:20px;padding:18px;background:#f5f8fe;border-radius:9px;font-size:12px;margin:20px 0}.import-preview b{color:var(--blue)}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(min-width:1600px){main{grid-template-columns:280px minmax(350px,1fr) 300px;padding:20px;gap:20px}.collection,.inspector,.workspace{height:calc(100dvh - 118px)}}
@media(max-width:1200px){header{padding:0 20px;gap:15px}.brand{min-width:210px}.project-title{font-size:12px}.project-title span{margin:0 7px}main{grid-template-columns:225px minmax(300px,1fr) 242px;gap:10px;padding:10px}.collection,.inspector{padding:20px 14px}.collection,.inspector,.workspace{height:calc(100dvh - 98px)}.panel-heading h1{font-size:15px}.workspace-footer p{display:none}.workspace-footer button{margin-left:auto}.place-button{bottom:106px;left:16px;right:auto}.tag{display:none}}
@media(max-width:950px){main{grid-template-columns:220px minmax(0,1fr)}.inspector{grid-column:1/-1;height:auto;min-height:0;display:grid;grid-template-columns:200px 1fr;gap:10px 25px}.inspector .panel-heading{grid-column:1}.inspector #objectInspector,.inspector #emptyInspector{grid-column:2;grid-row:1/3}.inspector .budget{grid-column:1;grid-row:2;border:0;padding-top:10px}.empty-inspector{padding:20px}.inspector .object-heading{margin-top:0}.workspace,.collection{height:calc(100dvh - 98px);min-height:620px}#saveStatus{display:none}.project-title{display:none}}
@media(max-width:620px){header{height:66px;padding:0 14px;gap:6px}.brand{font-size:16px;min-width:0;letter-spacing:1px}.brand-mark{width:33px;height:33px;font-size:18px;border-radius:9px}.brand small{font-size:6px;letter-spacing:.6px}.header-actions{gap:6px}.header-actions button{font-size:10px;padding:8px}.header-actions #saveBtn{display:none}main{display:flex;flex-direction:column;padding:9px;gap:10px}.workspace{order:0;height:66dvh;min-height:505px}.collection{order:1;height:auto;min-height:0;overflow:visible}.inspector{order:2;display:block;min-height:0;overflow:visible}.panel-heading h1{font-size:16px}.collection>.panel-heading p{display:none}.floor-nav{grid-template-columns:repeat(4,1fr);padding:14px 0;gap:6px}.floor-nav button{display:flex;flex-direction:column;gap:6px;text-align:center;padding:10px 3px}.floor-nav button>span:nth-child(2){font-size:10px}.floor-nav small,.floor-nav b{display:none}.floor-symbol{font-size:16px}.collection-heading{margin-top:16px}.furniture-list{min-height:80px}.collection-note{margin-top:10px}.workspace-heading{padding:3px 3px 12px}.workspace-heading strong{font-size:11px}#stage{min-height:400px}.view-toolbar{top:10px;left:10px;max-width:calc(100% - 20px);gap:0;padding:4px}.toolbar button{padding:8px 7px;font-size:9px}.cut-panel{top:65px;left:10px;padding:9px}.navigation-toolbar{left:10px;bottom:46px}.place-button{left:auto;right:10px;bottom:95px;font-size:9px;padding:10px}.scene-bottom{font-size:8px;bottom:0;padding:12px 10px}.scene-bottom>span:last-child{display:none}.workspace-footer{padding:14px 4px 4px;gap:8px}.workspace-footer strong{font-size:11px}.workspace-footer .eyebrow{font-size:8px}.workspace-footer button{font-size:9px}.placement-hint{top:114px;left:10px;font-size:9px}.budget{margin-top:20px}.empty-inspector{padding:25px}.source-material-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:30px 20px}.help-grid{grid-template-columns:86px 1fr;font-size:11px}.import-preview{flex-direction:column;gap:8px}}
.movement-controls{position:absolute;right:16px;top:16px;z-index:2;background:#fffffff2;border:1px solid var(--line);box-shadow:0 5px 20px #315e9c0b;border-radius:10px;padding:10px;width:150px;touch-action:none;user-select:none}.movement-controls>span{display:block;font-size:10px;color:#5c77a0;margin-bottom:9px}.movement-controls small{display:block;font-size:8px;color:#96a8c3;margin-top:4px}.movement-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.movement-controls button{font-size:10px;padding:9px 4px;touch-action:none}.movement-controls button:active{background:#eaf1ff;color:var(--blue)}
@media(max-width:1450px){.movement-controls{top:auto;bottom:108px;width:140px}.movement-controls small{display:none}}
@media(max-width:1200px){.movement-controls{bottom:58px;right:16px;width:135px}.place-button{bottom:107px;left:16px;right:auto}}
@media(min-width:621px) and (max-width:950px){.movement-controls{bottom:108px}}
@media(max-width:620px){.movement-controls{right:10px;bottom:92px;width:121px;padding:8px}.movement-controls>span{font-size:9px;margin-bottom:6px}.movement-controls button{font-size:9px;padding:8px 3px}.place-button{left:10px;right:auto;bottom:94px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation:none}}
.walk-hud{position:absolute;z-index:7;top:14px;left:14px;right:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px;background:#fffffff2;border:1px solid #cbdcf5;border-radius:12px;box-shadow:0 5px 25px #163a6b14}.walk-title{display:flex;align-items:center;gap:8px}.walk-title strong{font-size:12px;color:#2463eb}.walk-title>span:last-child{font-size:10px;color:#8195b4}.walk-options{display:flex;gap:12px}.walk-options label{display:flex;gap:5px;align-items:center;font-size:9px;color:#8298b8}.walk-options select{font-size:10px;color:#34577f;padding:6px 5px;background:#f4f8ff;border:1px solid #dbe6f6;border-radius:5px;max-width:95px}.walk-actions{display:flex;gap:5px;margin-left:auto}.walk-actions button{font-size:10px;padding:8px}.walk-crosshair{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);font-size:20px;color:#ffffffcc;text-shadow:0 1px 3px #163d70;pointer-events:none}.walk-instructions{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);background:#fffffff0;border:1px solid #d9e5f5;border-radius:9px;padding:11px 17px;z-index:5;max-width:calc(100% - 190px);text-align:center;pointer-events:none;line-height:1.8}.walk-instructions strong{display:block;font-size:10px;font-weight:500;color:#345f9a}.walk-instructions span{display:block;font-size:9px;color:#7c93b4}.walk-instructions small{display:block;font-size:8px;color:#9baac2}.walk-pad{position:absolute;bottom:15px;left:15px;z-index:6;background:#ffffffed;border:1px solid #d3e1f6;border-radius:10px;padding:8px;display:flex;align-items:center;flex-direction:column;gap:5px;touch-action:none}.walk-pad>div{display:flex;gap:5px}.walk-pad button{padding:9px 12px;touch-action:none;font-size:11px}.walk-pad>button{width:100%}.walking .view-toolbar,.walking .cut-panel,.walking .navigation-toolbar,.walking .movement-controls,.walking .place-button,.walking .placement-hint,.walking .scene-bottom{display:none!important}.walkthrough .collection,.walkthrough .inspector{opacity:.45;pointer-events:none}.walkthrough #focusBtn{visibility:hidden}#stage:fullscreen{width:100vw;height:100dvh;min-height:0;border:0;border-radius:0}#stage:fullscreen .walk-instructions{max-width:calc(100% - 300px)}
@media(max-width:1200px){.walk-hud{gap:8px 10px;padding:10px}.walk-title{flex-wrap:wrap}.walk-options{gap:8px}.walk-actions{margin-left:0}.walk-actions button{font-size:9px;padding:7px}.walk-instructions{left:auto;right:12px;transform:none;max-width:calc(100% - 165px);padding:9px}}
@media(max-width:620px){.walk-hud{top:9px;left:9px;right:9px;gap:8px;padding:10px}.walk-title{width:100%;justify-content:space-between}.walk-title strong{font-size:11px}.walk-options{width:100%;justify-content:space-between}.walk-options label{font-size:8px;gap:3px}.walk-options select{font-size:9px;max-width:85px;padding:5px 3px}.walk-actions{width:100%;justify-content:space-between}.walk-actions button{padding:7px 5px;font-size:8px}.walk-pad{bottom:10px;left:10px;padding:6px}.walk-pad button{padding:8px 10px;font-size:10px}.walk-instructions{bottom:10px;right:10px;max-width:calc(100% - 155px);padding:7px 9px}.walk-instructions strong{font-size:8px}.walk-instructions span{font-size:8px}.walk-instructions small{display:none}.walkthrough main{display:block}.walkthrough .collection,.walkthrough .inspector{display:none}.walkthrough .workspace{height:calc(100dvh - 85px);min-height:500px}}
.furniture-drag-note{font-size:9px;color:#8c9fbc;line-height:1.8;margin:12px 0}.furniture-placement-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.furniture-placement-actions button{font-size:10px;padding:9px 4px}.furniture-nudge{padding:11px;border:1px solid #e0e9f7;border-radius:8px;margin-top:14px;background:#f8faff}.furniture-nudge label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7089b0}.furniture-nudge select{font-size:9px;padding:4px;border:1px solid var(--line);background:white;color:#4e6c96;border-radius:4px}.furniture-nudge>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0}.furniture-nudge button{font-size:10px;padding:8px 4px}.furniture-nudge>small{font-size:8px;color:#99abc4;line-height:1.7;display:block}.furniture-nudge>button{width:100%;margin-top:9px;background:transparent}
.furniture-tools{position:absolute;z-index:4;top:128px;left:16px;max-width:calc(100% - 32px);display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;padding:10px 12px;background:#fffffff2;border:1px solid #cbdcf7;border-radius:10px;box-shadow:0 4px 18px #22599a14}.furniture-tools>strong{font-size:11px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#315b99}.furniture-tools>span{font-size:9px;color:#899dbc}.furniture-tools>div{display:flex;gap:6px}.furniture-tools button{font-size:10px;padding:8px 10px}.furniture-grip{position:absolute;z-index:3;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;padding:0;background:#2463ebed;border:2px solid #fff;box-shadow:0 3px 15px #1b4b9b44;color:#fff;font-size:21px;cursor:grab;touch-action:none;user-select:none}.furniture-grip small{font-size:8px;display:block;line-height:1;margin-top:-3px}.furniture-grip:hover{color:#fff;background:#1751d1;border-color:#fff}.furniture-grip:active{cursor:grabbing;background:#1043b9}.walking .furniture-tools,.walking .furniture-grip{display:none!important}
@media(max-width:620px){.furniture-tools{top:113px;left:10px;max-width:calc(100% - 20px);padding:8px 10px;gap:5px 9px}.furniture-tools>span{font-size:8px}.furniture-tools>strong{font-size:10px;max-width:110px}.furniture-tools button{padding:7px 9px;font-size:9px}.furniture-grip{width:48px;height:48px}}
.floor-group{min-width:0}.floor-heading{display:flex;align-items:stretch;gap:3px}.floor-nav .floor-main{flex:1;min-width:0;width:calc(100% - 29px)}.floor-nav .floor-fold{display:grid;place-items:center;width:27px;flex:0 0 27px;padding:0;border-color:transparent;font-size:17px;background:#f7faff;color:#7b96bd}.zone-panel{padding:7px 0 8px 11px;margin-left:20px;border-left:1px solid #dce7f8}.zone-list{display:grid;gap:3px}.zone-empty{font-size:9px;color:#a0afc4;margin:7px 7px 10px}.zone-row{display:flex;align-items:center;gap:2px}.floor-nav .zone-link{display:flex;align-items:center;flex-direction:row;text-align:left;gap:6px;padding:8px 7px;flex:1;min-width:0;background:transparent;border-color:transparent;font-size:10px}.floor-nav .zone-link.active{border-color:#cfdef9;background:#eef4ff}.zone-link>span{color:#6393e7;font-size:13px}.zone-link>strong{font-size:10px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#506f9b}.floor-nav .zone-link small{font-size:8px;color:#9bacc4;display:block;margin:0 0 0 auto;white-space:nowrap}.floor-nav .zone-edit{display:block;padding:5px 4px;border-color:transparent;background:none;flex-shrink:0;font-size:15px;color:#8ea2c1}.floor-nav .add-zone{display:block;width:100%;padding:8px 6px;margin-top:4px;border-color:#dce7f8;background:#f8faff;color:#668cce;font-size:9px;text-align:center}.zone-drawing-panel{position:absolute;z-index:7;left:16px;right:16px;top:128px;padding:13px 14px;border:1px solid #bcd2fb;border-radius:10px;background:#fffffff5;box-shadow:0 4px 20px #255b9e15}.zone-drawing-panel>div:first-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.zone-drawing-panel strong{font-size:12px;color:#2e63b3}.zone-drawing-panel span{font-size:10px;color:#7b94b9}.zone-drawing-fields{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.zone-drawing-fields label{font-size:9px;color:#8da0be;display:flex;align-items:center;gap:6px}.zone-drawing-fields select,.zone-drawing-fields input{min-width:0;border:1px solid #dce7f7;background:#f8faff;border-radius:6px;color:#315782;padding:8px;font-size:10px}.zone-drawing-fields input{width:130px}.zone-drawing-fields button{font-size:10px;padding:8px 9px}.zone-drawing-panel>small{font-size:8px;color:#a0afc4}.walking .zone-drawing-panel{display:none!important}
@media(max-width:1200px){.zone-drawing-panel{padding:11px}.zone-drawing-fields{gap:7px}.zone-drawing-fields label{font-size:8px}.zone-drawing-fields input{width:110px}.zone-drawing-fields select{max-width:110px}}
@media(max-width:620px){.floor-nav{display:grid;grid-template-columns:1fr;gap:5px}.floor-nav>button,.floor-nav .floor-main{flex-direction:row;text-align:left;gap:11px;padding:10px}.floor-nav .floor-main>span:nth-child(2){font-size:11px}.floor-nav .floor-main small{display:block;font-size:9px;margin-top:4px}.floor-nav b{display:block}.floor-nav .floor-fold{padding:0}.floor-nav .zone-link{flex-direction:row;padding:8px 7px;gap:7px}.floor-nav .zone-edit{padding:4px 7px}.floor-nav .zone-link small{display:block}.floor-nav .add-zone{display:block;padding:9px}.zone-drawing-panel{left:10px;right:10px;top:113px;padding:10px}.zone-drawing-panel strong{font-size:11px}.zone-drawing-panel span{font-size:9px}.zone-drawing-fields{gap:6px;margin-top:9px}.zone-drawing-fields input{width:115px}.zone-drawing-fields button{font-size:9px;padding:8px}.zone-drawing-panel>small{font-size:7px}}
/* One task at a time: modes outside the canvas, tools shown on demand. */
main{grid-template-columns:240px minmax(0,1fr);gap:16px}.has-selection main{grid-template-columns:240px minmax(0,1fr) 280px}.inspector{display:none}.has-selection .inspector{display:flex}.workspace,.collection,.inspector{min-height:580px}.collection{padding:20px 16px}.panel-heading .eyebrow{display:none}.panel-heading h1,.panel-heading h2{margin:0 0 6px;font-size:16px}.panel-heading p{font-size:10px}.floor-nav{padding:18px 0 12px}.collection-heading{margin:16px 0 10px}.collection-heading h2{font-size:12px}.furniture-content{display:flex;flex-direction:column;flex:1;min-height:160px}.furniture-list{min-height:85px}.collection-note{padding:12px 0 0;border:0}.collection-note p{font-size:8px}.budget{margin-top:15px;padding-top:15px}.budget strong{font-size:20px}.budget p{margin:10px 0 5px}.mode-arrange .add-zone,.mode-arrange .zone-edit{display:none!important}.mode-zones .furniture-content,.mode-zones .budget,.mode-zones .inspector{display:none!important}.mode-zones main{grid-template-columns:240px minmax(0,1fr)}.mode-zones .collection{min-height:0}.mode-zones #placeBtn{display:none}.mode-zones .add-zone{background:#edf4ff;border-color:#bdd2fb;color:#2463eb}.workspace-heading{padding:3px 3px 12px}.workspace-heading .tag{display:none}.workspace-modebar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.mode-switch{display:flex;align-items:center;gap:3px;background:#e7eef8;border-radius:9px;padding:4px}.mode-switch button{border-color:transparent;background:transparent;padding:8px 14px;font-size:11px;white-space:nowrap}.mode-switch button.active{background:white;color:#2463eb;box-shadow:0 2px 7px #2c559817;border-color:#d4e2f9}.view-toolbar{position:static;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0 0 10px;max-width:none;gap:5px;flex-shrink:0}.view-toolbar button{padding:6px 11px;font-size:10px}.view-toolbar button:last-child{margin-left:auto;border-color:#dbe5f3;background:#f7faff}.view-toolbar i{display:none}#stage{min-height:360px}.workspace-footer{padding:12px 3px 1px;gap:12px}.workspace-footer .eyebrow{display:none}.workspace-footer strong{margin:0;font-size:11px}.workspace-footer p{font-size:9px;line-height:1.5}.workspace-footer button{font-size:9px;padding:7px}.workspace-footer #focusBtn:disabled{display:none}.scene-bottom{display:none}.navigation-toolbar{bottom:14px;left:14px;gap:2px}.navigation-toolbar button{padding:8px 10px}.movement-controls{display:none;top:auto;bottom:66px;left:14px;right:auto;width:190px}.show-navigation .movement-controls{display:block}.movement-controls>div{grid-template-columns:repeat(3,1fr)}.movement-controls small{display:block}.movement-controls button{font-size:10px;padding:9px 3px}.furniture-tools,.zone-drawing-panel{top:14px}.display-menu,.app-menu,.walk-settings{position:relative;z-index:25}.display-menu summary,.app-menu summary,.walk-settings summary{list-style:none;cursor:pointer;border:1px solid #d9e4f4;background:#fff;border-radius:7px;padding:9px 11px;font-size:10px;white-space:nowrap;color:#6c83a6}.display-menu summary::-webkit-details-marker,.app-menu summary::-webkit-details-marker,.walk-settings summary::-webkit-details-marker{display:none}.display-menu>div,.app-menu>div,.walk-settings>div{position:absolute;right:0;top:calc(100% + 7px);width:230px;padding:9px;background:#fff;border:1px solid #d8e4f5;box-shadow:0 10px 35px #1a487d22;border-radius:10px}.app-menu>div{display:grid;gap:4px}.app-menu button,.display-menu>div>button{width:100%;text-align:left;border-color:transparent;background:none;font-size:11px;padding:11px}.app-menu button:hover,.display-menu>div>button:hover{background:#f1f6ff}.app-menu .primary{color:#2463eb}.display-menu .cut-panel{position:static;display:flex;flex-wrap:wrap;max-width:none;border:0;padding:12px 8px;background:#f6f9ff;box-shadow:none;margin-top:6px}.display-menu .cut-panel input[type=range]{width:100px}.display-menu .place-button{position:static;box-shadow:none;font-size:10px;margin-top:5px}.header-actions{gap:9px}.header-actions #saveBtn{font-size:11px;padding:9px 14px}.app-menu summary{background:#2463eb;color:white;border-color:#2463eb}.primary-placement{display:grid;grid-template-columns:1fr auto;gap:7px;margin:18px 0 7px}.primary-placement button{font-size:10px;padding:10px 8px}.placement-short-hint{font-size:8px;color:#8c9fbb;line-height:1.7;margin:0 0 16px}.property-details{border-top:1px solid #e2eaf6;margin-top:16px}.property-details summary{font-size:11px;cursor:pointer;color:#5e7ba5;padding:14px 0;list-style:none;display:flex;justify-content:space-between}.property-details summary::after{content:'＋';font-size:12px;color:#92a9c9}.property-details[open] summary::after{content:'−'}.property-details>div{padding-bottom:7px}.property-details .section-divider{display:none}.property-details .field-label:first-child{margin-top:0}.object-heading{margin:18px 0}.object-heading>small{font-size:8px}.field-label{margin:12px 0}.section-title{margin-top:17px}.object-actions{margin:12px 0}.walkthrough main{grid-template-columns:minmax(0,1fr)!important}.walkthrough .collection,.walkthrough .inspector,.walkthrough .workspace-modebar,.walkthrough .workspace-heading,.walkthrough .view-toolbar,.walkthrough .workspace-footer{display:none!important}.walkthrough .workspace{height:calc(100dvh - 110px);min-height:500px}.walkthrough #stage{min-height:450px}.walk-hud{align-items:center;gap:9px 14px}.walk-title{flex:1;min-width:180px}.walk-settings>div{width:220px}.walk-settings .walk-options{display:grid;gap:10px;margin-bottom:12px}.walk-settings .walk-options label{justify-content:space-between}.walk-settings #walkFullscreenBtn{width:100%;font-size:10px}.walk-actions{margin:0}.walk-actions button{font-size:10px}.walk-instructions{max-width:calc(100% - 330px);padding:10px 15px;left:50%;right:auto;transform:translateX(-50%)}.walk-instructions>small{display:none}
@media(min-width:1600px){main{grid-template-columns:260px minmax(0,1fr)}.has-selection main{grid-template-columns:260px minmax(0,1fr) 290px}.mode-zones main{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:1200px){main{grid-template-columns:225px minmax(0,1fr);gap:12px}.has-selection main{grid-template-columns:225px minmax(0,1fr) 250px}.mode-zones main{grid-template-columns:225px minmax(0,1fr)}.mode-switch button{font-size:10px;padding:8px 10px}.display-menu summary{font-size:9px;padding:9px}.navigation-toolbar button{padding:8px}.workspace-footer p{display:none}.walk-instructions{left:auto;right:15px;transform:none;max-width:calc(100% - 180px)}.walk-title{min-width:140px}.walk-actions button{font-size:9px;padding:8px}.walkthrough .workspace{height:calc(100dvh - 98px)}}
@media(max-width:1000px) and (min-width:621px){.has-selection main{grid-template-columns:220px minmax(0,1fr)}.has-selection .inspector{position:fixed;z-index:18;right:12px;top:91px;width:265px;height:calc(100dvh - 104px);box-shadow:0 8px 35px #1d487d26;background:#fffffffa;min-height:0}.has-selection .workspace{margin-right:0}.has-selection #stage{isolation:auto}.has-selection .furniture-grip{z-index:4}}
@media(max-width:620px){header{height:64px}.header-actions #saveBtn{display:inline-block;padding:8px 10px;font-size:10px}.header-actions #saveStatus{display:none}.app-menu summary{font-size:10px;padding:8px 10px}.brand{font-size:15px}.brand small{font-size:6px}.workspace,.has-selection .workspace{height:70dvh;min-height:500px}.workspace-heading{padding:3px 3px 10px}.workspace-modebar{margin-bottom:7px;gap:6px}.mode-switch{gap:1px;padding:3px}.mode-switch button{font-size:9px;padding:8px 10px}.display-menu summary{font-size:8px;padding:9px 7px}.display-menu>div,.app-menu>div{width:220px}.view-toolbar{padding-bottom:8px}.view-toolbar button{font-size:9px;padding:6px 10px}#stage{min-height:320px}.navigation-toolbar{left:10px;bottom:10px;max-width:calc(100% - 20px);gap:0}.navigation-toolbar button{font-size:9px;padding:8px}.navigation-toolbar i{margin:0 2px}.movement-controls{left:10px;right:auto;bottom:60px;width:175px}.movement-controls button{font-size:9px;padding:9px 3px}.furniture-tools,.zone-drawing-panel{top:10px}.has-selection .inspector{position:static;width:auto;height:auto;min-height:0;display:flex;padding:18px}.has-selection main,.mode-zones main{display:flex}.mode-zones .collection{height:auto;min-height:0}.collection{height:auto;min-height:0}.furniture-content{min-height:130px}.furniture-list{min-height:65px}.budget{padding-top:13px;margin-top:15px}.budget p{margin:8px 0 3px}.budget strong{font-size:19px}.workspace-footer{padding:9px 3px 0}.workspace-footer strong{font-size:10px}.workspace-footer button{font-size:8px;padding:6px}.walkthrough .workspace{height:calc(100dvh - 83px);min-height:500px}.walkthrough #stage{min-height:450px}.walk-hud{gap:8px}.walk-title{min-width:0;flex:1;width:auto}.walk-title strong{font-size:10px}.walk-title>span:last-child{font-size:8px}.walk-settings summary{padding:7px;font-size:8px}.walk-settings>div{width:190px}.walk-actions{width:100%;gap:5px}.walk-actions button{font-size:9px;padding:8px;flex:1}.walk-instructions{left:auto;right:10px;bottom:10px;transform:none;max-width:calc(100% - 155px);padding:8px}.walk-instructions strong{font-size:8px}.walk-instructions span{font-size:8px}}
.inspector{position:relative}.inspector-close{position:absolute;right:10px;top:10px;font-size:20px;line-height:1;padding:4px 8px;border:0;background:none;color:#98a9c0}.inspector-close:hover{background:#edf3fc}.mode-zones .collection-note{display:none}
@media(max-width:1000px) and (min-width:621px){.has-selection .inspector{position:fixed}}
@media(max-width:620px){.has-selection .inspector{position:relative;order:1}.has-selection .collection{order:2}}
.collection .zone-drawing-panel{position:static;inset:auto;margin:15px 0 0;padding:11px;box-shadow:none;z-index:auto}.collection .zone-drawing-panel>div:first-child{display:block}.collection .zone-drawing-panel strong{display:block;font-size:11px;margin-bottom:7px}.collection .zone-drawing-panel span{display:block;font-size:9px;line-height:1.8}.collection .zone-drawing-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.collection .zone-drawing-fields label{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:5px;font-size:9px}.collection .zone-drawing-fields input,.collection .zone-drawing-fields select{width:100%;max-width:none;font-size:10px;padding:8px}.collection .zone-drawing-fields button{font-size:9px;padding:8px 5px}.collection #zoneCancelBtn{grid-column:1/-1;background:transparent}.collection .zone-drawing-panel>small{font-size:8px;line-height:1.7;display:block}
.walk-flight-toggle,.tree-display-toggle{display:flex;align-items:center;gap:8px;padding:10px 8px;font-size:11px;color:#59779f;cursor:pointer}.walk-flight-toggle input,.tree-display-toggle input{accent-color:var(--blue);margin:0}.walk-flight-note{display:block;color:#8a9bb4;font-size:9px;line-height:1.7;margin:0 8px 10px}.walk-options select{max-width:145px;min-width:80px}.walk-pad .walk-elevation{padding-top:5px;border-top:1px solid #dce7f6;width:100%}.walk-elevation button{flex:1;font-size:10px;padding:9px 7px}.walk-pad>small{font-size:8px;line-height:1.6;color:#8297b6;max-width:150px;text-align:center}.walk-settings>div{max-height:calc(100dvh - 180px);overflow:auto}
.cloud-banner{padding:12px 14px;background:#eaf2ff;border:1px solid #bcd1f6;border-radius:10px;margin-bottom:10px;flex-shrink:0}.cloud-banner strong{font-size:12px;color:#27518c}.cloud-banner p{font-size:10px;color:#6d84a5;line-height:1.7;margin:5px 0 0}.cloud-banner-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.cloud-banner-actions button{font-size:10px;padding:8px 10px}.header-actions #shareBtn{font-size:11px;padding:9px 12px}.cloud-banner:not([hidden])~#stage{min-height:260px}
@media(max-width:620px){.header-actions{gap:4px}.header-actions #saveBtn{padding:8px 6px;font-size:9px}.header-actions #shareBtn{padding:8px 6px;font-size:9px}.cloud-banner{padding:9px;margin-bottom:7px}.cloud-banner-actions button{font-size:9px;padding:7px}.cloud-banner p{font-size:9px}}

.furniture-zone-heading{display:flex;justify-content:space-between;gap:8px;padding:13px 2px 7px;color:#6683ab;font-size:10px}.furniture-zone-heading strong{font-weight:600}.furniture-zone-heading span{font-size:9px;color:#96aac6}.auto-zone-label{background:#f0f5fd;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#7c94b5;margin:12px 0}.auto-zone-label strong{color:#355c94;font-size:11px}.floor-nav .floor-main{min-height:67px}.zone-link small{white-space:normal}

.walk-destination{display:flex;align-items:center;gap:7px;font-size:10px;color:#627fa7}.walk-destination select{max-width:200px;border:1px solid #d4e1f4;background:#fff;color:#315c98;border-radius:7px;padding:8px;font:inherit}.walk-actions{align-items:center;flex-wrap:wrap}.walk-actions #walkExitBtn{white-space:nowrap}@media(max-width:620px){.walk-destination{width:100%;justify-content:space-between}.walk-destination select{flex:1;max-width:none}}
