@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/nunito-sans-v18-cyrillic_latin-regular.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/nunito-sans-v18-cyrillic_latin-800.woff2) format("woff2")}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--panel-height: 100px}*{margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:manipulation}@media (hover: none){*{cursor:default!important}}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#1c1d21;font-family:Nunito Sans,Tahoma,sans-serif;position:fixed;top:0;right:0;bottom:0;left:0}canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;outline:none;touch-action:none}.main_screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.app-mode-modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(8,10,14,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000001;pointer-events:auto}.app-mode-dialog{width:min(420px,calc(100vw - 32px));padding:28px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(28,29,33,.96);box-shadow:0 18px 50px rgba(0,0,0,.42);color:#fff}.app-mode-title{font-size:24px;font-weight:800;line-height:1.2}.app-mode-actions{display:flex;gap:12px;margin-top:22px}.app-mode-actions .action-btn{flex:1;padding:14px 16px;font-size:15px}.app-mode-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.app-link-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:rgba(255,255,255,.86);font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer;box-sizing:border-box}.app-link-btn:hover{border-color:rgba(0,229,255,.7);color:#00e5ff;background:rgba(0,229,255,.08)}.app-mode-loader{display:none;align-items:center;gap:14px;margin-top:18px;padding:14px;border-radius:12px;border:1px solid rgba(0,229,255,.24);background:rgba(0,229,255,.08)}.app-mode-modal.loading .app-mode-loader{display:flex}.app-mode-modal.loading .app-mode-actions,.app-mode-modal.loading .app-mode-secondary-actions{opacity:.48;pointer-events:none}.app-loader-spinner{width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#00e5ff;animation:appLoaderSpin .8s linear infinite}.app-loader-title{color:#fff;font-weight:800;line-height:1.2}.app-loader-text{margin-top:3px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.35}@keyframes appLoaderSpin{to{transform:rotate(360deg)}}.panel-2d-app{position:absolute;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none}.panel-2d-board-wrap{position:absolute;top:20px;right:20px;bottom:210px;left:20px;display:flex;align-items:center;justify-content:center;pointer-events:none}.panel-2d-board{position:relative;--panel-tile-size: 140px;width:min(1100px,100%);height:100%;min-height:320px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle at top,rgba(255,255,255,.1),rgba(255,255,255,.02) 30%,rgba(255,255,255,.01) 70%),rgba(24,25,30,.9);background-size:var(--panel-tile-size) var(--panel-tile-size),var(--panel-tile-size) var(--panel-tile-size),100% 100%,auto;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.05),0 20px 60px rgba(0,0,0,.35);pointer-events:auto}.panel-2d-board.grid-hidden{background:radial-gradient(circle at top,rgba(255,255,255,.1),rgba(255,255,255,.02) 30%,rgba(255,255,255,.01) 70%),rgba(24,25,30,.9)}.panel-2d-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:rgba(255,255,255,.58);font-size:18px;pointer-events:none}.panel-2d-item{position:absolute;width:var(--panel-tile-size);height:var(--panel-tile-size);cursor:grab;touch-action:none;transform-origin:center center;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.panel-2d-item:active{cursor:grabbing}.panel-2d-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--panel-color-overlay, transparent);pointer-events:none}.panel-2d-item img{width:100%;height:100%;display:block;position:relative;z-index:0;user-select:none;pointer-events:none;-webkit-user-drag:none}.panel-2d-item.selected:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;z-index:2;border:2px solid #00E5FF;box-shadow:0 0 0 1px rgba(0,229,255,.2)}body.mode-2d canvas,body.mode-2d .light-selection-ui,body.mode-2d .furniture-selection-ui,body.mode-2d .rug-selection-ui,body.mode-2d .table-lamp-selection-ui,body.mode-2d .wall-tv-selection-ui{display:none!important}body.mode-2d .ui-tab[data-target=tab-lights],body.mode-2d #tab-lights,body.mode-2d #add-table,body.mode-2d #add-sofa,body.mode-2d #add-sofa2,body.mode-2d #add-table2,body.mode-2d #add-chair,body.mode-2d #add-wardrobe,body.mode-2d #add-table-lamp,body.mode-2d #add-table-lamp-2,body.mode-2d #add-wall-tv,body.mode-2d #btn-scene-lock,body.mode-2d #tab-scene .wall-color-control,body.mode-2d #selection-ui .color-picker-group,body.mode-2d #selection-ui #btn-all-color{display:none!important}body.mode-2d #selection-ui #btn-delete-2d-panel{display:block!important}.bottom_panel{position:absolute;bottom:0;left:50%;transform:translate(-50%) translateY(0);width:100%;max-width:600px;background:rgba(28,29,33,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top-left-radius:20px;border-top-right-radius:20px;border:1px solid rgba(255,255,255,.1);border-bottom:none;z-index:999999;color:#fff;transition:transform .4s cubic-bezier(.32,.72,0,1);padding-bottom:var(--safe-bottom);pointer-events:auto;display:flex;flex-direction:column}.bottom_panel.closed{transform:translate(-50%) translateY(calc(100% - 85px - var(--safe-bottom)))}.drag-handle-btn{width:100%;height:35px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.drag-handle{width:40px;height:5px;background:rgba(255,255,255,.3);border-radius:10px;transition:background .2s}.drag-handle-btn:hover .drag-handle{background:rgba(255,255,255,.6)}.ui-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1);padding:0 15px}.ui-tab{flex:1;text-align:center;color:rgba(255,255,255,.5);padding:10px 0;font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.ui-tab.active{color:#fff;border-bottom:2px solid #00E5FF}.ui-tab-content{padding:20px;min-height:120px}.ui-pane{display:none;animation:fadeIn .3s ease}.ui-pane.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.panels{display:flex;gap:15px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.panels::-webkit-scrollbar{display:none}.panel-kit-counter{position:absolute;left:66px;top:4px;display:flex;align-items:center;height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.82);font-size:12px;font-weight:800;white-space:nowrap}#panel-kit-count{margin-left:4px;color:#00e5ff}.panel{flex:0 0 80px;height:80px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;transition:transform .1s,box-shadow .1s}.panel:active{cursor:grabbing;transform:scale(.95);box-shadow:0 2px 3px rgba(0,0,0,.2)}.panel img{width:80%;height:80%;object-fit:contain;pointer-events:none}.btns{display:flex;flex-wrap:wrap;gap:10px}.action-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 15px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;transition:all .2s}.action-btn:hover{background:rgba(255,255,255,.2)}.action-btn.primary{background:rgba(0,229,255,.2);border-color:#00e5ff;color:#00e5ff}.color-picker-group{display:flex;align-items:center;gap:10px}.color-picker-group input[type=color]{width:24px;height:24px;border:none;background:transparent;cursor:pointer;padding:0}.action-btn.color-picker-group{position:relative;overflow:hidden}.action-btn.color-picker-group .btn-text,.action-btn.color-picker-group .color-preview{pointer-events:none}.action-btn.color-picker-group input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0}.color-preview{width:18px;height:18px;flex:0 0 18px;background:var(--preview-color, #ffffff);border:1px solid rgba(255,255,255,.75)}.color-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.color-preset{width:24px;height:24px;padding:0;border:2px solid rgba(255,255,255,.22);border-radius:6px;background:var(--preset-color, #ffffff);cursor:pointer}.color-preset:hover{border-color:#00e5ff}.panel-header{width:100%;height:35px;display:flex;align-items:center;justify-content:center;position:relative}.panel-presets-btn{position:absolute;left:15px;background:rgba(0,229,255,.14);border:1px solid rgba(0,229,255,.8);color:#00e5ff;border-radius:8px;width:42px;height:30px;cursor:pointer;font-size:16px}.panel-controls{position:absolute;right:15px;display:flex;gap:15px}.panel-controls button{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:14px;padding:5px;transition:color .2s}.panel-controls button:hover{color:#fff}#btn-scene-lock.active{color:#00e5ff}.scene-lock-disabled{opacity:.45;pointer-events:none}body.scene-locked .panel{cursor:default}.bottom_panel.compact .ui-tabs{display:none}.bottom_panel.compact .ui-tab-content{min-height:auto;padding:10px 15px}.bottom_panel.compact .btn-text{display:none}.bottom_panel.compact .action-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px}.bottom_panel.compact .color-picker-group{width:44px;height:44px;padding:0;justify-content:center;gap:0}.bottom_panel.compact .color-picker-group input[type=color]{width:28px;height:28px;margin-left:-5px}.floating-ui{position:absolute;top:20px;left:20px;background:rgba(28,29,33,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;z-index:999999;width:280px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.5);pointer-events:auto}.ui-header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid rgba(255,255,255,.1)}.ui-title{font-weight:800;font-size:16px}.ui-close-btn{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:18px;transition:color .2s;display:flex;align-items:center;justify-content:center}.ui-close-btn:hover{color:#f55}.ui-body{padding:15px;display:flex;flex-direction:column;gap:15px}.ui-row{display:flex;align-items:center;justify-content:space-between;font-size:14px}.ui-row input[type=range]{flex:1;margin-left:15px;accent-color:#00E5FF;cursor:pointer}.ui-check{display:flex;align-items:center;gap:8px;cursor:pointer;color:rgba(255,255,255,.8)}.ui-check input[type=checkbox]{accent-color:#00E5FF;width:16px;height:16px;cursor:pointer}.save-load-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000000;pointer-events:auto}.save-load-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45)}.save-load-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 24px));background:rgba(28,29,33,.96);border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.45);color:#fff}.about-app-dialog{width:min(520px,calc(100vw - 24px))}.about-app-modal{z-index:1000002}.about-app-body{gap:16px;color:rgba(255,255,255,.82);line-height:1.55}.about-app-mark{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:10px;border:1px solid rgba(0,229,255,.55);background:rgba(0,229,255,.1);color:#00e5ff;font-weight:800}.about-app-contact{display:flex;justify-content:space-between;gap:14px;padding:12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.about-app-contact span{color:rgba(255,255,255,.58)}.about-app-contact a,.about-app-contact strong{color:#00e5ff;font-weight:800;text-decoration:none;text-align:right}.scene-state-text{width:100%;min-height:96px;max-height:140px;resize:vertical;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff;padding:12px;font-family:monospace;font-size:12px;line-height:1.4;box-sizing:border-box}.scene-state-saved-block{display:flex;flex-direction:column;gap:10px}.scene-state-saved-title{font-size:13px;color:rgba(255,255,255,.78)}.scene-state-saved-list{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto}.scene-state-saved-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.scene-state-saved-preview{flex:1;min-width:0;color:rgba(255,255,255,.92);font-family:monospace;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-state-saved-actions{display:flex;gap:8px}.scene-state-saved-empty{color:rgba(255,255,255,.58);font-size:13px}.scene-state-status{min-height:18px;color:rgba(255,255,255,.78);font-size:13px}@media (max-width: 600px){.floating-ui{top:10px;left:10px;right:10px;width:auto;margin:0 auto}.ui-header{padding:8px 12px}.ui-title{font-size:14px}.ui-close-btn{font-size:16px}.ui-body{padding:10px 12px;gap:10px}.ui-row{font-size:12px}.ui-row input[type=range]{margin-left:10px}.action-btn{padding:8px;font-size:12px}.app-mode-actions,.app-mode-secondary-actions{grid-template-columns:1fr;display:grid}.ui-tab-content{padding:14px 12px}.panels{gap:8px}.panel{flex:0 1 calc((100% - 24px)/4);height:auto;aspect-ratio:1;min-width:0;border-radius:8px}.panel-2d-board-wrap{top:8px;right:8px;bottom:165px;left:8px}.panel-2d-empty{font-size:14px;padding:18px}}
