@keyframes glasses-in{0%,100%{transform:translate(-50%,-50%) translateY(-140px);opacity:0}30%,70%{transform:translate(-50%,-50%) translateY(0);opacity:1}}@keyframes scanline{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(8px);opacity:.9}}#fpv-xray-glasses.animate{animation:1.6s cubic-bezier(.4,0,.2,1) forwards glasses-in}#fpv-xray-glasses.animate g[clip-path]{animation:.5s ease-in-out infinite scanline}#tc-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#1a1816;color:#f5f3f1;font-size:12px;line-height:1.5;padding:7px 10px;border-radius:6px;max-width:220px;box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;white-space:pre-line}#tc-tooltip.visible{opacity:1;transform:translateY(0)}#tc-tooltip::after{content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:none;border-bottom-color:#1a1816}#app-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;align-items:center;justify-content:center}#app-modal-overlay.visible{display:flex}#app-modal{background:var(--surface);border-radius:var(--r2);box-shadow:var(--shadow2),0 8px 32px rgba(0,0,0,.18);padding:20px 22px 16px;min-width:260px;max-width:min(90vw,360px);font-size:13px;color:var(--text);display:flex;flex-direction:column;gap:16px;animation:.12s modal-in}@keyframes modal-in{from{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}#app-modal-msg{line-height:1.5;white-space:pre-wrap}#app-modal-btns{display:flex;justify-content:flex-end;gap:8px}#app-modal-btns button{padding:6px 18px;border-radius:var(--r);font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text);transition:background .12s}#app-modal-btns button:hover{background:var(--surface3)}#app-modal-btns button.primary{background:var(--brand);border-color:var(--brand);color:#fff}#app-modal-btns button.primary:hover{background:var(--brand-d)}#app-modal-btns button.danger{background:var(--red);border-color:var(--red);color:#fff}#app-modal-btns button.danger:hover{background:#a02010}#autosave-toast{position:fixed;bottom:56px;right:14px;background:rgba(34,100,50,.92);color:#fff;font-size:11px;font-family:inherit;padding:5px 12px;border-radius:20px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:500;display:flex;align-items:center;gap:5px}#autosave-toast::before{content:'';width:6px;height:6px;background:#7ef0a0;border-radius:50%}#autosave-toast.show{opacity:1}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1a1816;color:#fff;font-size:13px;padding:9px 18px;border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s;z-index:600;white-space:nowrap}#toast.show{opacity:1}@media (max-width:900px){header{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 8px;mask-image:linear-gradient(90deg,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent 100%)}header::-webkit-scrollbar{display:none}header:active,header:hover{mask-image:none;-webkit-mask-image:none}.btn span.lbl-desktop{display:none}#subheader{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}#subheader::-webkit-scrollbar{display:none}.ninp{width:40px;font-size:11px}.h-field label{font-size:10.5px}.logo-text{font-size:11.5px}#proj-name{width:90px;font-size:11px}}@media (max-width:600px){header{height:44px;gap:1px;padding:0 4px}#subheader{height:36px;padding:0 6px;gap:3px}.btn{padding:4px 6px;font-size:10.5px}.btn.ico{padding:4px 5px}.btn.ico svg{width:13px;height:13px}.sep{height:18px;margin:0 2px}.pill-group label{padding:4px 8px;font-size:10.5px}.pill-group label svg{width:11px;height:11px}.logo-text{display:none}#proj-name{width:70px}.h-field .unit{font-size:10px;padding:3px 4px}.cell-badge{font-size:10px;padding:2px 5px}.sub-label{font-size:9.5px}#course-label{font-size:11px;min-width:70px}.leg-item{font-size:9.5px;gap:2px}.leg-swatch{width:10px;height:10px}#statusbar{font-size:10px;padding:0 6px}}#ria-viewfinder{position:fixed;inset:0;z-index:900;pointer-events:none}.ria-vf-mask{position:absolute;background:rgba(0,0,0,.55);pointer-events:none}#ria-vf-frame{position:absolute;box-sizing:border-box;border:1.5px solid rgba(255,255,255,.7);pointer-events:none}.ria-vf-corner{position:absolute;width:18px;height:18px;border:0 solid #fff}.ria-vf-tl{top:-1px;left:-1px;border-top-width:2.5px;border-left-width:2.5px}.ria-vf-tr{top:-1px;right:-1px;border-top-width:2.5px;border-right-width:2.5px}.ria-vf-bl{bottom:-1px;left:-1px;border-bottom-width:2.5px;border-left-width:2.5px}.ria-vf-br{bottom:-1px;right:-1px;border-bottom-width:2.5px;border-right-width:2.5px}#ria-vf-controls{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:all}#ria-vf-ratios{display:flex;gap:6px;background:rgba(0,0,0,.62);border-radius:24px;padding:5px 10px}.ria-vf-ratio{background:0 0;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.7);border-radius:14px;padding:3px 10px;font-size:11.5px;font-family:inherit;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.ria-vf-ratio:hover{background:rgba(255,255,255,.12);color:#fff}.ria-vf-ratio.active{background:var(--brand);border-color:var(--brand);color:#fff}#ria-capture-snap{display:flex;align-items:center;gap:8px;padding:10px 28px;background:var(--brand);border:none;color:#fff;border-radius:24px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.4);transition:background .12s,transform .1s}#ria-capture-snap:hover{background:var(--brand-d);transform:scale(1.03)}#ria-capture-cancel{background:0 0;border:none;color:#ccc;font-size:11.5px;font-family:inherit;cursor:pointer;padding:2px 8px;text-decoration:underline}#ria-capture-cancel:hover{color:#fff}#render-ia-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1800;align-items:center;justify-content:center}#render-ia-overlay.visible{display:flex}#render-ia-welcome{background:var(--surface);border-radius:var(--r2);box-shadow:var(--shadow2),0 12px 40px rgba(0,0,0,.28);width:min(96vw,420px);padding:28px 26px 22px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;animation:.14s modal-in}#ria-welcome-icon{width:56px;height:56px;background:var(--surface3);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--brand)}#ria-welcome-title{font-size:16px;font-weight:700;color:var(--text)}#ria-welcome-desc{font-size:13px;color:var(--text2);line-height:1.55;max-width:340px}.ria-info-box{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r2);padding:12px 14px;display:flex;flex-direction:column;gap:9px;text-align:left}.ria-info-row{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--text2);line-height:1.5}.ria-info-row svg{flex-shrink:0;margin-top:1px;color:var(--brand)}.ria-info-row strong{color:var(--text)}#ria-welcome-actions{display:flex;flex-direction:column;gap:7px;width:100%}#ria-welcome-ok{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px;background:var(--brand);border:none;color:#fff;border-radius:var(--r);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s}#ria-welcome-ok:hover{background:var(--brand-d)}#ria-welcome-cancel{background:0 0;border:none;color:var(--text3);font-size:12px;font-family:inherit;cursor:pointer;padding:4px;transition:color .12s}#ria-welcome-cancel:hover{color:var(--text2)}#render-ia-compose{background:var(--surface);border-radius:var(--r2);box-shadow:var(--shadow2),0 12px 40px rgba(0,0,0,.28);width:min(96vw,860px);max-height:90vh;display:flex;flex-direction:column;animation:.14s modal-in;overflow:hidden}#ria-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}#ria-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text)}#ria-close,#ria-result-close{background:0 0;border:none;cursor:pointer;color:var(--text2);padding:4px;border-radius:var(--r);display:flex;align-items:center;transition:background .12s}#ria-close:hover,#ria-result-close:hover{background:var(--surface3)}#ria-prompt-mode-toggle{display:flex;gap:0;border:1px solid var(--border2);border-radius:999px;overflow:hidden;margin-left:auto}.ria-prompt-mode-btn{padding:5px 13px;border:none;background:var(--surface2);color:var(--text2);font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.ria-prompt-mode-btn:hover{background:var(--surface3)}.ria-prompt-mode-btn.active{background:var(--brand);color:#fff}#ria-body{display:flex;gap:0;overflow:hidden;flex:1}#ria-preview-wrap{flex-shrink:0;width:260px;background:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;gap:8px}#ria-preview-img{width:100%;border-radius:5px;display:block;object-fit:contain;max-height:320px}#ria-preview-label{font-size:11px;color:#777}#ria-options{flex:1;overflow-y:auto;padding:12px 18px 18px;display:flex;flex-direction:column;gap:6px}#ria-options::-webkit-scrollbar{width:5px}#ria-options::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}#ria-advanced-panel,#ria-guided-panel{display:flex;flex-direction:column;gap:6px}#ria-advanced-prompt,#ria-custom{width:100%;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r1);color:var(--text);font-size:12px;font-family:inherit;line-height:1.5;padding:9px 11px;resize:none;transition:border-color .12s}#ria-advanced-prompt:focus,#ria-custom:focus{outline:0;border-color:var(--brand)}#ria-advanced-prompt::placeholder,#ria-custom::placeholder{color:var(--text3)}.ria-help-text{color:var(--text3);font-size:11.5px;line-height:1.45;margin-bottom:3px}#ria-advanced-template{align-self:flex-start;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s}#ria-advanced-template:hover{background:var(--surface3);border-color:var(--brand)}#ria-modo-toggle{display:flex;gap:0;margin-bottom:6px;border:1px solid var(--border2);border-radius:20px;overflow:hidden;align-self:flex-start}.ria-modo-btn{padding:5px 16px;font-size:11.5px;font-weight:600;font-family:inherit;border:none;cursor:pointer;background:var(--surface2);color:var(--text2);transition:background .15s,color .15s}.ria-modo-btn:hover{background:var(--surface3)}.ria-modo-btn.active{background:var(--brand);color:#fff}.ria-section-label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.ria-chips{display:flex;flex-wrap:wrap;gap:4px}.ria-chip{padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);font-size:11.5px;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.ria-chip:hover{background:var(--surface3);border-color:var(--brand)}.ria-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}#ria-btn-gerar{margin-top:8px;display:flex;align-items:center;gap:7px;padding:9px 22px;background:var(--brand);border:none;color:#fff;border-radius:var(--r);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;align-self:flex-start;transition:background .12s}#ria-btn-download:hover,#ria-btn-gerar:hover{background:var(--brand-d)}#render-ia-loading{background:#1a1612;border-radius:var(--r2);box-shadow:var(--shadow2),0 12px 40px rgba(0,0,0,.4);width:min(96vw,380px);padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;animation:.14s modal-in}#ria-loading-title{font-size:14px;font-weight:600;color:#f0ece8}#ria-loading-sub{font-size:11.5px;color:#888;margin-bottom:4px}#ria-game-canvas{border-radius:4px;display:block;touch-action:none}#ria-game-score{font-size:12px;color:var(--brand);font-weight:600}#ria-game-hint{font-size:10.5px;color:#555}#render-ia-result{background:var(--surface);border-radius:var(--r2);box-shadow:var(--shadow2),0 12px 40px rgba(0,0,0,.28);width:min(96vw,780px);max-height:92vh;display:flex;flex-direction:column;animation:.14s modal-in;overflow:hidden}#ria-result-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}#ria-result-actions{display:flex;align-items:center;gap:6px}#ria-btn-download,#ria-btn-novo{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r);border:1px solid var(--border2);background:var(--surface2);color:var(--text);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s}#ria-btn-download:hover,#ria-btn-fullscreen:hover,#ria-btn-novo:hover{background:var(--surface3)}#ria-btn-download{background:var(--brand);border-color:var(--brand);color:#fff}#ria-result-img-wrap{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:#111;padding:12px}#ria-result-img{max-width:100%;max-height:100%;border-radius:4px;display:block;cursor:zoom-in}#ria-btn-fullscreen{background:0 0;border:1px solid var(--border);color:var(--text2);border-radius:var(--r1);padding:5px 8px;cursor:pointer;display:flex;align-items:center;transition:background .12s}#ria-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.95);align-items:center;justify-content:center}#ria-lightbox.visible{display:flex}#ria-lightbox-img{max-width:96vw;max-height:96vh;border-radius:6px;display:block;box-shadow:0 8px 48px rgba(0,0,0,.7)}#ria-lightbox-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.1);border:none;color:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}#ria-lightbox-close:hover{background:rgba(255,255,255,.22)}@media (max-width:700px){#render-ia-compose{width:98vw;max-height:95vh}#ria-body{flex-direction:column}#ria-preview-wrap{width:100%;max-height:180px}#ria-preview-img{max-height:150px}}.dd-wrap{position:relative}.dd-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);min-width:168px;z-index:300;display:none;flex-direction:column;overflow:hidden;padding:4px 0}.dd-menu.open{display:flex}.dd-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-family:inherit;font-weight:500;background:0 0;color:var(--text2);border:none;cursor:pointer;text-align:left;transition:background .1s,color .1s;white-space:nowrap}.dd-item:hover{background:var(--surface3);color:var(--text)}.dd-item svg{flex-shrink:0}.dd-item:disabled{opacity:.45;cursor:not-allowed}.dd-item:disabled:hover{background:0 0;color:var(--text2)}#elev-canvas{display:block}.opening-pill{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:3px 8px;font-size:10px;font-weight:700;font-family:Inter,system-ui,sans-serif;white-space:nowrap;border-radius:20px;border:1.5px solid rgba(255,255,255,.55);cursor:pointer;user-select:none;box-shadow:0 2px 6px rgba(0,0,0,.3);transform:translate(-50%,-100%);transition:filter .12s,transform .1s;z-index:20;line-height:1.3}.opening-pill:hover{filter:brightness(1.12);transform:translate(-50%,-100%) scale(1.07)}.opening-pill.pill-door{background:#1a5fb4;color:#fff;border-color:rgba(255,255,255,.45)}.opening-pill.pill-win{background:#2e7d32;color:#fff;border-color:rgba(255,255,255,.45)}.opening-pill.pill-sel{outline:#fff solid 2.5px;outline-offset:1px}.opening-add-btn{position:absolute;pointer-events:auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;line-height:1;font-family:inherit;background:#fff;color:#1a5fb4;border:1.5px solid #1a5fb4;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.22);transform:translate(-50%,-100%);transition:background .12s,color .12s,transform .1s;z-index:20}.opening-add-btn:hover{background:#1a5fb4;color:#fff;transform:translate(-50%,-100%) scale(1.12)}.elev-btn{position:absolute;display:flex;align-items:center;gap:4px;padding:3px 7px 3px 5px;font-size:11px;font-weight:700;font-family:Inter,sans-serif;color:#fff;background:rgba(26,95,180,.88);border:1.5px solid rgba(26,95,180,.6);border-radius:12px;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.25);transform:translate(-50%,-50%);transition:background .12s,transform .1s;pointer-events:auto;user-select:none;z-index:12}.elev-btn:hover{background:rgba(22,80,160,.97);transform:translate(-50%,-50%) scale(1.08)}.elev-btn .eb-arrow{font-size:13px;line-height:1}#elev-btn-layer{position:absolute;inset:0;pointer-events:none;z-index:12}#furpop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:14px 14px 10px;min-width:220px;max-width:280px}.fur-room-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.fur-room-btn{border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);color:var(--text2);font-size:11px;font-family:inherit;font-weight:500;padding:3px 8px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.fur-room-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}.fur-room-btn.is-active{background:#4a4a52;color:#fff;border-color:#4a4a52}.furp-items-wrap{position:relative}.furp-items{display:none;flex-direction:column;gap:4px}.furp-items.is-active{display:flex}.furp-item-btn{border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);color:var(--text2);font-size:12px;font-family:inherit;font-weight:500;padding:6px 10px;cursor:pointer;text-align:left;transition:background .12s,color .12s,border-color .12s}.furp-item-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}.furp-item-btn.is-active{background:#4a4a52;color:#fff;border-color:#4a4a52}.furp-item-btn.is-disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.furp-hint{margin-top:10px;font-size:10.5px;color:var(--text3);line-height:1.4}#ebpop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #c9a800;border-top:3px solid #f5c800;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:212px}#colpop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #9ca3af;border-top:3px solid #c4c8ce;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:212px}#beampop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #9ca3af;border-top:3px solid #c4c8ce;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:236px}#furniturepop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #7da1ba;border-top:3px solid #2a5a7a;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:232px}#beampop .ebp-title,#colpop .ebp-title{color:#4a5563}#furniturepop .ebp-title{color:#2a5a7a}#colpop .ebp-btns button.ok{background:#aeb4bd;border-color:#8b919a;color:#1f2937}#colpop .ebp-btns button.ok:hover{background:#9fa6b0}.pop-corner-close{position:absolute;top:6px;right:6px;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:0 0;color:var(--text3);cursor:pointer;transition:background .12s,color .12s}.pop-corner-close:hover{background:var(--surface3);color:var(--text)}.ebp-title{font-size:11px;font-weight:600;color:#7a5a00;margin-bottom:10px;margin-right:18px;letter-spacing:.04em;text-transform:uppercase}.ebp-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.ebp-row label{font-size:11px;font-weight:500;color:var(--text2);min-width:64px;flex-shrink:0}.ebp-row .tg{flex:1}.ebp-row .tg label{font-size:11px;padding:3px 8px}.ebp-row input[type=number]{flex:1;padding:5px 7px;font-size:13px;font-family:inherit;font-weight:600;border:1px solid var(--border2);border-radius:var(--r);color:var(--text);text-align:right;outline:0;background:var(--surface2);-moz-appearance:textfield}.ebp-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.ebp-row input[type=number]:focus{border-color:var(--border2);box-shadow:0 0 0 3px rgba(26,95,180,.12)}.ebp-row span.unit{font-size:11px;color:var(--text3);font-weight:500}.ebp-btns{display:flex;gap:6px;margin-top:10px}.ebp-btns button{flex:1;padding:6px 10px;font-size:12px;font-family:inherit;font-weight:500;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--surface2);color:var(--text2);transition:background .12s}.ebp-btns .pop-icon-btn{flex:0 0 auto;padding:0}.ebp-btns button:hover{background:var(--surface3)}.ebp-btns button.ok{background:#f5c800;border-color:#b8970a;color:#333}.ebp-btns button.ok:hover{background:#e0b500}#dimpop{display:none;position:fixed;z-index:400;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border2);border-radius:20px;box-shadow:var(--shadow2);padding:4px 6px;pointer-events:all}#dimpop button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;background:0 0;color:var(--text2);transition:background .12s,color .12s}#dimpop button:hover{background:var(--surface3);color:var(--text)}#dp-del:hover{background:#fdecea!important;color:#c0392b!important}#hydropop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #5a9fd4;border-top:3px solid #1a73e8;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:212px}#hydropop .ebp-title{color:#0d4a7a}#hydropop .ebp-btns button.ok{background:#1a73e8;border-color:#1558b0;color:#fff}#hydropop .ebp-btns button.ok:hover{background:#1558b0}#sewerpop{display:none;position:fixed;z-index:50;min-width:270px;max-width:340px;background:#fff;border:1px solid rgba(122,78,36,.55);border-top:4px solid #8f5a2f;border-radius:var(--r2);box-shadow:var(--sh2);padding:9px 10px}#sewerpop .ebp-title{color:#6b4520}#sewerpop .ebp-btns button.ok{background:#8f5a2f;border-color:#6b4520;color:#fff}#sewerpop .ebp-btns button.ok:hover{background:#6b4520}#ceilpop{display:none;position:fixed;z-index:300;background:var(--surface);border:1px solid #c9a800;border-top:3px solid #f5c800;border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;font-family:inherit;font-size:12px;color:var(--text);min-width:180px}#ceilpop .ebp-title{color:#7a5a00}#quant-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:500;align-items:center;justify-content:center}#quant-overlay.visible{display:flex}#quant-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);width:940px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;font-family:inherit;font-size:12px;color:var(--text);animation:.15s cfg-slide-in}#quant-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}#quant-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}#quant-close{width:24px;height:24px;border-radius:50%;border:none;background:var(--surface3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px;line-height:1;transition:background .12s;flex-shrink:0}#quant-close:hover{background:var(--border2);color:var(--text)}#quant-body{overflow-y:auto;padding:16px}.qt-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.qt-col{display:flex;flex-direction:column;gap:12px}.qt-section{border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.qt-section-title{background:var(--surface2);border-bottom:1px solid var(--border);padding:6px 12px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);display:flex;align-items:center;gap:6px}.qt-table{width:100%;border-collapse:collapse}.qt-table td{padding:5px 12px;font-size:11.5px;text-align:left;border-bottom:1px solid var(--border)}.qt-table tr:last-child td{border-bottom:none}.qt-table td.val{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.qt-table tr.total td{background:var(--surface2);font-weight:700;border-top:1px solid var(--border2)}.qt-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.qt-dot-row{display:flex;align-items:center;gap:6px}.qt-note{font-size:10.5px;color:var(--text3);background:#fffbf0;border:1px solid #e0d0a0;border-radius:var(--r2);padding:8px 12px;margin:0;line-height:1.5}#quant-footer{border-top:1px solid var(--border);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:8px}.quant-footer-actions{display:flex;align-items:center;gap:8px;margin-right:auto}#cfg-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:500;align-items:center;justify-content:center;animation:.15s cfg-fade-in}#cfg-overlay.visible{display:flex}@keyframes cfg-fade-in{from{opacity:0}to{opacity:1}}#cfg-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;font-family:inherit;font-size:12px;color:var(--text);animation:.15s cfg-slide-in}@keyframes cfg-slide-in{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}#cfg-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border)}#cfg-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}#cfg-title svg{color:var(--text3)}#cfg-close{width:24px;height:24px;border-radius:50%;border:none;background:var(--surface3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px;line-height:1;transition:background .12s}#cfg-close:hover{background:var(--border2);color:var(--text)}#cfg-body{padding:16px;display:flex;flex-direction:column;gap:16px}.cfg-section{border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.cfg-section-title{background:var(--surface2);border-bottom:1px solid var(--border);padding:7px 12px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);display:flex;align-items:center;gap:6px}.cfg-rows{padding:10px 12px;display:flex;flex-direction:column;gap:9px}.cfg-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cfg-row label.cfg-lbl{font-size:11px;font-weight:500;color:var(--text2);min-width:82px;flex-shrink:0}.cfg-row .tg{flex:1}.cfg-row .tg label{font-size:11px;padding:3px 9px}.cfg-row .cfg-ninp{width:62px;padding:5px 7px;font-size:12px;font-family:inherit;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--border2);border-radius:var(--r);background:var(--surface2);color:var(--text);text-align:right;outline:0;transition:border-color .12s,box-shadow .12s;-moz-appearance:textfield}.cfg-row .cfg-ninp::-webkit-inner-spin-button{-webkit-appearance:none}.cfg-row .cfg-ninp:focus{border-color:var(--border2);box-shadow:0 0 0 2px rgba(26,95,180,.12);background:var(--surface)}.cfg-row .cfg-unit{font-size:11px;color:var(--text3);font-weight:500}.cfg-row .cfg-hint{font-size:10.5px;color:var(--text3);font-style:italic}.cfg-wh-hint{font-size:10.5px;font-style:italic;margin-left:4px}.cfg-wh-hint--warn{color:#c07000;font-weight:600}.cfg-wh-hint--ok{color:var(--text3)}.cfg-presets{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;flex:1}.cfg-preset-item{display:flex;flex-direction:column;gap:2px}.cfg-preset-item label.cfg-preset-lbl{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;padding-left:1px}.cfg-preset-item .cfg-ninp{width:100%}#cfg-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}#cfg-footer button{padding:7px 18px;font-size:12px;font-family:inherit;font-weight:500;border-radius:var(--r);cursor:pointer;border:1px solid var(--border2);transition:background .12s}#cfg-cancel-btn{background:var(--surface2);color:var(--text2)}#cfg-cancel-btn:hover{background:var(--surface3)}#cfg-apply-btn{background:var(--brand);border-color:var(--brand);color:#fff}#cfg-apply-btn:hover{background:var(--brand-d);border-color:var(--brand-d)}.cfg-ninp.cfg-error{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(192,57,43,.18)!important;background:#fff5f5!important}#cfg-validation-msg{display:none;margin:0 16px 12px;padding:8px 12px;background:#fff5f5;border:1px solid #f5c2bc;border-radius:var(--r);font-size:11px;color:var(--red);line-height:1.5}#cfg-validation-msg.visible{display:block}#panel3d{display:none}#btn-xray.active{background:#1a1816!important;color:#fff!important;border-color:#1a1816!important}#vis2d-dropdown,#vis3d-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:3px 0;min-width:132px;z-index:300}#vis2d-dropdown.open,#vis3d-dropdown.open{display:block}.vis3d-item{display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;font-size:12px;color:var(--text);user-select:none}.vis3d-item:hover{background:var(--surface3)}.vis3d-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}#cv2.touch-panning{cursor:grabbing}#touch-pan-hint{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-family:inherit;padding:4px 12px;border-radius:16px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:20}#touch-pan-hint.show{opacity:1}#fpv-mobile-hud{position:absolute;inset:0;z-index:26;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.fpv-joy{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:118px;height:118px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.24),rgba(0,0,0,.22));box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:auto;touch-action:none}.fpv-joy-move{left:14px}.fpv-joy-look{right:14px}.fpv-joy-stick{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.78),rgba(255,255,255,.26));border:1px solid rgba(255,255,255,.82);box-shadow:0 4px 12px rgba(0,0,0,.45);transition:transform .04s linear}.fpv-mobile-actions{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;width:min(304px,78vw);pointer-events:auto}.fpv-mobile-btn{flex:1;min-height:44px;border-radius:11px;border:1px solid rgba(255,255,255,.62);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.72),rgba(255,255,255,.36));color:#2e261e;font-family:inherit;font-size:18px;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);touch-action:manipulation;box-shadow:0 6px 16px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;padding:0}.fpv-mobile-btn svg{width:20px;height:20px;display:block}.fpv-mobile-btn-small svg{width:21px;height:21px}.fpv-mobile-btn.active{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.84),rgba(255,224,170,.56));color:#3d2514;border-color:rgba(255,245,215,.96)}#minimap.fpv-mobile-minimap{left:auto!important;right:24px!important;bottom:calc(150px + env(safe-area-inset-bottom,0px))!important;border-radius:9px!important;background:rgba(255,255,255,.62)!important;box-shadow:0 6px 14px rgba(0,0,0,.22)!important}@media (max-width:760px){.fpv-joy{width:108px;height:108px}.fpv-joy-stick{width:48px;height:48px}.fpv-mobile-actions{width:min(278px,76vw)}.fpv-mobile-btn{min-height:40px}#minimap.fpv-mobile-minimap{right:20px!important;bottom:calc(140px + env(safe-area-inset-bottom,0px))!important}}@media (max-width:440px){#minimap.fpv-mobile-minimap{right:16px!important;bottom:calc(136px + env(safe-area-inset-bottom,0px))!important}}#run-panel{position:fixed;z-index:200;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:5px 6px;display:none;align-items:center;gap:3px;font-family:inherit}#run-panel.visible{display:flex}#run-panel .rp-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;font-size:10.5px;font-family:inherit;font-weight:500;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);color:var(--text2);cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}#run-panel .rp-btn.rp-ico{padding:3px 5px}#run-panel .rp-btn:hover{background:var(--surface3);color:var(--text);border-color:var(--border2)}#run-panel .rp-btn.active{background:#eef3fb;border-color:#c8d8f0;color:var(--accent)}#run-panel .rp-btn.danger{color:var(--red)}#run-panel .rp-btn.danger:hover{background:#fff0ee;border-color:#f5c2bc}#run-panel .rp-sep{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 2px}#run-panel .rp-info{font-size:10.5px;color:var(--text3);font-weight:600;padding:0 4px;font-variant-numeric:tabular-nums}#rp-advanced-pop{display:none;position:fixed;z-index:215;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:8px;max-width:min(92vw,340px);font-family:inherit}#rp-advanced-pop.visible{display:block}#bg-panel{position:absolute;top:8px;right:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px 12px;z-index:15;display:none;min-width:200px;font-size:11.5px;color:var(--text)}#bg-panel.visible{display:block}#bg-panel .bp-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}#bg-panel .bp-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}#bg-panel .bp-row label{font-size:11px;font-weight:500;color:var(--text2);min-width:60px;flex-shrink:0}#bg-panel .bp-row input[type=range]{flex:1;height:4px;accent-color:var(--brand)}#bg-panel .bp-step-btn{flex-shrink:0;width:18px;height:18px;padding:0;border:1px solid var(--border2);border-radius:3px;background:var(--surface2);color:var(--text);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none}#bg-panel .bp-step-btn:hover{background:var(--surface3);border-color:var(--brand)}#bg-panel .bp-step-btn:active{background:var(--brand);color:#fff}#bg-panel .bp-row .bp-val{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);min-width:32px;text-align:right}#bg-panel .bp-actions{display:flex;gap:4px;margin-top:8px;border-top:1px solid var(--border);padding-top:8px}#bg-panel .bp-actions .btn{flex:1;justify-content:center;font-size:10.5px;white-space:nowrap}#cv2.bg-move{cursor:move}#pdf-export-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:500;align-items:center;justify-content:center}#pdf-export-overlay.visible{display:flex}#pdf-export-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;font-family:inherit;font-size:12px;color:var(--text);animation:.15s cfg-slide-in}#pdf-export-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}#pdf-export-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}#pdf-export-close{width:24px;height:24px;border-radius:50%;border:none;background:var(--surface3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px;line-height:1;transition:background .12s;flex-shrink:0}#pdf-export-close:hover{background:var(--border2);color:var(--text)}#pdf-export-body{overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.export-format-switch{display:inline-flex;gap:4px;align-self:flex-start;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:3px;margin-bottom:2px}.export-format-btn{border:none;background:0 0;color:var(--text2);border-radius:6px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer}.export-format-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 0 rgba(0,0,0,.04)}#pdf-export-footer{border-top:1px solid var(--border);padding:10px 14px;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;gap:8px}.pdf-exp-section{border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.pdf-exp-section-hd{display:flex;align-items:center;padding:8px 10px;background:var(--surface2);border-bottom:1px solid var(--border);gap:7px}.pdf-exp-section.collapsed .pdf-exp-section-hd,.pdf-exp-section.no-sub .pdf-exp-section-hd{border-bottom:none}.pdf-exp-cb{width:14px;height:14px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.pdf-exp-lbl{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px;flex:1;cursor:pointer}.pdf-exp-lbl svg{color:var(--text3);flex-shrink:0}.pdf-exp-toggle{width:20px;height:20px;border:none;background:0 0;cursor:pointer;color:var(--text3);font-size:11px;display:flex;align-items:center;justify-content:center;transition:transform .15s;border-radius:3px;flex-shrink:0}.pdf-exp-toggle:hover{background:var(--border);color:var(--text)}.pdf-exp-section.collapsed .pdf-exp-toggle{transform:rotate(-90deg)}.pdf-exp-sub{padding:4px 10px 8px;display:flex;flex-direction:column;gap:0;max-height:220px;overflow-y:auto}.pdf-exp-section.collapsed .pdf-exp-sub{display:none}.pdf-exp-sub-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer}.pdf-exp-sub-row:hover{background:var(--surface2)}.pdf-exp-sub-row label{font-size:11.5px;color:var(--text2);cursor:pointer;flex:1}.pdf-exp-sub-row.all-row label{font-weight:600;color:var(--text)}.pdf-exp-expandable{cursor:pointer;user-select:none}.pdf-exp-expandable:hover{background:var(--surface3)}.pdf-chevron{color:var(--text3);flex-shrink:0;transition:transform .2s}.pdf-exp-section.collapsed .pdf-chevron{transform:rotate(-90deg)}.pdf-exp-count{font-size:10.5px;color:var(--text3);font-weight:500;background:var(--surface3);border:1px solid var(--border);border-radius:10px;padding:1px 7px;flex-shrink:0}.pdf-exp-empty{font-size:11px;color:var(--text3);font-style:italic;padding:6px 4px}.pdf-exp-disabled{opacity:.55;pointer-events:none}#dxf-export-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:500;align-items:center;justify-content:center}#dxf-export-overlay.visible{display:flex}#dxf-export-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:hidden;display:flex;flex-direction:column;font-family:inherit;font-size:12px;color:var(--text);animation:.15s cfg-slide-in}#dxf-export-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}#dxf-export-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}#dxf-export-close{width:24px;height:24px;border-radius:50%;border:none;background:var(--surface3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px;line-height:1;transition:background .12s;flex-shrink:0}#dxf-export-close:hover{background:var(--border2);color:var(--text)}#dxf-export-body{overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px}#dxf-export-footer{border-top:1px solid var(--border);padding:10px 14px;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;gap:8px}#ceilingpop,#counterpop,#floorpop,#roofeavepop,#roofpop,#slabpop,#wardrobepop{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:8px;min-width:196px;font-family:inherit}#roompop{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:10px;min-width:192px;font-family:inherit}.roompop-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:8px;margin-right:18px}.roompop-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px}.roompop-type-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;font-family:inherit;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;text-align:left;color:var(--text);transition:background .1s,border-color .1s;white-space:nowrap}.roompop-type-btn svg{flex-shrink:0}.roompop-type-btn span{line-height:1}.roompop-type-btn:hover{background:var(--brand-l);border-color:var(--brand);color:var(--brand)}.roompop-type-btn.active{background:var(--brand-l);border-color:var(--brand);color:var(--brand);font-weight:600}.roompop-outro-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.roompop-outro-row input{flex:1;padding:4px 7px;font-size:12px;font-family:inherit;border:1px solid var(--border2);border-radius:var(--r);outline:0}.roompop-outro-row input:focus{border-color:var(--brand)}.roompop-outro-row button{flex:0 0 auto}.roompop-btns{display:flex;gap:4px}.roompop-btns button{flex:1;padding:5px 8px;font-size:11px;font-family:inherit;font-weight:600;border-radius:var(--r);cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);transition:background .1s}.roompop-btns .pop-icon-btn{flex:0 0 auto;padding:0}.roompop-btns button:hover{background:var(--surface3)}#roompop-del{background:#fff0ee;border-color:#f5c2bc;color:#a02010}#roompop-del:hover{background:#fde3df}.pop-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;padding:0;border-radius:var(--r);border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.pop-icon-btn:hover{background:var(--surface3)}.pop-icon-btn.success{background:#eefaf0;border-color:#9bd2a8;color:#1f8a3b}.pop-icon-btn.success:hover{background:#dff3e5}.pop-icon-btn.danger{background:#fff0ee;border-color:#f5c2bc;color:#c43120}.pop-icon-btn.danger:hover{background:#fde3df}.roofpop-join-btn{width:auto;min-width:0;height:28px;padding:0 10px;gap:6px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.01em;background:linear-gradient(180deg,#f7fbf9 0,#edf6f2 100%);border-color:#b9d8ca;color:#2a6a50}.roofpop-join-btn:hover{background:linear-gradient(180deg,#edf7f1 0,#e2f0e9 100%);border-color:#95bea9;color:#20543f}.roofpop-join-btn:active{background:#dcece3;border-color:#88b39d}.roofpop-join-btn svg{flex-shrink:0}#boundarypop{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:var(--shadow2);padding:4px 6px;display:flex;align-items:center;gap:4px;font-family:inherit}.boundarypop-label{font-size:10.5px;font-weight:600;color:var(--text2);white-space:nowrap}#boundarypop-del{display:inline-flex;align-items:center;justify-content:center}#floor-selector{display:inline-flex;align-items:center;gap:4px;height:100%;flex-shrink:0;max-width:min(48vw,360px);min-width:0}.floor-selector-wrap{min-width:0;max-width:100%}.floor-current-btn{min-width:106px;max-width:min(42vw,280px);justify-content:space-between;gap:7px;padding-right:9px}.floor-current-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.floor-current-btn svg:first-child{flex-shrink:0}.floor-current-btn svg:last-child{flex-shrink:0;opacity:.8}.floor-add-btn{width:28px;min-width:28px;padding:0;justify-content:center;font-size:0}.floor-add-btn svg{width:12px;height:12px}.floor-dd-menu{padding:4px;gap:2px}.floor-dd-item{display:flex;align-items:center;gap:4px;border-radius:6px;padding:2px}.floor-dd-item.is-active{background:var(--surface3)}.floor-dd-select{flex:1;min-width:0;border:none;background:0 0;color:var(--text2);cursor:pointer;border-radius:5px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-family:inherit;font-weight:500;padding:7px 9px;text-align:left}.floor-dd-select:hover{background:var(--surface2);color:var(--text)}.floor-dd-select span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-dd-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.floor-dd-icon{width:24px;height:24px;border:none;background:0 0;color:var(--text3);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .12s,color .12s}.floor-dd-icon:hover{color:var(--text);background:var(--surface2)}.floor-dd-eye.active{color:var(--brand);background:rgba(181,136,101,.12)}.floor-dd-eye:not(.active){opacity:.68}.floor-dd-icon.danger:hover{color:var(--red);background:rgba(192,57,43,.12)}.floor-edit-pop{padding:10px;gap:8px;width:300px}.floor-edit-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px}.floor-edit-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text3)}.floor-edit-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text2);user-select:none}.floor-edit-input{height:28px;border-radius:6px;border:1px solid var(--border2);background:var(--surface);color:var(--text);padding:0 8px;font-size:12px;font-family:inherit}.floor-edit-input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 2px rgba(181,136,101,.14)}.floor-edit-input:disabled{opacity:.55;cursor:not-allowed}.floor-edit-hint{min-height:14px;font-size:10.5px;line-height:1.3;color:var(--text3)}.floor-edit-hint.is-warn{color:#c07000;font-weight:600}.floor-edit-hint.is-ok{color:var(--text3)}.floor-edit-msg{min-height:14px;font-size:10.5px;color:#b33023;font-weight:600}.floor-edit-actions{display:flex;justify-content:flex-end;gap:6px}.floor-edit-btn{height:26px;border-radius:6px;border:1px solid var(--border2);background:0 0;color:var(--text2);padding:0 10px;font-size:11px;font-weight:600;cursor:pointer}.floor-edit-btn:hover{color:var(--text);border-color:var(--border);background:var(--surface2)}.floor-edit-btn.ok{border-color:var(--brand);color:var(--brand)}.floor-edit-btn.ok:hover{background:rgba(181,136,101,.08)}.floor-copy-pop{width:320px}.floor-copy-all{padding:4px 0 6px;border-bottom:1px solid var(--border2);margin-bottom:2px}.floor-copy-list{display:grid;gap:3px;max-height:260px;overflow:auto;padding-right:2px}.floor-copy-item{min-height:24px;padding:2px 0}.floor-copy-all span,.floor-copy-item span{line-height:1.3}#floor-selector-sep{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0;align-self:center}#3d-floor-filter{display:flex;align-items:center;gap:3px;flex-shrink:0}#3d-floor-filter .ff-label{font-size:11px;color:var(--text3);margin-right:2px;white-space:nowrap;user-select:none}.ff-btn{height:24px;padding:0 9px;font-size:11px;font-weight:500;border-radius:var(--r);border:1px solid var(--border2);background:0 0;color:var(--text2);cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.ff-btn:hover{border-color:var(--brand);color:var(--brand);background:rgba(181,136,101,.06)}.ff-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}#share-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:2000;align-items:center;justify-content:center;animation:.15s cfg-fade-in}#share-modal-overlay.visible{display:flex}#share-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.1);width:340px;max-width:calc(100vw - 32px);font-family:inherit;font-size:12px;color:var(--text);animation:.15s cfg-slide-in}#share-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border)}#share-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}#share-title svg{color:var(--text3)}#share-modal-close{width:24px;height:24px;border-radius:50%;border:none;background:var(--surface3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:14px;line-height:1;transition:background .12s}#share-modal-close:hover{background:var(--border2);color:var(--text)}#share-body{padding:16px;display:flex;flex-direction:column;gap:14px}#share-toggle-row{display:flex;align-items:center;gap:10px}#share-switch{position:relative;display:inline-block;width:38px;height:20px;flex-shrink:0}#share-switch input{opacity:0;width:0;height:0;position:absolute}#share-track{position:absolute;inset:0;border-radius:10px;background:var(--border2);cursor:pointer;transition:background .18s}#share-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s;pointer-events:none}#share-toggle-label{font-size:12px;font-weight:500;color:var(--text2)}#share-link-row{display:none;align-items:center;gap:6px}#share-link-input{flex:1;min-width:0;padding:6px 9px;border:1px solid var(--border2);border-radius:var(--r);font-size:11px;font-family:inherit;color:var(--text2);background:var(--surface2);outline:0}#share-copy-btn{padding:6px 12px;border:1px solid var(--border2);border-radius:var(--r);background:var(--surface2);color:var(--text);font-size:11px;font-family:inherit;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .12s}#share-copy-btn:hover{background:var(--surface3)}#share-copy-btn.copied{background:var(--brand);border-color:var(--brand);color:#fff}#editor-auth-modal{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .15s}#editor-auth-modal.open{opacity:1;pointer-events:all}#editor-auth-modal>div{background:#fff;border:1px solid #e4e0dc;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:100%;max-width:340px;padding:28px;position:relative;transform:translateY(8px);transition:transform .15s}#editor-auth-modal.open>div{transform:translateY(0)}#editor-auth-modal input{width:100%;padding:9px 12px;border:1.5px solid #dedad6;border-radius:6px;font-size:14px;font-family:inherit;color:#1a1816;outline:0;box-sizing:border-box;transition:border-color .15s}#editor-auth-modal input:focus{border-color:#b58865}.pop-field-row{display:flex;align-items:center;gap:8px;padding:4px 12px}.pop-field-row:first-of-type{padding-top:8px}.pop-field-row:last-of-type{padding-bottom:4px}.pop-field-lbl{font-size:12px;color:var(--text2);white-space:nowrap}.pop-field-inp{width:64px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit}.pop-field-unit{font-size:12px;color:var(--text3)}.pop-field-hint{font-size:11px;color:var(--text3);padding:2px 12px 6px;line-height:1.4}.pop-roof-hint{font-size:11.5px;color:var(--text2);background:var(--surface2);border:1px solid var(--border2);border-radius:var(--r);padding:6px 10px 7px;margin:0 0 6px;line-height:1.55}.pop-roof-hint-icon{color:#b58865;font-size:10px;margin-right:2px}.pop-roof-hint-water{color:#9a6d42;font-weight:600}.pop-roof-hint-gable{color:var(--text3);font-weight:600}#feedback-pop{display:none;position:fixed;z-index:1500;width:320px;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow2),0 8px 24px rgba(0,0,0,.12);padding:14px 16px 12px}#feedback-pop.open{display:flex}.fp-header{display:flex;align-items:center;justify-content:space-between}.fp-header span{font-size:13px;font-weight:600;color:var(--text)}#feedback-close{background:0 0;border:none;cursor:pointer;padding:2px;color:var(--text3);border-radius:var(--r);display:flex;align-items:center;justify-content:center}#feedback-close:hover{background:var(--surface3);color:var(--text)}#feedback-msg{width:100%;min-height:80px;resize:vertical;border:1px solid var(--border2);border-radius:var(--r);padding:7px 9px;font-size:12px;font-family:inherit;color:var(--text);background:var(--surface2);outline:0;box-sizing:border-box}#feedback-msg:focus{border-color:var(--brand);background:var(--surface)}#feedback-paste-area{display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--border2);border-radius:var(--r);padding:9px 12px;font-size:12px;color:var(--text3);cursor:default;user-select:none;transition:border-color .15s,background .15s}#feedback-paste-area.has-image{display:none}#feedback-paste-area kbd{font-family:inherit;font-size:11px;background:var(--surface3);border:1px solid var(--border2);border-radius:3px;padding:0 4px;color:var(--text2)}#feedback-preview-wrap{display:none;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--border)}#feedback-preview-wrap.has-image{display:block}#feedback-preview-img{width:100%;display:block;max-height:160px;object-fit:cover}#feedback-remove-img{position:absolute;top:5px;right:5px;background:rgba(0,0,0,.55);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;padding:0}#feedback-remove-img:hover{background:rgba(0,0,0,.75)}.fp-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}#feedback-status{font-size:11px;color:var(--text2);flex:1}