.tool-palette[data-v-155f2e70]{display:flex;flex-direction:column;padding:12px 8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-right:1px solid #e2e8f0;min-width:72px;-webkit-user-select:none;user-select:none}.tool-group[data-v-155f2e70]{display:flex;flex-direction:column;gap:4px}.tool-button[data-v-155f2e70]{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 6px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #0000000a}.tool-button[data-v-155f2e70]:hover{background:#f8fafc;border-color:#cbd5e0;box-shadow:0 2px 4px #00000014;transform:translateY(-1px)}.tool-button[data-v-155f2e70]:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a}.tool-button.active[data-v-155f2e70]{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#1d4ed8;color:#fff;box-shadow:0 2px 8px #3b82f666}.tool-button.active[data-v-155f2e70]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f680}.tool-icon[data-v-155f2e70]{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.tool-icon svg[data-v-155f2e70]{width:20px;height:20px}.tool-label[data-v-155f2e70]{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.9}.tool-hotkey[data-v-155f2e70]{position:absolute;top:4px;right:4px;font-size:9px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;padding:1px 4px;background:#0000000f;border-radius:3px;color:#64748b;line-height:1.2}.tool-button.active .tool-hotkey[data-v-155f2e70]{background:#fff3;color:#ffffffe6}.tool-tooltip[data-v-155f2e70]{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#1e293b;color:#fff;border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .15s ease;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0003}.tool-tooltip[data-v-155f2e70]:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#1e293b;border-left:none}.tool-button:hover .tool-tooltip[data-v-155f2e70]{opacity:1;visibility:visible}.tooltip-title[data-v-155f2e70]{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.tooltip-hotkey[data-v-155f2e70]{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;padding:2px 6px;background:#ffffff26;border-radius:4px;margin-left:auto}.tooltip-desc[data-v-155f2e70]{font-size:11px;color:#94a3b8;max-width:180px}.tool-divider[data-v-155f2e70]{height:1px;background:linear-gradient(90deg,transparent,#cbd5e0,transparent);margin:12px 4px}.active-tool-display[data-v-155f2e70]{display:flex;flex-direction:column;align-items:center;padding:8px 4px;margin-top:auto}.active-label[data-v-155f2e70]{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:center}.tool-button[data-v-155f2e70]:focus{outline:none}.tool-button[data-v-155f2e70]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){.tool-button[data-v-155f2e70]{transition:none}.tool-tooltip[data-v-155f2e70]{transition:opacity .1s ease}}.settings-dropdown[data-v-24a612e9]{position:relative}.settings-btn[data-v-24a612e9]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#0003;border:1px solid transparent;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .15s ease}.settings-btn svg[data-v-24a612e9]{width:18px;height:18px;transition:transform .3s ease}.settings-btn[data-v-24a612e9]:hover{background:#ffffff1a;color:#fff}.settings-btn.active[data-v-24a612e9]{background:#3b82f633;color:#60a5fa;border-color:#3b82f64d}.settings-btn.active svg[data-v-24a612e9]{transform:rotate(90deg)}.settings-btn[data-v-24a612e9]:focus{outline:none}.settings-btn[data-v-24a612e9]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dropdown-panel[data-v-24a612e9]{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 10px 40px #0000004d;overflow:hidden;z-index:1000}.dropdown-header[data-v-24a612e9]{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(180deg,#334155,#1e293b);border-bottom:1px solid #334155;color:#fff;font-size:13px;font-weight:600}.dropdown-header svg[data-v-24a612e9]{width:16px;height:16px;color:#60a5fa}.setting-item[data-v-24a612e9]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #334155}.setting-item[data-v-24a612e9]:last-child{border-bottom:none}.setting-label[data-v-24a612e9]{display:flex;align-items:center;gap:10px;color:#e2e8f0;font-size:13px;font-weight:500}.setting-label svg[data-v-24a612e9]{width:16px;height:16px;color:#64748b}.setting-select[data-v-24a612e9]{padding:6px 10px;font-size:12px;font-weight:500;background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:6px;cursor:pointer;outline:none;transition:border-color .15s ease}.setting-select[data-v-24a612e9]:hover{border-color:#475569}.setting-select[data-v-24a612e9]:focus{border-color:#3b82f6}.setting-select option[data-v-24a612e9]{background:#1e293b;color:#e2e8f0}.toggle-group[data-v-24a612e9]{display:flex;background:#0f172a;border-radius:6px;padding:2px}.toggle-btn[data-v-24a612e9]{padding:5px 12px;font-size:11px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;background:transparent;color:#64748b;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.toggle-btn[data-v-24a612e9]:hover{color:#94a3b8}.toggle-btn.active[data-v-24a612e9]{background:#3b82f6;color:#fff}.toggle-switch[data-v-24a612e9]{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0}.toggle-track[data-v-24a612e9]{position:relative;width:36px;height:20px;background:#334155;border-radius:10px;transition:background .2s ease}.toggle-switch.on .toggle-track[data-v-24a612e9]{background:#3b82f6}.toggle-thumb[data-v-24a612e9]{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.on .toggle-thumb[data-v-24a612e9]{transform:translate(16px)}.toggle-label[data-v-24a612e9]{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.toggle-switch.on .toggle-label[data-v-24a612e9]{color:#60a5fa}.setting-divider[data-v-24a612e9]{height:1px;background:#334155;margin:4px 16px}.setting-action[data-v-24a612e9]{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;color:#94a3b8;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left}.setting-action[data-v-24a612e9]:hover{background:#ffffff0d;color:#e2e8f0}.setting-action svg[data-v-24a612e9]{width:16px;height:16px;color:#64748b}.dropdown-enter-active[data-v-24a612e9],.dropdown-leave-active[data-v-24a612e9]{transition:all .2s ease}.dropdown-enter-from[data-v-24a612e9],.dropdown-leave-to[data-v-24a612e9]{opacity:0;transform:translateY(-8px)}.build-info[data-v-24a612e9]{display:flex;justify-content:space-between;padding:10px 16px;font-size:10px;color:#64748b;background:#0f172a;border-top:1px solid #334155}.build-link[data-v-24a612e9]{background:none;border:none;padding:0;font-size:inherit;font-family:inherit;color:#64748b;cursor:pointer;transition:color .15s ease}.build-link[data-v-24a612e9]:hover{color:#60a5fa;text-decoration:underline}.build-date[data-v-24a612e9]{opacity:.7}@media (prefers-reduced-motion: reduce){.settings-btn svg[data-v-24a612e9],.toggle-thumb[data-v-24a612e9],.dropdown-panel[data-v-24a612e9]{transition:none}}.mobile-banner[data-v-885e8ad2]{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--color-primary, #2F243A) 0%,var(--color-primary-dark, #1F1728) 100%);color:#fff;padding:16px;display:flex;align-items:flex-start;gap:12px;z-index:9998;box-shadow:0 -4px 20px #00000026}.banner-content[data-v-885e8ad2]{flex:1;display:flex;align-items:flex-start;gap:14px}.banner-icon[data-v-885e8ad2]{width:40px;height:40px;background:#ffffff26;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.banner-icon svg[data-v-885e8ad2]{width:22px;height:22px;opacity:.9}.banner-text[data-v-885e8ad2]{flex:1;min-width:0}.banner-title[data-v-885e8ad2]{margin:0 0 4px;font-size:15px;font-weight:600;line-height:1.3}.banner-message[data-v-885e8ad2]{margin:0;font-size:13px;opacity:.85;line-height:1.4}.banner-dismiss[data-v-885e8ad2]{background:#ffffff1a;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s ease;flex-shrink:0}.banner-dismiss[data-v-885e8ad2]:hover{background:#fff3}.banner-dismiss svg[data-v-885e8ad2]{width:18px;height:18px}.banner-enter-active[data-v-885e8ad2],.banner-leave-active[data-v-885e8ad2]{transition:transform .3s ease,opacity .3s ease}.banner-enter-from[data-v-885e8ad2],.banner-leave-to[data-v-885e8ad2]{transform:translateY(100%);opacity:0}@media (prefers-reduced-motion: reduce){.banner-enter-active[data-v-885e8ad2],.banner-leave-active[data-v-885e8ad2]{transition:opacity .15s ease}.banner-enter-from[data-v-885e8ad2],.banner-leave-to[data-v-885e8ad2]{transform:none}}.tour-overlay[data-v-53c963d2]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;pointer-events:none}.tour-backdrop[data-v-53c963d2]{position:absolute;top:0;left:0;right:0;bottom:0;background:#2f243a99;pointer-events:auto}.tour-backdrop.full[data-v-53c963d2]{background:#2f243ad9}.language-modal[data-v-53c963d2]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-surface, white);border-radius:16px;padding:40px;width:400px;max-width:90vw;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .3));pointer-events:auto;text-align:center}.language-header[data-v-53c963d2]{margin-bottom:32px}.logo-icon[data-v-53c963d2]{width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.logo-icon svg[data-v-53c963d2]{width:64px;height:64px;border-radius:12px}.language-header h1[data-v-53c963d2]{margin:0 0 4px;font-size:28px;font-weight:700;color:var(--color-text-primary, #2F243A)}.tagline[data-v-53c963d2]{margin:0;font-size:14px;color:var(--color-text-tertiary, #8A7A96)}.language-content[data-v-53c963d2]{margin-bottom:32px}.language-content h2[data-v-53c963d2]{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-primary, #2F243A)}.language-content>p[data-v-53c963d2]{margin:0 0 20px;font-size:14px;color:var(--color-text-secondary, #655674)}.language-options[data-v-53c963d2]{display:flex;flex-direction:column;gap:10px}.language-btn[data-v-53c963d2]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-secondary, #E8E1EE);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left}.language-btn[data-v-53c963d2]:hover{background:var(--color-bg-tertiary, #DED5E6)}.language-btn.selected[data-v-53c963d2]{border-color:var(--color-accent, #E07A3F);background:#e07a3f1a}.lang-flag[data-v-53c963d2]{font-size:24px}.lang-name[data-v-53c963d2]{flex:1;font-size:15px;font-weight:500;color:var(--color-text-primary, #2F243A)}.check-icon[data-v-53c963d2]{width:20px;height:20px;color:var(--color-accent, #E07A3F)}.language-actions[data-v-53c963d2]{display:flex;justify-content:space-between;align-items:center}.skip-text-btn[data-v-53c963d2]{background:none;border:none;padding:8px 12px;font-size:14px;color:var(--color-text-tertiary, #8A7A96);cursor:pointer;transition:color .15s ease}.skip-text-btn[data-v-53c963d2]:hover{color:var(--color-text-primary, #2F243A)}.start-btn[data-v-53c963d2]{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;background:linear-gradient(135deg,var(--color-accent, #E07A3F) 0%,var(--color-accent-dark, #C86A2F) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.start-btn[data-v-53c963d2]:hover{box-shadow:0 4px 16px #e07a3f66;transform:translateY(-1px)}.start-btn svg[data-v-53c963d2]{width:18px;height:18px}.tour-highlight[data-v-53c963d2]{position:absolute;border-radius:8px;box-shadow:0 0 0 9999px #2f243a99;background:transparent;transition:all .3s ease;pointer-events:none}.tour-tooltip[data-v-53c963d2]{position:absolute;background:var(--color-bg-surface, white);border-radius:12px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .3));pointer-events:auto;transition:all .3s ease;overflow:hidden}.tooltip-header[data-v-53c963d2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,var(--color-accent, #E07A3F) 0%,var(--color-accent-dark, #C86A2F) 100%);color:#fff}.step-indicator[data-v-53c963d2]{font-size:12px;font-weight:600;opacity:.9}.skip-btn[data-v-53c963d2]{background:#fff3;border:none;border-radius:6px;padding:4px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.skip-btn[data-v-53c963d2]:hover{background:#ffffff4d}.skip-btn svg[data-v-53c963d2]{width:16px;height:16px}.tooltip-content[data-v-53c963d2]{padding:20px}.tooltip-content h3[data-v-53c963d2]{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-primary, #2F243A)}.tooltip-content p[data-v-53c963d2]{margin:0;font-size:14px;line-height:1.6;color:var(--color-text-secondary, #655674)}.tooltip-progress[data-v-53c963d2]{padding:0 20px}.progress-bar[data-v-53c963d2]{height:3px;background:var(--color-border, #DED5E6);border-radius:2px;overflow:hidden}.progress-fill[data-v-53c963d2]{height:100%;background:linear-gradient(90deg,var(--color-accent, #E07A3F),var(--color-accent-dark, #C86A2F));border-radius:2px;transition:width .3s ease}.tooltip-actions[data-v-53c963d2]{display:flex;justify-content:space-between;gap:12px;padding:16px 20px}.tour-btn[data-v-53c963d2]{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.tour-btn svg[data-v-53c963d2]{width:16px;height:16px}.tour-btn.primary[data-v-53c963d2]{background:linear-gradient(135deg,var(--color-accent, #E07A3F) 0%,var(--color-accent-dark, #C86A2F) 100%);color:#fff;flex:1;justify-content:center}.tour-btn.primary[data-v-53c963d2]:hover{box-shadow:0 4px 12px #e07a3f66}.tour-btn.secondary[data-v-53c963d2]{background:var(--color-bg-secondary, #E8E1EE);color:var(--color-text-secondary, #655674)}.tour-btn.secondary[data-v-53c963d2]:hover{background:var(--color-bg-tertiary, #DED5E6)}.keyboard-hints[data-v-53c963d2]{display:flex;justify-content:center;gap:16px;padding:12px 20px;background:var(--color-bg-secondary, #f8fafc);border-top:1px solid var(--color-border, #DED5E6);font-size:11px;color:var(--color-text-muted, #A99AB5)}.keyboard-hints span[data-v-53c963d2]{display:flex;align-items:center;gap:4px}.keyboard-hints kbd[data-v-53c963d2]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 6px;font-size:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;background:var(--color-bg-surface, white);border:1px solid var(--color-border, #DED5E6);border-radius:4px;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.tour-enter-active[data-v-53c963d2],.tour-leave-active[data-v-53c963d2]{transition:opacity .3s ease}.tour-enter-from[data-v-53c963d2],.tour-leave-to[data-v-53c963d2]{opacity:0}@media (prefers-reduced-motion: reduce){.tour-highlight[data-v-53c963d2],.tour-tooltip[data-v-53c963d2],.progress-fill[data-v-53c963d2],.language-modal[data-v-53c963d2]{transition:none}}.canvas-container[data-v-7eb7cc86]{width:100%;height:100%;overflow:hidden}canvas[data-v-7eb7cc86]{display:block;cursor:crosshair}.length-input-overlay[data-v-7eb7cc86]{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;background:#fff;border:2px solid #3182ce;border-radius:6px;padding:4px 8px;box-shadow:0 2px 8px #0003;z-index:10}.length-input[data-v-7eb7cc86]{width:72px;border:none;outline:none;font-size:14px;font-weight:600;color:#2d3748;text-align:right;background:transparent}.length-input[data-v-7eb7cc86]::placeholder{color:#cbd5e0;font-weight:400}.length-input-unit[data-v-7eb7cc86]{font-size:13px;color:#718096;margin-left:2px;-webkit-user-select:none;user-select:none}.floor-plan-editor[data-v-f82af7f4]{display:flex;flex-direction:column;height:100%;background:#f7fafc}.editor-header[data-v-f82af7f4]{display:flex;justify-content:space-between;padding:8px 12px;background:#edf2f7;border-bottom:1px solid #e2e8f0;font-size:13px;color:#4a5568}.level-name[data-v-f82af7f4]{font-weight:600}.zoom-level[data-v-f82af7f4]{font-family:monospace}.editor-canvas[data-v-f82af7f4]{flex:1;overflow:hidden}.editor-footer[data-v-f82af7f4]{display:flex;justify-content:space-between;padding:6px 12px;background:#edf2f7;border-top:1px solid #e2e8f0;font-size:12px;color:#718096;font-family:monospace}.drawing-hint[data-v-f82af7f4]{color:#3182ce}.doom-container[data-v-acbc6d37]{width:100%;height:100%;position:relative;background:#000}canvas[data-v-acbc6d37]{display:block;width:100%;height:100%;image-rendering:pixelated}.doom-overlay[data-v-acbc6d37]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;cursor:pointer}.doom-logo[data-v-acbc6d37]{font-family:Impact,Arial Black,sans-serif;font-size:96px;font-weight:900;color:#c00;text-shadow:0 0 30px rgba(200,0,0,.8),4px 4px 0 #600;letter-spacing:12px}.doom-subtitle[data-v-acbc6d37]{font-size:18px;color:#888;font-style:italic;margin-top:8px}.doom-prompt[data-v-acbc6d37]{font-size:16px;color:#999;margin-top:32px;animation:pulse-acbc6d37 1.5s ease-in-out infinite}@keyframes pulse-acbc6d37{0%,to{opacity:.4}50%{opacity:1}}.preview-3d[data-v-4713fa46]{display:flex;flex-direction:column;height:100%;background:#f0f4f8}.preview-header[data-v-4713fa46]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#e2e8f0;border-bottom:1px solid #cbd5e0}.title[data-v-4713fa46]{font-weight:600;font-size:13px;color:#4a5568}.header-buttons[data-v-4713fa46]{display:flex;gap:8px}.toggle-btn[data-v-4713fa46]{padding:4px 10px;font-size:12px;background:#4a5568;color:#fff;border:none;border-radius:4px;cursor:pointer}.toggle-btn[data-v-4713fa46]:hover{background:#2d3748}.toggle-btn.active[data-v-4713fa46]{background:#3182ce}.preview-canvas[data-v-4713fa46]{flex:1;overflow:hidden;position:relative}.fp-hint[data-v-4713fa46]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:10;pointer-events:none}.fp-controls-hint[data-v-4713fa46]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#00000080;color:#fff;padding:6px 16px;border-radius:6px;font-size:12px;z-index:10;pointer-events:none}.level-selector[data-v-97542dd8]{display:flex;flex-direction:column;background:#fff;border-radius:6px;border:1px solid #e2e8f0;overflow:hidden}.header[data-v-97542dd8]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.title[data-v-97542dd8]{font-weight:600;font-size:13px;color:#2d3748}.add-btn[data-v-97542dd8]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#3182ce;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer}.add-btn[data-v-97542dd8]:hover{background:#2b6cb0}.level-list[data-v-97542dd8]{display:flex;flex-direction:column}.level-item[data-v-97542dd8]{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;border-bottom:1px solid #edf2f7;transition:background .15s ease}.level-item[data-v-97542dd8]:last-child{border-bottom:none}.level-item[data-v-97542dd8]:hover{background:#f7fafc}.level-item.active[data-v-97542dd8]{background:#ebf8ff;border-left:3px solid #3182ce}.level-name[data-v-97542dd8]{flex:1;font-size:13px;color:#2d3748}.wall-count[data-v-97542dd8]{font-size:11px;color:#a0aec0}.remove-btn[data-v-97542dd8]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;color:#a0aec0;border:none;border-radius:4px;font-size:16px;cursor:pointer;opacity:0;transition:opacity .15s ease}.level-item:hover .remove-btn[data-v-97542dd8]{opacity:1}.remove-btn[data-v-97542dd8]:hover{background:#fed7d7;color:#c53030}.edit-input[data-v-97542dd8]{flex:1;padding:4px 8px;font-size:13px;border:1px solid #3182ce;border-radius:4px;outline:none}.floor-below-toggle[data-v-97542dd8]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #e2e8f0;cursor:pointer}.floor-below-toggle[data-v-97542dd8]:hover{background:#f7fafc}.toggle-label[data-v-97542dd8]{font-size:12px;color:#4a5568;-webkit-user-select:none;user-select:none}.toggle-switch[data-v-97542dd8]{position:relative;display:inline-block;width:34px;height:18px;flex-shrink:0}.toggle-switch input[data-v-97542dd8]{opacity:0;width:0;height:0}.toggle-slider[data-v-97542dd8]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e0;border-radius:18px;transition:background .2s ease}.toggle-slider[data-v-97542dd8]:before{content:"";position:absolute;height:12px;width:12px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch input:checked+.toggle-slider[data-v-97542dd8]{background:#3182ce}.toggle-switch input:checked+.toggle-slider[data-v-97542dd8]:before{transform:translate(16px)}.texture-picker[data-v-656f6be6]{display:flex;flex-wrap:wrap;gap:4px}.swatch[data-v-656f6be6]{width:28px;height:28px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .15s ease}.swatch[data-v-656f6be6]:hover{border-color:#a0aec0}.swatch.selected[data-v-656f6be6]{border-color:#3182ce;box-shadow:0 0 0 1px #3182ce}.swatch-none[data-v-656f6be6]{background:#f7fafc;border-color:#e2e8f0}.swatch-none.selected[data-v-656f6be6]{border-color:#3182ce}.swatch-textured[data-v-656f6be6]{background:#f7fafc}.preview-host[data-v-656f6be6]{display:block;width:24px;height:24px;border-radius:2px;overflow:hidden}.preview-host[data-v-656f6be6] canvas{width:24px;height:24px;display:block}.properties-panel[data-v-41ca2f28]{display:flex;flex-direction:column;background:#fff;border-radius:6px;border:1px solid #e2e8f0;overflow:hidden}.header[data-v-41ca2f28]{padding:10px 12px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.title[data-v-41ca2f28]{font-weight:600;font-size:13px;color:#2d3748}.content[data-v-41ca2f28]{padding:12px;display:flex;flex-direction:column;gap:12px}.property-group[data-v-41ca2f28]{display:flex;flex-direction:column;gap:4px}.property-label[data-v-41ca2f28]{font-size:11px;font-weight:500;color:#718096;text-transform:uppercase}.property-value[data-v-41ca2f28]{font-size:14px;color:#2d3748}.property-value.readonly[data-v-41ca2f28]{padding:6px 10px;background:#f7fafc;border-radius:4px}.property-input[data-v-41ca2f28]{padding:6px 10px;font-size:14px;border:1px solid #e2e8f0;border-radius:4px;outline:none}.property-input[data-v-41ca2f28]:focus{border-color:#3182ce;box-shadow:0 0 0 2px #3182ce33}.type-toggle[data-v-41ca2f28]{display:flex;border-radius:4px;overflow:hidden;border:1px solid #e2e8f0}.type-btn[data-v-41ca2f28]{flex:1;padding:6px;font-size:12px;background:#fff;border:none;cursor:pointer;transition:all .15s ease}.type-btn[data-v-41ca2f28]:not(:last-child){border-right:1px solid #e2e8f0}.type-btn[data-v-41ca2f28]:hover{background:#edf2f7}.type-btn.active[data-v-41ca2f28]{background:#3182ce;color:#fff}.delete-btn[data-v-41ca2f28]{padding:8px;background:#fc8181;color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;margin-top:8px}.delete-btn[data-v-41ca2f28]:hover{background:#f56565}.no-selection[data-v-41ca2f28]{padding:24px 12px;text-align:center;color:#718096}.no-selection p[data-v-41ca2f28]{margin:0}.no-selection .hint[data-v-41ca2f28]{font-size:12px;margin-top:4px;color:#a0aec0}.color-input-wrapper[data-v-41ca2f28]{display:flex;gap:8px;align-items:center}.color-input[data-v-41ca2f28]{width:40px;height:32px;padding:2px;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer}.color-text-input[data-v-41ca2f28]{flex:1;padding:6px 10px;font-size:14px;font-family:monospace;border:1px solid #e2e8f0;border-radius:4px;outline:none}.color-text-input[data-v-41ca2f28]:focus{border-color:#3182ce;box-shadow:0 0 0 2px #3182ce33}.rotation-controls[data-v-41ca2f28]{display:flex;align-items:center;gap:4px}.rotate-btn[data-v-41ca2f28]{width:32px;height:32px;font-size:16px;background:#edf2f7;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rotate-btn[data-v-41ca2f28]:hover{background:#e2e8f0}.rotation-input[data-v-41ca2f28]{width:60px;text-align:center}.unit-label[data-v-41ca2f28]{font-size:14px;color:#718096}.flip-btn[data-v-41ca2f28]{width:100%;padding:6px;background:#edf2f7;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s ease}.flip-btn[data-v-41ca2f28]:hover{background:#e2e8f0}.toggle-switch[data-v-41ca2f28]{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input[data-v-41ca2f28]{opacity:0;width:0;height:0}.toggle-slider[data-v-41ca2f28]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e0;border-radius:22px;transition:background .2s ease}.toggle-slider[data-v-41ca2f28]:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch input:checked+.toggle-slider[data-v-41ca2f28]{background:#3182ce}.toggle-switch input:checked+.toggle-slider[data-v-41ca2f28]:before{transform:translate(18px)}.multi-selection-info[data-v-41ca2f28]{text-align:center;padding:8px 0}.multi-count[data-v-41ca2f28]{margin:0;font-size:14px;font-weight:500;color:#2d3748}.furniture-catalog[data-v-5bbb55ba]{display:flex;flex-direction:column;height:100%;background:#f7fafc;border-left:1px solid #e2e8f0}.catalog-header[data-v-5bbb55ba]{padding:8px 12px;background:#e2e8f0;border-bottom:1px solid #cbd5e0}.title[data-v-5bbb55ba]{font-weight:600;font-size:13px;color:#4a5568}.category-tabs[data-v-5bbb55ba]{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid #e2e8f0}.category-tab[data-v-5bbb55ba]{padding:4px 8px;font-size:11px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .15s ease}.category-tab[data-v-5bbb55ba]:hover{background:#edf2f7}.category-tab.active[data-v-5bbb55ba]{background:#3182ce;border-color:#2b6cb0;color:#fff}.items-grid[data-v-5bbb55ba]{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.item-card[data-v-5bbb55ba]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s ease}.item-card[data-v-5bbb55ba]:hover{border-color:#cbd5e0;background:#f7fafc}.item-card.selected[data-v-5bbb55ba]{border-color:#3182ce;background:#ebf8ff}.item-icon[data-v-5bbb55ba]{font-size:24px}.item-name[data-v-5bbb55ba]{font-size:10px;text-align:center;color:#4a5568;line-height:1.2}.instructions[data-v-5bbb55ba]{padding:8px 12px;background:#ebf8ff;color:#2b6cb0;font-size:11px;text-align:center;border-top:1px solid #bee3f8}.kitchen-catalog[data-v-0492100a]{display:flex;flex-direction:column;height:100%;background:#f7fafc;border-left:1px solid #e2e8f0}.catalog-header[data-v-0492100a]{padding:8px 12px;background:#e2e8f0;border-bottom:1px solid #cbd5e0}.title[data-v-0492100a]{font-weight:600;font-size:13px;color:#4a5568}.category-tabs[data-v-0492100a]{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid #e2e8f0}.category-tab[data-v-0492100a]{padding:4px 8px;font-size:11px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .15s ease}.category-tab[data-v-0492100a]:hover{background:#edf2f7}.category-tab.active[data-v-0492100a]{background:#38a169;border-color:#2f855a;color:#fff}.items-grid[data-v-0492100a]{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.item-card[data-v-0492100a]{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s ease}.item-card[data-v-0492100a]:hover{border-color:#cbd5e0;background:#f7fafc}.item-card.selected[data-v-0492100a]{border-color:#38a169;background:#f0fff4}.item-icon[data-v-0492100a]{font-size:24px}.item-name[data-v-0492100a]{font-size:10px;text-align:center;color:#4a5568;line-height:1.2}.wall-badge[data-v-0492100a]{position:absolute;top:2px;right:2px;font-size:8px;font-weight:600;text-transform:uppercase;padding:1px 4px;background:#ebf4ff;color:#3182ce;border-radius:3px}.pair-badge[data-v-0492100a]{position:absolute;top:2px;left:2px;font-size:8px;font-weight:600;text-transform:uppercase;padding:1px 4px;background:#faf5ff;color:#805ad5;border-radius:3px}.instructions[data-v-0492100a]{padding:8px 12px;background:#f0fff4;color:#276749;font-size:11px;text-align:center;border-top:1px solid #c6f6d5}.opening-catalog[data-v-8d775df3]{display:flex;flex-direction:column;background:#fff;border-radius:6px;border:1px solid #e2e8f0;overflow:hidden}.catalog-header[data-v-8d775df3]{padding:8px 12px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.title[data-v-8d775df3]{font-weight:600;font-size:13px;color:#2d3748}.category-tabs[data-v-8d775df3]{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid #e2e8f0}.category-tab[data-v-8d775df3]{padding:4px 8px;font-size:11px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .15s ease}.category-tab[data-v-8d775df3]:hover{background:#edf2f7}.category-tab.active[data-v-8d775df3]{background:#3182ce;border-color:#2b6cb0;color:#fff}.items-grid[data-v-8d775df3]{overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.item-card[data-v-8d775df3]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s ease}.item-card[data-v-8d775df3]:hover{border-color:#cbd5e0;background:#f7fafc}.item-card.selected[data-v-8d775df3]{border-color:#3182ce;background:#ebf8ff}.item-icon[data-v-8d775df3]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#4a5568}.item-icon svg[data-v-8d775df3]{width:32px;height:32px}.item-name[data-v-8d775df3]{font-size:10px;text-align:center;color:#4a5568;line-height:1.2}.instructions[data-v-8d775df3]{padding:8px 12px;background:#ebf8ff;color:#2b6cb0;font-size:11px;text-align:center;border-top:1px solid #bee3f8}.modal-overlay[data-v-b156859e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal[data-v-b156859e]{background:#fff;border-radius:12px;padding:32px;width:420px;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative}.close-btn[data-v-b156859e]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#718096;cursor:pointer;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.close-btn[data-v-b156859e]:hover{color:#2d3748;background:#f7fafc}.modal-title[data-v-b156859e]{margin:0 0 24px;font-size:24px;font-weight:600;color:#2d3748;text-align:center}.auth-form[data-v-b156859e]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-b156859e]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-b156859e]{font-size:14px;font-weight:500;color:#4a5568}.form-group input[data-v-b156859e]{padding:10px 14px;font-size:14px;border:1px solid #e2e8f0;border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input[data-v-b156859e]:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce26}.form-group input.input-error[data-v-b156859e]{border-color:#e53e3e}.form-group input.input-error[data-v-b156859e]:focus{box-shadow:0 0 0 3px #e53e3e26}.password-input-wrapper[data-v-b156859e]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-b156859e]{padding-right:44px}.password-toggle[data-v-b156859e]{position:absolute;right:8px;background:none;border:none;padding:6px;cursor:pointer;color:#718096;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s ease}.password-toggle[data-v-b156859e]:hover{color:#4a5568}.password-toggle svg[data-v-b156859e]{width:18px;height:18px}.password-strength[data-v-b156859e]{display:flex;align-items:center;gap:10px;margin-top:4px}.strength-bar[data-v-b156859e]{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.strength-fill[data-v-b156859e]{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.strength-label[data-v-b156859e]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;min-width:70px;text-align:right}.password-requirements[data-v-b156859e]{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:12px;background:#f7fafc;border-radius:8px}.requirement[data-v-b156859e]{display:flex;align-items:center;gap:8px;font-size:12px;color:#718096;transition:color .15s ease}.requirement svg[data-v-b156859e]{width:14px;height:14px;flex-shrink:0}.requirement.met[data-v-b156859e]{color:#22c55e}.requirement.optional[data-v-b156859e]{opacity:.7}.requirement.optional.met[data-v-b156859e]{opacity:1}.field-error[data-v-b156859e]{font-size:12px;color:#e53e3e;margin-top:4px}.field-success[data-v-b156859e]{display:flex;align-items:center;gap:6px;font-size:12px;color:#22c55e;margin-top:4px}.field-success svg[data-v-b156859e]{width:14px;height:14px}.error-message[data-v-b156859e]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;font-size:14px}.error-message svg[data-v-b156859e]{width:18px;height:18px;flex-shrink:0;margin-top:1px}.submit-btn[data-v-b156859e]{padding:12px;font-size:16px;font-weight:500;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.submit-btn[data-v-b156859e]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666}.submit-btn[data-v-b156859e]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-b156859e]{width:18px;height:18px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin-b156859e .8s linear infinite}@keyframes spin-b156859e{to{transform:rotate(360deg)}}.mode-switcher[data-v-b156859e]{margin-top:20px;text-align:center;font-size:14px;color:#718096}.mode-switcher p[data-v-b156859e]{margin:0}.link-btn[data-v-b156859e]{background:none;border:none;color:#3182ce;cursor:pointer;font-size:inherit;padding:0;font-weight:500}.link-btn[data-v-b156859e]:hover{text-decoration:underline}.forgot-link[data-v-b156859e]{display:block;margin-top:8px}.modal-overlay[data-v-0b69685e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.reset-modal[data-v-0b69685e]{background:#fff;border-radius:12px;padding:32px;width:420px;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative}.close-btn[data-v-0b69685e]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#718096;cursor:pointer;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.close-btn[data-v-0b69685e]:hover{color:#2d3748;background:#f7fafc}.success-state[data-v-0b69685e]{text-align:center;padding:20px 0}.success-icon[data-v-0b69685e]{width:72px;height:72px;margin:0 auto 20px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.success-icon svg[data-v-0b69685e]{width:36px;height:36px}.success-state h2[data-v-0b69685e]{margin:0 0 12px;font-size:24px;font-weight:600;color:#1e293b}.success-state p[data-v-0b69685e]{margin:0 0 24px;font-size:14px;color:#64748b;line-height:1.5}.modal-header[data-v-0b69685e]{text-align:center;margin-bottom:24px}.header-icon[data-v-0b69685e]{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.header-icon svg[data-v-0b69685e]{width:28px;height:28px}.modal-header h2[data-v-0b69685e]{margin:0 0 8px;font-size:24px;font-weight:600;color:#1e293b}.header-subtitle[data-v-0b69685e]{margin:0;font-size:14px;color:#64748b}.reset-form[data-v-0b69685e]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-0b69685e]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-0b69685e]{font-size:14px;font-weight:500;color:#4a5568}.form-group input[data-v-0b69685e]{padding:10px 14px;font-size:14px;border:1px solid #e2e8f0;border-radius:6px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input[data-v-0b69685e]:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce26}.form-group input.input-error[data-v-0b69685e]{border-color:#e53e3e}.form-group input.input-error[data-v-0b69685e]:focus{box-shadow:0 0 0 3px #e53e3e26}.password-input-wrapper[data-v-0b69685e]{position:relative;display:flex;align-items:center}.password-input-wrapper input[data-v-0b69685e]{padding-right:44px}.password-toggle[data-v-0b69685e]{position:absolute;right:8px;background:none;border:none;padding:6px;cursor:pointer;color:#718096;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s ease}.password-toggle[data-v-0b69685e]:hover{color:#4a5568}.password-toggle svg[data-v-0b69685e]{width:18px;height:18px}.password-strength[data-v-0b69685e]{display:flex;align-items:center;gap:10px;margin-top:4px}.strength-bar[data-v-0b69685e]{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.strength-fill[data-v-0b69685e]{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.strength-label[data-v-0b69685e]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;min-width:70px;text-align:right}.password-requirements[data-v-0b69685e]{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:12px;background:#f7fafc;border-radius:8px}.requirement[data-v-0b69685e]{display:flex;align-items:center;gap:8px;font-size:12px;color:#718096;transition:color .15s ease}.requirement svg[data-v-0b69685e]{width:14px;height:14px;flex-shrink:0}.requirement.met[data-v-0b69685e]{color:#22c55e}.requirement.optional[data-v-0b69685e]{opacity:.7}.requirement.optional.met[data-v-0b69685e]{opacity:1}.field-error[data-v-0b69685e]{font-size:12px;color:#e53e3e;margin-top:4px}.field-success[data-v-0b69685e]{display:flex;align-items:center;gap:6px;font-size:12px;color:#22c55e;margin-top:4px}.field-success svg[data-v-0b69685e]{width:14px;height:14px}.error-message[data-v-0b69685e]{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;font-size:14px}.error-message svg[data-v-0b69685e]{width:18px;height:18px;flex-shrink:0;margin-top:1px}.submit-btn[data-v-0b69685e]{padding:12px;font-size:16px;font-weight:500;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.submit-btn[data-v-0b69685e]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666}.submit-btn[data-v-0b69685e]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-0b69685e]{width:18px;height:18px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin-0b69685e .8s linear infinite}@keyframes spin-0b69685e{to{transform:rotate(360deg)}}.modal-overlay[data-v-7d22d61a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.browser-modal[data-v-7d22d61a]{background:#fff;border-radius:12px;width:600px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;position:relative}.modal-header[data-v-7d22d61a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2[data-v-7d22d61a]{margin:0;font-size:20px;font-weight:600;color:#2d3748}.close-btn[data-v-7d22d61a]{background:none;border:none;font-size:24px;color:#718096;cursor:pointer}.modal-content[data-v-7d22d61a]{flex:1;overflow-y:auto;padding:16px;min-height:300px}.loading-state[data-v-7d22d61a],.empty-state[data-v-7d22d61a]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:250px;color:#718096}.spinner-large[data-v-7d22d61a]{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;animation:spin-7d22d61a .8s linear infinite;margin-bottom:16px}@keyframes spin-7d22d61a{to{transform:rotate(360deg)}}.empty-icon[data-v-7d22d61a]{font-size:48px;margin-bottom:12px}.empty-state .hint[data-v-7d22d61a]{font-size:13px;color:#a0aec0}.buildings-list[data-v-7d22d61a]{display:flex;flex-direction:column;gap:8px}.building-item[data-v-7d22d61a]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f7fafc;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s}.building-item[data-v-7d22d61a]:hover{background:#edf2f7}.building-item.selected[data-v-7d22d61a]{border-color:#3182ce;background:#ebf8ff}.building-info[data-v-7d22d61a]{flex:1}.building-name[data-v-7d22d61a]{font-weight:500;color:#2d3748;margin-bottom:4px}.building-meta[data-v-7d22d61a]{font-size:12px;color:#718096}.delete-item-btn[data-v-7d22d61a]{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;opacity:.5;transition:opacity .15s}.delete-item-btn[data-v-7d22d61a]:hover{opacity:1}.modal-footer[data-v-7d22d61a]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e2e8f0}.btn[data-v-7d22d61a]{padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.btn-secondary[data-v-7d22d61a]{background:#edf2f7;color:#4a5568}.btn-secondary[data-v-7d22d61a]:hover{background:#e2e8f0}.btn-primary[data-v-7d22d61a]{background:#3182ce;color:#fff}.btn-primary[data-v-7d22d61a]:hover:not(:disabled){background:#2b6cb0}.btn-primary[data-v-7d22d61a]:disabled{opacity:.5;cursor:not-allowed}.btn-danger[data-v-7d22d61a]{background:#e53e3e;color:#fff}.btn-danger[data-v-7d22d61a]:hover{background:#c53030}.delete-confirm-overlay[data-v-7d22d61a]{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;border-radius:12px}.delete-confirm[data-v-7d22d61a]{background:#fff;padding:28px 32px;border-radius:12px;text-align:center;box-shadow:0 10px 40px #0003;max-width:340px}.delete-icon[data-v-7d22d61a]{width:48px;height:48px;margin:0 auto 16px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dc2626}.delete-icon svg[data-v-7d22d61a]{width:24px;height:24px}.delete-confirm h3[data-v-7d22d61a]{margin:0 0 8px;font-size:18px;font-weight:600;color:#1f2937}.delete-confirm p[data-v-7d22d61a]{margin:0 0 20px;font-size:14px;color:#6b7280;line-height:1.5}.delete-confirm-buttons[data-v-7d22d61a]{display:flex;gap:12px;justify-content:center}.modal-overlay[data-v-09f28c48]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.changelog-panel[data-v-09f28c48]{background:#1e293b;border:1px solid #334155;border-radius:16px;width:90%;max-width:540px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006;overflow:hidden}.changelog-header[data-v-09f28c48]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(180deg,#334155,#1e293b);border-bottom:1px solid #334155}.changelog-header h2[data-v-09f28c48]{margin:0;font-size:16px;font-weight:600;color:#fff}.close-btn[data-v-09f28c48]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:8px;color:#94a3b8;font-size:20px;cursor:pointer;transition:all .15s ease;line-height:1}.close-btn[data-v-09f28c48]:hover{background:#fff3;color:#fff}.changelog-body[data-v-09f28c48]{overflow-y:auto;padding:16px 24px 24px}.changelog-entry[data-v-09f28c48]{padding:16px 0;border-bottom:1px solid #334155}.changelog-entry[data-v-09f28c48]:last-child{border-bottom:none}.entry-header[data-v-09f28c48]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.build-badge[data-v-09f28c48]{display:inline-block;padding:3px 10px;background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3);border-radius:12px;font-size:12px;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.entry-date[data-v-09f28c48]{font-size:12px;color:#64748b}.entry-changes[data-v-09f28c48]{margin:0;padding-left:20px;list-style:disc}.entry-changes li[data-v-09f28c48]{font-size:13px;color:#cbd5e1;line-height:1.6}.modal-enter-active[data-v-09f28c48],.modal-leave-active[data-v-09f28c48]{transition:opacity .2s ease}.modal-enter-active .changelog-panel[data-v-09f28c48],.modal-leave-active .changelog-panel[data-v-09f28c48]{transition:transform .2s ease}.modal-enter-from[data-v-09f28c48],.modal-leave-to[data-v-09f28c48]{opacity:0}.modal-enter-from .changelog-panel[data-v-09f28c48],.modal-leave-to .changelog-panel[data-v-09f28c48]{transform:scale(.95) translateY(10px)}.changelog-body[data-v-09f28c48]::-webkit-scrollbar{width:6px}.changelog-body[data-v-09f28c48]::-webkit-scrollbar-track{background:transparent}.changelog-body[data-v-09f28c48]::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.changelog-body[data-v-09f28c48]::-webkit-scrollbar-thumb:hover{background:#64748b}@media (prefers-reduced-motion: reduce){.modal-enter-active[data-v-09f28c48],.modal-leave-active[data-v-09f28c48],.modal-enter-active .changelog-panel[data-v-09f28c48],.modal-leave-active .changelog-panel[data-v-09f28c48]{transition:none}}.main-layout[data-v-f799f39b]{display:flex;flex-direction:column;height:100vh;background:#f0f4f8}.top-bar[data-v-f799f39b]{display:flex;justify-content:space-between;align-items:center;padding:0 16px;height:52px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#fff;box-shadow:0 2px 8px #00000026;-webkit-user-select:none;user-select:none}.app-branding[data-v-f799f39b]{display:flex;align-items:center;gap:12px}.app-icon[data-v-f799f39b]{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.app-icon svg[data-v-f799f39b]{width:32px;height:32px;border-radius:6px}.app-title[data-v-f799f39b]{display:flex;flex-direction:column;gap:0}.logo[data-v-f799f39b]{font-size:16px;font-weight:700;letter-spacing:-.3px;line-height:1.2}.subtitle[data-v-f799f39b]{font-size:10px;color:#64748b;font-weight:500;letter-spacing:.02em}.top-bar-actions[data-v-f799f39b]{display:flex;align-items:center;gap:6px}.toolbar-group[data-v-f799f39b]{display:flex;align-items:center;gap:2px;padding:4px;background:#ffffff0d;border-radius:8px}.toolbar-divider[data-v-f799f39b]{width:1px;height:28px;background:linear-gradient(180deg,transparent,#475569,transparent);margin:0 6px}.toolbar-btn[data-v-f799f39b]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;color:#94a3b8;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease;font-size:12px;font-weight:500;white-space:nowrap}.toolbar-btn svg[data-v-f799f39b]{width:16px;height:16px;flex-shrink:0}.toolbar-btn[data-v-f799f39b]:hover{background:#ffffff1a;color:#fff;border-color:#ffffff1a}.toolbar-btn[data-v-f799f39b]:active{background:#ffffff26;transform:scale(.98)}.toolbar-btn.active[data-v-f799f39b]{background:#3b82f633;color:#60a5fa;border-color:#3b82f64d}.toolbar-btn[data-v-f799f39b]:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn[data-v-f799f39b]:disabled:hover{background:transparent;color:#94a3b8}.btn-label[data-v-f799f39b]{font-size:12px}.btn-spinner[data-v-f799f39b]{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin-f799f39b .8s linear infinite}@keyframes spin-f799f39b{to{transform:rotate(360deg)}}.save-btn.saved[data-v-f799f39b]{color:#4ade80}.save-btn.saving[data-v-f799f39b]{color:#fbbf24}.sync-status[data-v-f799f39b]{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:10px;font-weight:500;color:#94a3b8}.sync-dot[data-v-f799f39b]{width:6px;height:6px;border-radius:50%;background:#64748b}.sync-status.saved .sync-dot[data-v-f799f39b]{background:#4ade80;box-shadow:0 0 8px #4ade8080}.sync-status.saving .sync-dot[data-v-f799f39b]{background:#fbbf24;animation:pulse-f799f39b 1s ease-in-out infinite}.sync-status.error .sync-dot[data-v-f799f39b]{background:#f87171}@keyframes pulse-f799f39b{0%,to{opacity:1}50%{opacity:.4}}.sync-text[data-v-f799f39b]{text-transform:uppercase;letter-spacing:.05em}.user-section[data-v-f799f39b]{gap:8px}.user-info[data-v-f799f39b]{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;background:#ffffff0d;border-radius:20px}.user-avatar[data-v-f799f39b]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;font-size:12px;font-weight:600;color:#fff}.user-name[data-v-f799f39b]{font-size:12px;font-weight:500;color:#e2e8f0;max-width:100px;overflow:hidden;text-overflow:ellipsis}.logout-btn[data-v-f799f39b]{padding:6px;color:#94a3b8}.logout-btn[data-v-f799f39b]:hover{color:#f87171;background:#f871711a}.login-btn[data-v-f799f39b]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;padding:6px 12px}.login-btn[data-v-f799f39b]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f666}.toolbar-btn[data-v-f799f39b]:focus{outline:none}.toolbar-btn[data-v-f799f39b]:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){.toolbar-btn[data-v-f799f39b]{transition:none}.sync-dot[data-v-f799f39b]{animation:none}}.content-area[data-v-f799f39b]{display:flex;flex:1;overflow:hidden}.left-sidebar[data-v-f799f39b]{flex-shrink:0}.main-content[data-v-f799f39b]{flex:1;display:flex;overflow:hidden;padding:4px}.view-container[data-v-f799f39b]{flex:1;display:flex;flex-direction:column;gap:4px}.view-toggle[data-v-f799f39b]{display:flex;gap:2px;background:#e2e8f0;padding:3px;border-radius:6px;align-self:flex-start}.view-btn[data-v-f799f39b]{padding:6px 16px;font-size:13px;font-weight:500;background:transparent;color:#4a5568;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.view-btn[data-v-f799f39b]:hover{background:#cbd5e0}.view-btn.active[data-v-f799f39b]{background:#fff;color:#2d3748;box-shadow:0 1px 2px #0000001a}.view-pane[data-v-f799f39b]{flex:1;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.right-sidebar[data-v-f799f39b]{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:#edf2f7;overflow-y:auto}.notification-overlay[data-v-f799f39b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100}.notification-modal[data-v-f799f39b]{background:#fff;border-radius:12px;padding:32px 40px;text-align:center;box-shadow:0 20px 60px #0003;max-width:400px;width:90%}.notification-icon[data-v-f799f39b]{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-modal.success .notification-icon[data-v-f799f39b]{background:#c6f6d5;color:#22543d}.notification-modal.error .notification-icon[data-v-f799f39b]{background:#fed7d7;color:#822727}.notification-icon svg[data-v-f799f39b]{width:32px;height:32px}.notification-message[data-v-f799f39b]{font-size:16px;color:#2d3748;margin:0 0 24px;line-height:1.5}.notification-close[data-v-f799f39b]{padding:10px 32px;font-size:14px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.notification-modal.success .notification-close[data-v-f799f39b]{background:#38a169;color:#fff}.notification-modal.success .notification-close[data-v-f799f39b]:hover{background:#2f855a}.notification-modal.error .notification-close[data-v-f799f39b]{background:#e53e3e;color:#fff}.notification-modal.error .notification-close[data-v-f799f39b]:hover{background:#c53030}.notification-enter-active[data-v-f799f39b],.notification-leave-active[data-v-f799f39b]{transition:opacity .2s ease}.notification-enter-active .notification-modal[data-v-f799f39b],.notification-leave-active .notification-modal[data-v-f799f39b]{transition:transform .2s ease}.notification-enter-from[data-v-f799f39b],.notification-leave-to[data-v-f799f39b]{opacity:0}.notification-enter-from .notification-modal[data-v-f799f39b],.notification-leave-to .notification-modal[data-v-f799f39b]{transform:scale(.9)}.copyright[data-v-f799f39b]{position:fixed;bottom:8px;right:12px;font-size:10px;color:#a0aec0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}@media (max-width: 767px){.copyright[data-v-f799f39b]{bottom:80px;right:8px}}:root,[data-theme=default]{--color-bg-primary: #F2EDF7;--color-bg-secondary: #E8E1EE;--color-bg-tertiary: #DED5E6;--color-bg-surface: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-primary: #2F243A;--color-primary-light: #4A3D57;--color-primary-lighter: #655674;--color-primary-dark: #1F1728;--color-primary-fg: #FFFFFF;--color-accent: #E07A3F;--color-accent-light: #E8925F;--color-accent-lighter: #F0AA7F;--color-accent-dark: #C86A2F;--color-accent-fg: #FFFFFF;--color-secondary: #C56A2A;--color-secondary-light: #D4814A;--color-secondary-lighter: #E3986A;--color-secondary-dark: #A55A1A;--color-secondary-fg: #FFFFFF;--color-warning: #F4B860;--color-warning-light: #F6C880;--color-warning-lighter: #F8D8A0;--color-warning-dark: #E0A040;--color-warning-fg: #2F243A;--color-success: #4CAF50;--color-success-light: #6EC071;--color-success-dark: #3D8B40;--color-success-fg: #FFFFFF;--color-error: #D32F2F;--color-error-light: #E57373;--color-error-dark: #B71C1C;--color-error-fg: #FFFFFF;--color-text-primary: #2F243A;--color-text-secondary: #655674;--color-text-tertiary: #8A7A96;--color-text-muted: #A99AB5;--color-text-inverse: #FFFFFF;--color-border: #DED5E6;--color-border-light: #E8E1EE;--color-border-dark: #C4B8D0;--shadow-sm: 0 1px 2px rgba(47, 36, 58, .08);--shadow-md: 0 4px 8px rgba(47, 36, 58, .12);--shadow-lg: 0 8px 24px rgba(47, 36, 58, .16);--shadow-xl: 0 16px 48px rgba(47, 36, 58, .2);--color-focus-ring: rgba(224, 122, 63, .4);--color-grid: #DED5E6;--color-grid-major: #C4B8D0;--color-snap-indicator: #E07A3F;--color-wall-outer: #2F243A;--color-wall-inner: #655674;--color-wall-selected: #E07A3F;--color-floor: #F2EDF7;--color-measurement: #C56A2A}[data-theme=classic]{--color-bg-primary: #f0f4f8;--color-bg-secondary: #e2e8f0;--color-bg-tertiary: #cbd5e0;--color-bg-surface: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-primary: #2d3748;--color-primary-light: #4a5568;--color-primary-lighter: #718096;--color-primary-dark: #1a202c;--color-primary-fg: #FFFFFF;--color-accent: #3182ce;--color-accent-light: #4299e1;--color-accent-lighter: #63b3ed;--color-accent-dark: #2b6cb0;--color-accent-fg: #FFFFFF;--color-secondary: #38a169;--color-secondary-light: #48bb78;--color-secondary-lighter: #68d391;--color-secondary-dark: #2f855a;--color-secondary-fg: #FFFFFF;--color-warning: #ecc94b;--color-warning-light: #f6e05e;--color-warning-lighter: #faf089;--color-warning-dark: #d69e2e;--color-warning-fg: #2d3748;--color-success: #48bb78;--color-success-light: #68d391;--color-success-dark: #38a169;--color-success-fg: #FFFFFF;--color-error: #e53e3e;--color-error-light: #fc8181;--color-error-dark: #c53030;--color-error-fg: #FFFFFF;--color-text-primary: #2d3748;--color-text-secondary: #4a5568;--color-text-tertiary: #718096;--color-text-muted: #a0aec0;--color-text-inverse: #FFFFFF;--color-border: #e2e8f0;--color-border-light: #edf2f7;--color-border-dark: #cbd5e0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--color-focus-ring: rgba(49, 130, 206, .4);--color-grid: #e2e8f0;--color-grid-major: #cbd5e0;--color-snap-indicator: #3182ce;--color-wall-outer: #2d3748;--color-wall-inner: #718096;--color-wall-selected: #3182ce;--color-floor: #f7fafc;--color-measurement: #38a169}[data-theme=dark]{--color-bg-primary: #1a1625;--color-bg-secondary: #251f30;--color-bg-tertiary: #30283b;--color-bg-surface: #2a2235;--color-bg-elevated: #352c40;--color-primary: #E8E1EE;--color-primary-light: #F2EDF7;--color-primary-lighter: #FFFFFF;--color-primary-dark: #DED5E6;--color-primary-fg: #1a1625;--color-accent: #E8925F;--color-accent-light: #F0AA7F;--color-accent-lighter: #F8C29F;--color-accent-dark: #E07A3F;--color-accent-fg: #1a1625;--color-secondary: #D4814A;--color-secondary-light: #E3986A;--color-secondary-lighter: #F2AF8A;--color-secondary-dark: #C56A2A;--color-secondary-fg: #1a1625;--color-warning: #F4B860;--color-warning-light: #F6C880;--color-warning-lighter: #F8D8A0;--color-warning-dark: #E0A040;--color-warning-fg: #1a1625;--color-success: #6EC071;--color-success-light: #8ED091;--color-success-dark: #4CAF50;--color-success-fg: #1a1625;--color-error: #E57373;--color-error-light: #EF9A9A;--color-error-dark: #D32F2F;--color-error-fg: #1a1625;--color-text-primary: #F2EDF7;--color-text-secondary: #DED5E6;--color-text-tertiary: #A99AB5;--color-text-muted: #8A7A96;--color-text-inverse: #1a1625;--color-border: #3d3348;--color-border-light: #4a3f55;--color-border-dark: #302838;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--color-focus-ring: rgba(232, 146, 95, .5);--color-grid: #302838;--color-grid-major: #3d3348;--color-snap-indicator: #E8925F;--color-wall-outer: #E8E1EE;--color-wall-inner: #A99AB5;--color-wall-selected: #E8925F;--color-floor: #251f30;--color-measurement: #D4814A}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary)}body{overflow:hidden}
