@charset "UTF-8";@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Light.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Bold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-LightItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-LightItalic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraLightItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraLightItalic.woff) format("woff");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-BoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Regular.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-MediumItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Italic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraLight.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraLight.woff) format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-SemiBoldItalic.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraBold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraBold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Medium.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraBoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraBoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}#root,html,body{margin:0;padding:0;box-sizing:border-box;height:100%;width:100%;overflow:hidden;touch-action:none;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,sans-serif}button{font-family:inherit}.studio-hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.studio-hud *,.studio-hud button,.studio-hud input,.studio-hud a{pointer-events:auto}.hud-header{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:flex-end;padding:0 20px;z-index:20;background:linear-gradient(180deg,#fdfcf8b8,#fdfcf800)}.hud-logo{position:absolute;left:14px;width:280px;display:flex;align-items:center;justify-content:center;text-decoration:none}.hud-logo img{height:36px;width:auto;opacity:.9;transition:opacity .2s ease}.hud-logo:hover img{opacity:1}.hud-header-actions{display:flex;align-items:center;gap:8px}.btn-icon{width:36px;height:36px;border-radius:10px;background:#fdfcf8cc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(227,219,204,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);padding:0;transition:all .2s ease}.btn-icon:hover{background:var(--ivory);color:var(--obsidian)}.btn-icon-sm{width:22px;height:22px;border-radius:6px;background:transparent;border:1px solid rgba(227,219,204,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);padding:0;transition:all .2s ease}.btn-icon-sm:hover{background:var(--nude);color:var(--obsidian)}.panel-left{position:absolute;top:56px;left:14px;width:280px;max-height:calc(100vh - 160px);overflow:visible;z-index:15;display:flex;flex-direction:column;gap:0;background:#fdfcf8d1;backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid rgba(227,219,204,.4);border-radius:14px;box-shadow:0 4px 20px #1010100a,0 1px 3px #10101008,inset 0 1px #ffffff80;padding:5px 7px}.panel-scroll-area{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding-bottom:4px}.panel-scroll-area::-webkit-scrollbar{width:3px}.panel-scroll-area::-webkit-scrollbar-thumb{background:var(--nude);border-radius:10px}.panel-material-wrap{flex-shrink:0;margin-top:5px;position:relative}.panel-material-wrap .card{overflow:visible}.panel-header{display:flex;align-items:center;gap:6px;padding:4px 10px;color:var(--text-primary);font-size:12px;font-weight:700;letter-spacing:.2px}.card{background:#fdfcf88c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(227,219,204,.35);border-radius:12px;box-shadow:0 2px 10px #10101008,inset 0 1px #fff6;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.card-header:hover{background:#f3f0e966}.card-title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.1px}.card-chevron{color:var(--text-muted);transition:transform .25s ease}.card-chevron.open{transform:rotate(180deg)}.card-body{padding:2px 14px 10px}.panel-right{position:absolute;top:62px;right:14px;width:270px;max-height:calc(100vh - 170px);overflow-y:auto;background:#fdfcf8e0;backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid rgba(227,219,204,.4);border-radius:14px;box-shadow:0 4px 20px #1010100a,0 1px 3px #10101008,inset 0 1px #ffffff80;padding:16px;z-index:15}.panel-right::-webkit-scrollbar{width:3px}.panel-right::-webkit-scrollbar-thumb{background:var(--nude);border-radius:10px}.panel-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-title{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.1px}.panel-toggle{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:48px;border-radius:8px;background:#fdfcf8cc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(227,219,204,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);padding:0;z-index:15;box-shadow:0 2px 8px #1010100d;transition:all .2s ease}.panel-toggle:hover{background:var(--ivory);color:var(--obsidian)}.panel-toggle-left{left:14px}.panel-toggle-right{right:14px}.fengshui-panel{display:flex;flex-direction:column}.fengshui-status-group{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.fengshui-status{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px}.fengshui-status.good{background:#5b8c5a0f;border:1px solid rgba(91,140,90,.15)}.fengshui-status.warn{background:#c75b390f;border:1px solid rgba(199,91,57,.15)}.fengshui-status.neutral{background:#f3f0e980;border:1px solid rgba(227,219,204,.3);padding:8px 12px}.status-label{font-size:12px;font-weight:700;color:var(--text-primary);line-height:1.3}.status-sub{font-size:11px;color:var(--text-secondary);line-height:1.4;margin-top:1px}.fengshui-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(227,219,204,.5),transparent);margin:12px 0}.fengshui-section-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.fengshui-tips{display:flex;flex-direction:column;gap:8px;margin-top:14px}.fengshui-tip{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.tip-icon{color:var(--text-muted);font-weight:700;font-size:14px;line-height:1.2;flex-shrink:0;margin-top:1px}.bottom-bar{position:absolute;bottom:14px;left:14px;right:14px;z-index:15}.bar-inner{display:flex;align-items:center;background:#fdfcf8e0;backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid rgba(227,219,204,.4);border-radius:16px;padding:10px 16px;box-shadow:0 4px 24px #1010100f,0 1px 3px #10101008,inset 0 1px #ffffff80;height:90px;gap:0}.category-pills{display:flex;gap:4px;flex-shrink:0}.cat-pill{padding:7px 16px;border:none;border-radius:20px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.cat-pill:hover{color:var(--text-primary);background:#f3f0e999}.cat-pill.active{background:var(--obsidian);color:var(--offwhite);box-shadow:0 2px 8px #10101026}.bar-sep{width:1px;height:50px;background:#e3dbcc80;margin:0 14px;flex-shrink:0}.furniture-strip{display:flex;align-items:center;gap:8px;overflow-x:auto;flex:1;min-width:0;padding:4px 2px;scroll-behavior:smooth}.furniture-strip::-webkit-scrollbar{height:2px}.furniture-strip::-webkit-scrollbar-track{background:transparent}.furniture-strip::-webkit-scrollbar-thumb{background:var(--nude);border-radius:10px}.strip-chip{display:flex;align-items:center;gap:5px;padding:5px 12px;background:#f3f0e9b3;border:1px solid rgba(227,219,204,.3);border-radius:14px;font-size:10px;font-weight:700;color:var(--text-secondary);letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.strip-diamond{color:var(--obsidian);font-size:8px}.strip-count{opacity:.45;font-weight:500;font-size:9px}.fur-thumb{flex-shrink:0;width:80px;height:60px;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid rgba(227,219,204,.4);background:var(--ivory);position:relative;transition:all .2s ease}.fur-thumb:hover{border-color:#10101059;transform:translateY(-2px);box-shadow:0 4px 14px #1010101a}.fur-thumb.selected{border-color:var(--obsidian);box-shadow:0 0 0 2px #10101014,0 4px 14px #1010101f}.fur-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}.fur-thumb-check{position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:var(--obsidian);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0003}.strip-empty{color:var(--text-muted);font-size:11px;white-space:nowrap;padding:0 12px;font-style:italic}.bar-actions{display:flex;gap:4px;flex-shrink:0;margin-left:10px}.btn-icon-bar{width:30px;height:30px;border-radius:8px;background:transparent;border:1px solid rgba(227,219,204,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);padding:0;transition:all .2s ease}.btn-icon-bar:hover{background:#f3f0e999;color:var(--obsidian);border-color:#e3dbcc80}.btn-exit-fullscreen{position:fixed;bottom:20px;right:20px;z-index:20;display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:#101010b8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);color:#fdfcf8bf;font-size:11px;font-weight:600;font-family:inherit;letter-spacing:.3px;cursor:pointer;transition:all .2s ease}.btn-exit-fullscreen:hover{background:#101010eb;color:#fdfcf8;border-color:#ffffff38}.door-visual{display:flex;flex-direction:column;gap:10px}.door-presets{display:flex;gap:8px}.door-preset-card{flex:1;cursor:pointer;border:2px solid rgba(227,219,204,.4);border-radius:10px;padding:8px 6px 6px;text-align:center;transition:all .2s ease;background:#f3f0e94d;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit}.door-preset-card:hover{border-color:#10101033;background:#f3f0e980}.door-preset-card.active{border-color:var(--obsidian);background:#f3f0e999;box-shadow:0 2px 8px #1010100f}.room-plan-svg{width:100%;height:auto;color:var(--text-secondary)}.door-preset-label{display:block;font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.3px}.slider-group{display:flex;flex-direction:column;gap:8px}.slider-row{display:flex;align-items:center;gap:8px}.slider-label{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:42px}.slider-value{font-size:12px;font-weight:600;color:var(--text-primary);min-width:32px;text-align:right;font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;background:linear-gradient(90deg,var(--nude),rgba(227,219,204,.4));border-radius:2px;outline:none;cursor:pointer;margin:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--obsidian);cursor:pointer;border:2px solid var(--offwhite);box-shadow:0 1px 6px #10101038;transition:all .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 0 0 5px #1010100f,0 2px 10px #1010102e}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--obsidian);cursor:pointer;border:2px solid var(--offwhite)}.swatch-container,.model-swatch-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px}.material-swatch,.model-swatch{width:48px;height:48px;border-radius:50%;border:2.5px solid rgba(227,219,204,.6);cursor:pointer;position:relative;transition:all .2s ease;box-shadow:0 2px 8px #1010100f;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center}.material-swatch:hover,.model-swatch:hover{border-color:var(--obsidian);transform:scale(1.1);box-shadow:0 4px 14px #1010101f}.material-swatch.active,.model-swatch.active{border-color:var(--obsidian);box-shadow:0 0 0 3px #10101014,0 4px 14px #1010101f}.swatch-label{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;max-width:52px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-panel{position:absolute;background:#fdfcf8f5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(227,219,204,.5);border-radius:14px;padding:14px;box-shadow:0 12px 40px #1010101a,0 2px 6px #1010100a,inset 0 1px #ffffff80;z-index:1000;animation:dropIn .22s cubic-bezier(.2,.9,.3,1)}.dropdown-panel.furniture-dropdown{animation:dropUp .22s cubic-bezier(.2,.9,.3,1)}.dropdown-panel::-webkit-scrollbar{width:3px}.dropdown-panel::-webkit-scrollbar-thumb{background:var(--nude);border-radius:10px}@keyframes dropIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropUp{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.dropdown-section-title{font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(227,219,204,.4)}.dropdown-item{display:flex;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;transition:all .15s ease;gap:8px;position:relative}.dropdown-item:hover{background:#f3f0e9b3}.dropdown-item.selected{background:#f3f0e9cc}.dropdown-item.furniture-item{border:1px solid transparent;border-radius:10px;transition:all .2s ease}.dropdown-item.furniture-item:hover{border-color:#e3dbcc99;background:#f3f0e999;transform:translateY(-1px);box-shadow:0 2px 8px #1010100f}.dropdown-item.furniture-item.selected{border-color:var(--obsidian);background:#f3f0e9cc}.cart-trigger{position:relative;width:36px;height:36px;border-radius:10px;background:#fdfcf8cc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(227,219,204,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;color:var(--text-secondary)}.cart-trigger:hover{background:var(--ivory);color:var(--obsidian)}.cart-trigger.active{background:var(--obsidian);border-color:var(--obsidian);color:var(--offwhite)}.cart-badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--obsidian);color:var(--offwhite);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--offwhite)}.cart-total{font-size:12px;font-weight:600;color:var(--text-primary);padding:5px 12px;background:#fdfcf8bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(227,219,204,.4);border-radius:8px;white-space:nowrap}.cart-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:320px;max-height:440px;background:#fdfcf8f5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(227,219,204,.5);border-radius:14px;padding:16px;box-shadow:0 16px 48px #10101024,0 2px 8px #1010100f;overflow-y:auto;z-index:100;animation:dropIn .22s cubic-bezier(.2,.9,.3,1)}.cart-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.cart-item:hover{background:#f3f0e999}.cart-item.selected{background:#f3f0e9b3;border-color:#e3dbcc80}.cart-item-img{width:44px;height:33px;border-radius:6px;object-fit:cover;background:var(--ivory)}.cart-item-info{flex:1;min-width:0}.cart-item-name{font-size:12px;font-weight:600;color:var(--text-primary)}.cart-item-qty{font-size:11px;color:var(--text-muted)}.cart-item-price{font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.cart-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:12px}.cart-item-del{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);padding:0;transition:all .15s ease;margin-left:4px}.cart-item-del:hover{background:#c75b3914;border-color:#c75b3940;color:#c75b39}.selected-item-bar{display:flex;flex-direction:column;gap:10px;background:#fdfcf8eb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(227,219,204,.45);border-radius:14px;padding:12px;margin-top:6px;box-shadow:0 4px 20px #1010100f,0 1px 3px #1010100a,inset 0 1px #ffffffb3;animation:dropIn .2s cubic-bezier(.2,.9,.3,1);pointer-events:auto}.sel-row-top{display:flex;align-items:center;gap:10px}.sel-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;background:#ffffff14;flex-shrink:0}.sel-info{flex:1;min-width:0}.sel-name{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.35;white-space:normal;word-break:break-word}.sel-price{font-size:12px;color:var(--text-muted);margin-top:3px;font-variant-numeric:tabular-nums}.sel-actions{display:flex;gap:6px}.btn-sel{flex:1;height:36px;border-radius:9px;background:#f3f0e9b3;border:1px solid rgba(227,219,204,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);padding:0;transition:all .15s ease}.btn-sel:hover{background:#e3dbccb3;color:var(--obsidian);border-color:#e3dbcccc}.btn-sel.danger:hover{background:#c75b391a;border-color:#c75b3959;color:#c75b39}.element-toggle{display:flex;gap:2px;background:#f3f0e9b3;border-radius:10px;padding:3px;border:1px solid rgba(227,219,204,.3)}.element-btn{flex:1;padding:7px 2px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;font-family:inherit;border-bottom:2px solid transparent;width:auto}.element-btn:hover{color:var(--text-primary);background:#fdfcf899}.element-btn.active{background:var(--offwhite);color:var(--obsidian);box-shadow:0 1px 4px #10101014;font-weight:700}.modify-controls{position:fixed;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;z-index:15;pointer-events:auto}.modify-btn{width:38px;height:38px;border-radius:10px;background:#fdfcf8cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(227,219,204,.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);padding:0;box-shadow:0 2px 8px #1010100d}.modify-btn:hover{background:var(--obsidian);color:var(--offwhite);border-color:var(--obsidian);transform:scale(1.08)}.modify-btn.danger:hover{background:#b8352a;border-color:#b8352a;color:#fff}.material-swatches{display:flex;gap:14px;justify-content:flex-start}@media(max-width:1024px){.panel-left{width:240px}.panel-right{width:230px}.cat-pill{padding:6px 12px;font-size:10px}.bar-inner{height:60px}.fur-thumb{width:56px;height:42px}}@media(max-width:768px){.panel-left{width:calc(100vw - 20px);left:10px;top:auto;bottom:100px;max-height:40vh}.panel-right{width:calc(100vw - 20px);right:10px;top:auto;bottom:100px;max-height:40vh}.bottom-bar{bottom:8px;left:8px;right:8px}.bar-inner{height:auto;flex-wrap:wrap;padding:8px;gap:6px}.category-pills{width:100%;justify-content:center;flex-wrap:wrap}.bar-sep{display:none}.furniture-strip{width:100%;padding:4px 0}.bar-actions{display:none}.cat-pill{padding:5px 10px;font-size:10px}.fur-thumb{width:52px;height:40px;border-radius:8px}}.mtl-panel{display:flex;flex-direction:column;gap:10px}.mtl-swatch-row{display:flex;gap:0;justify-content:space-evenly}.mtl-swatch-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}.mtl-circle{width:56px;height:56px;border-radius:50%;border:2.5px solid rgba(227,219,204,.55);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #1010100d;background:var(--ivory);overflow:hidden;position:relative}.mtl-circle-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.mtl-circle:hover{border-color:var(--obsidian);transform:scale(1.06);box-shadow:0 4px 14px #1010101a}.mtl-circle.active{border-color:var(--obsidian);box-shadow:0 0 0 3px #10101012,0 4px 14px #1010101a}.mtl-label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.6px;text-transform:uppercase}.mtl-selector{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:50;background:#f3f0e9f5;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid rgba(227,219,204,.5);border-radius:12px;padding:10px;animation:mtlSlideIn .2s ease;display:flex;flex-direction:column;max-height:280px;overflow:hidden;box-shadow:0 10px 40px #1010101f,0 3px 10px #1010100f,inset 0 1px #fff9}@keyframes mtlSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mtl-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mtl-selector-title{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-secondary)}.mtl-selector-close{width:20px;height:20px;border-radius:6px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);padding:0;transition:all .15s ease}.mtl-selector-close:hover{background:#e3dbcc66;color:var(--obsidian)}.mtl-type-row{display:flex;gap:4px;margin-bottom:10px;background:#fdfcf880;border-radius:8px;padding:3px;border:1px solid rgba(227,219,204,.3)}.mtl-type-btn{flex:1;padding:6px 4px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:center}.mtl-type-btn:hover{color:var(--text-primary)}.mtl-type-btn.active{background:var(--offwhite);color:var(--obsidian);box-shadow:0 1px 4px #10101014;font-weight:700}.mtl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:1;min-height:0;overflow-y:auto}.mtl-grid::-webkit-scrollbar{width:3px}.mtl-grid::-webkit-scrollbar-thumb{background:var(--nude);border-radius:10px}.mtl-grid-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px;border-radius:8px;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease}.mtl-grid-item:hover{background:#fdfcf899;border-color:#e3dbcc80}.mtl-grid-item.selected{border-color:var(--obsidian);background:#fdfcf8b3}.mtl-grid-img{width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--ivory)}.mtl-grid-name{font-size:8px;font-weight:600;color:var(--text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52px;line-height:1.2}.mtl-panel .ant-form-item{margin-bottom:0}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Light.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Bold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-LightItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-LightItalic.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraLightItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraLightItalic.woff) format("woff");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-BoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Regular.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-MediumItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Italic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraLight.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraLight.woff) format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-SemiBoldItalic.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraBold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraBold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-Medium.woff2) format("woff2"),url(/fonts/PlusJakartaSans-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-ExtraBoldItalic.woff2) format("woff2"),url(/fonts/PlusJakartaSans-ExtraBoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-SemiBold.woff2) format("woff2"),url(/fonts/PlusJakartaSans-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--offwhite: #FDFCF8;--ivory: #F3F0E9;--nude: #E3DBCC;--obsidian: #101010;--text-primary: #101010;--text-secondary: rgba(16, 16, 16, .55);--text-muted: rgba(16, 16, 16, .35);--surface-glass: rgba(253, 252, 248, .88);--surface-card: rgba(243, 240, 233, .95);--surface-elevated: rgba(253, 252, 248, .98);--border-light: rgba(16, 16, 16, .06);--border-default: rgba(16, 16, 16, .1);--border-hover: rgba(16, 16, 16, .2);--shadow-xs: 0 1px 3px rgba(16, 16, 16, .04);--shadow-sm: 0 2px 8px rgba(16, 16, 16, .06);--shadow-md: 0 8px 24px rgba(16, 16, 16, .08);--shadow-lg: 0 16px 48px rgba(16, 16, 16, .1);--shadow-xl: 0 24px 64px rgba(16, 16, 16, .14);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-xs: 10px;--font-sm: 12px;--font-md: 13px;--font-base: 14px;--font-lg: 16px;--ease: cubic-bezier(.4, 0, .2, 1);--duration: .3s}*{margin:0;padding:0;box-sizing:border-box;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fdfcf8,#f3f0e9 35%,#eae5da);overflow:hidden}.loading-bg-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:28px;position:relative;z-index:1}.loading-logo{display:flex;align-items:center;justify-content:center;opacity:0}.loading-logo-img{width:320px;height:auto;filter:brightness(0);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:480px){.loading-logo-img{width:220px}}.loading-tagline{font-size:13px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:#10101059;opacity:0;margin:0}@media(max-width:480px){.loading-tagline{font-size:11px;letter-spacing:3.5px}}.loading-progress-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:4px;width:280px;opacity:0}@media(max-width:480px){.loading-progress-wrap{width:220px}}.loading-track{width:100%;height:3px;background:#1010100f;border-radius:4px;overflow:hidden}.loading-fill{height:100%;background:linear-gradient(90deg,#10101040,#10101080);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.loading-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:200%}}.loading-info-row{display:flex;justify-content:space-between;width:100%;align-items:center}.loading-status{font-size:11px;font-weight:400;color:#1010104d;letter-spacing:.5px}.loading-percent{font-size:12px;font-weight:500;letter-spacing:2px;color:#10101080;font-variant-numeric:tabular-nums}.page-wrapper{z-index:1000;transform:translate(100%);position:relative}@media(max-width:768px){.page-wrapper{position:fixed;bottom:0;right:0;width:100%;height:100%}}.side-panel{position:absolute;top:0;right:0;width:100%;max-width:796px;height:100vh;background-color:#030303;z-index:100;color:#fff}.side-panel.light{background-color:#fff;color:#000}@media(max-width:768px){.side-panel{position:absolute;top:auto;bottom:0;right:0;width:100%;height:100%;z-index:100}}.side-panel-wrapper{height:100%;width:100%;position:relative}.side-panel-inner-wrapper{height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow-y:scroll;overflow-x:hidden}.side-panel-inner-wrapper::-webkit-scrollbar{width:0px;border-radius:50%}.side-panel-inner-wrapper::-webkit-scrollbar-track{background-color:#fff}.side-panel-inner-wrapper::-webkit-scrollbar-thumb{background-color:#000}.side-panel-close-button{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);z-index:10000;height:72px;width:72px;color:#010101;border:none;outline:none;padding:none;display:flex;justify-content:center;align-items:center;background-color:#fff;transition:all .4s;border:2px solid white}@media(max-width:768px){.side-panel-close-button{top:auto;left:auto;right:-4px;bottom:-4px}}.side-panel-close-button:hover{cursor:pointer;color:#fff;background-color:#080808}.side-panel-close-button.light{background-color:#060606;color:#fff;border:2px solid #060606}.side-panel-close-button.light:hover{color:#080808;background-color:#fff}.side-panel-content-wrapper{display:flex;flex-direction:column;gap:12px;width:100%;max-width:550px;padding-left:96px;margin-top:64px;padding-bottom:72px}@media(max-width:768px){.side-panel-content-wrapper{padding-left:16px;padding-right:16px;padding-bottom:164px}}.side-panel-image-wrapper{height:400px;width:700px;margin-left:96px}@media(max-width:768px){.side-panel-image-wrapper{margin-left:0}}.side-panel-image{height:100%;width:100%;object-fit:cover}.panel-header{font-size:36px;opacity:0}.panel-quote{margin-top:6px;font-size:14px;color:#b9b9b9;opacity:0}.panel-content-text{padding-top:24px;font-size:14px;line-height:180%;opacity:0}.model-editor{display:flex;height:100vh;background:#1e1e1e;color:#fff}.editor-left,.editor-right{width:240px;padding:12px;background:#2b2b2b;overflow-y:auto}.editor-center{flex:1}.slot{padding:6px 8px;cursor:pointer;border-radius:4px}.slot:hover{background:#3a3a3a}.slot.active{background:#007acc}label{display:block;margin-bottom:12px}input[type=range]{width:100%}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}
