:root{--primary-h:24;--primary-s:39%;--primary-l:39%;--primary:hsl(var(--primary-h), var(--primary-s), var(--primary-l));--accent-h:46;--accent-s:65%;--accent-l:52%;--accent:hsl(var(--accent-h), var(--accent-s), var(--accent-l));--bg-dark:#0f1115;--bg-surface:#21242cb3;--text-main:#f2f2f2;--text-muted:#bfbfbf;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:4rem;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--glass-blur:blur(12px);--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 20px 25px -5px #0003, 0 10px 10px -5px #0000001a;--transition-smooth:all .4s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .2s ease}@font-face{font-family:Inter;src:url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}#root{flex-direction:column;width:100vw;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#08ddc1a9}::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3{letter-spacing:-.02em;margin-bottom:var(--space-3);font-weight:600}button{cursor:pointer;transition:var(--transition-fast);border:none;outline:none}canvas{touch-action:none}.main-viewport{pointer-events:auto;width:100%;height:100%}.room-controls{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;z-index:1000;cursor:grab;background:#141414e6;border:1px solid #ffffff1a;border-radius:12px;width:280px;padding:0;position:absolute;top:20px;left:20px;overflow:hidden;box-shadow:0 10px 40px #0009}.room-controls:active{cursor:grabbing}.controls-header{background:#ffffff05;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.header-title{align-items:center;gap:10px;display:flex}.drag-handle-icon{color:#ffffff4d}.room-controls h3{letter-spacing:.05em;color:#d4af37;text-transform:uppercase;margin:0;font-size:.95rem}.header-actions button{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.header-actions button:hover{color:#fff;background:#ffffff1a}.controls-content{max-height:80vh;padding:20px;overflow-y:auto}.controls-content::-webkit-scrollbar{width:4px}.controls-content::-webkit-scrollbar-thumb{background:#08ddc1a9;border-radius:2px}.control-group{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.control-group label{font-size:.85rem;font-weight:500}.control-group input[type=range]{accent-color:#d4af37;cursor:pointer;width:100%}.control-group.toggle{flex-direction:row;justify-content:space-between;align-items:center}.control-group.toggle input{accent-color:#d4af37;width:20px;height:20px}.info-box{background:#ffffff0d;border-radius:8px;margin-top:20px;padding:12px;font-size:.8rem}.info-box p{justify-content:space-between;margin:4px 0;display:flex}.separator{border:0;border-top:1px solid #ffffff1a;margin:20px 0}.room-controls h4{color:#aaa;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.9rem}.texture-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.texture-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;height:60px;transition:all .2s;display:flex;position:relative;overflow:hidden}.texture-btn span{color:#fff;opacity:0;background:#0009;border-radius:4px;padding:2px 4px;font-size:.65rem;transition:opacity .2s}.texture-btn:hover span{opacity:1}.texture-btn:hover{border-color:#d4af3780;transform:translateY(-2px)}.texture-btn.active{border-color:#d4af37;box-shadow:0 0 10px #d4af374d}.texture-btn.active span{opacity:1;background:#d4af37}.furniture-catalog{z-index:50;background:#fff;flex-direction:column;width:400px;height:100vh;font-family:Outfit,sans-serif;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 30px #0000000d}.furniture-catalog.collapsed{transform:translate(100%)}.collapse-toggle{cursor:pointer;color:#000;z-index:60;background:#fff;border:none;border-radius:10px 0 0 10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:20px;left:-40px;box-shadow:-5px 0 15px #0000001a}.catalog-content{background:#fff;flex-direction:column;width:100%;height:100%;display:flex}.catalog-header{z-index:55;background:#fff;border-bottom:1px solid #f0f0f0;padding:24px;position:sticky;top:0}.header-main{justify-content:space-between;align-items:center;display:flex}.header-main h2{color:#000;margin:0;font-size:1.25rem;font-weight:700}.budget-badge{color:#000;background:#f8f8f8;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:flex}.header-nav{align-items:center;gap:15px;display:flex}.header-nav h2{color:#000;margin:0;font-size:1.1rem;font-weight:600}.back-btn{cursor:pointer;color:#000;background:0 0;border:none;padding:0;display:flex}.catalog-body{flex:1;padding:10px 0;overflow-y:auto}.categories-list{padding:0 10px}.category-row{cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f8f8f8;justify-content:space-between;align-items:center;width:100%;padding:18px 14px;transition:all .2s;display:flex}.category-row:hover{background:#fafafa}.cat-info{align-items:center;gap:15px;display:flex}.cat-icon{color:#000;background:#f0f0f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.category-row span{color:#000;font-size:1rem;font-weight:500}.category-row .arrow{color:#000;opacity:.3}.products-grid{grid-template-columns:1fr;gap:20px;padding:15px 24px;display:grid}.product-card{background:#fff;border-radius:12px;flex-direction:column;gap:12px;display:flex}.product-preview{background:#f8f8f8;border-radius:12px;justify-content:center;align-items:center;height:160px;display:flex;position:relative;overflow:hidden}.add-product-btn{color:#fff;cursor:pointer;z-index:55;background:#1a1a1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .2s;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px #0003}.add-product-btn:hover{transform:scale(1.1)}.product-info{flex-direction:column;gap:4px;padding:0 4px;display:flex}.brand{letter-spacing:.1em;color:#000;font-size:.65rem;font-weight:800}.name{color:#000;margin:0;font-size:.95rem;font-weight:600}.dims{color:#000;font-size:.75rem}.price-row{justify-content:space-between;align-items:center;margin-top:5px;display:flex}.price{color:#000;font-size:1rem;font-weight:700}.color-dots{gap:4px;display:flex}.dot{border:1px solid #ddd;border-radius:50%;width:10px;height:10px}.thumbnail-visual{border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.thumb-icon-wrap{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:16px;justify-content:center;align-items:center;width:68px;height:68px;transition:transform .3s,background .3s;display:flex}.product-preview:hover .thumb-icon-wrap{background:#ffffff47;transform:scale(1.08)}.thumb-name{color:#ffffffd9;text-transform:capitalize;text-align:center;letter-spacing:.02em;max-width:85%;font-size:.7rem;font-weight:600;line-height:1.3}.thumb-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;letter-spacing:.1em;background:#00000059;border:1px solid #ffffff26;border-radius:6px;padding:3px 8px;font-size:.55rem;font-weight:800;position:absolute;top:8px;left:8px}.app-container{width:100vw;height:100vh;position:relative;overflow:hidden}.global-canvas{z-index:1000;pointer-events:none;width:100%;height:100%;top:0;left:0;position:fixed!important}.ui-layer{z-index:10;pointer-events:none;width:100%;height:100%;position:relative}.canvas-container{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.ui-layer>*{pointer-events:auto}.selection-bar{z-index:200;pointer-events:auto;background:#2196f3;border-radius:16px;align-items:center;gap:6px;padding:8px 16px;animation:.3s slideUp;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 28px #2196f366,0 2px 8px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.selection-bar-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:160px;padding:0 4px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;overflow:hidden}.selection-bar-divider{background:#ffffff4d;width:1px;height:24px;margin:0 4px}.selection-bar-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.selection-bar-btn:hover{background:#ffffff4d;transform:scale(1.08)}.selection-bar-btn.delete:hover{background:#f44336b3}.selection-bar-btn.disabled{opacity:.4;cursor:not-allowed}.selection-bar-btn.disabled:hover{background:#ffffff26;transform:none}
