.navbar[data-v-01895cd6]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background:var(--bg-panel);color:var(--text-primary);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-subtle)}.brand[data-v-01895cd6]{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem}.links[data-v-01895cd6]{display:flex;gap:1.5rem}.auth[data-v-01895cd6]{display:flex;align-items:center;gap:.6rem}.user-email[data-v-01895cd6]{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;color:var(--text-secondary)}.auth-btn[data-v-01895cd6]{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:.35rem .6rem;cursor:pointer;font-size:.8rem}.auth-btn[data-v-01895cd6]:hover{background:var(--bg-hover)}.nav-link[data-v-01895cd6]{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s}.nav-link[data-v-01895cd6]:hover{color:var(--text-primary)}.nav-link.active[data-v-01895cd6]{color:var(--accent-primary);border-bottom:2px solid var(--accent-primary)}.app-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}:root{--bg-app: #f8fafc;--bg-panel: #ffffff;--bg-input: #f1f5f9;--border-subtle: #e2e8f0;--border-focus: #94a3b8;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverted: #ffffff;--accent-primary: #0ea5e9;--accent-hover: #0284c7;--accent-subtle: #e0f2fe;--status-error: #ef4444;--status-success: #10b981;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-app);color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;background:var(--bg-app)}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.hero{display:flex;flex-direction:column;gap:.35rem}.hero h1{margin:0;font-size:2.4rem;color:var(--text-primary)}.hero .subtitle{margin:0;color:var(--text-secondary)}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.75rem;color:var(--accent-primary);margin:0}.workspace{display:grid;grid-template-columns:1fr 1.2fr;gap:1.25rem}.workspace--single{grid-template-columns:1fr}.input-card,.view-card{border-radius:1.25rem;background:var(--bg-panel);border:1px solid var(--border-subtle);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}.view-card--offscreen{position:absolute;left:-10000px;top:0;width:900px;height:600px;padding:1rem}.input-card__header,.view-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.header-actions{display:inline-flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.input-card__header h2,.view-card__header h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.input-card__header p,.view-card__hint{margin:0;color:var(--text-secondary);font-size:.9rem}textarea{width:100%;min-height:220px;border-radius:.9rem;border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);font-family:JetBrains Mono,Source Code Pro,monospace;font-size:.95rem;padding:1rem;resize:vertical;transition:border-color .2s}textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-panel)}.input-actions{display:flex;flex-wrap:wrap;gap:.75rem}.upload-button{position:relative;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s}.upload-button:hover{background:var(--bg-input);border-color:var(--border-focus)}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.ghost{padding:.5rem 1.2rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.9rem}.ghost:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-input)}.ghost:not(:disabled):hover{background:var(--bg-input);border-color:var(--border-focus)}.helper{margin:0;font-size:.85rem;color:var(--text-secondary)}.status{margin:0;font-size:.9rem;color:var(--accent-primary)}.error{margin:0;font-size:.9rem;color:var(--status-error)}.view-card__canvas{position:relative;border-radius:1rem;overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-app);flex:1;min-height:0}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text-muted);text-align:center;padding:1rem;pointer-events:none}.summary{display:flex;gap:1.25rem;font-size:.9rem;color:var(--text-secondary)}.summary span{display:inline-flex;gap:.35rem;align-items:center}.summary span:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--accent-primary)}.manual-editor{border:1px solid var(--border-subtle);border-radius:.9rem;padding:1rem;background:var(--bg-panel);margin-top:1rem;box-shadow:var(--shadow-sm)}.editor{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.layer-panel{border:1px solid var(--border-subtle);border-radius:.75rem;padding:.75rem;background:var(--bg-input);display:flex;flex-direction:column;gap:.5rem}.layer-panel__header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-secondary)}.layer-panel summary{list-style:none;cursor:pointer}.layer-panel summary::-webkit-details-marker{display:none}.layer-panel summary:before{content:"▸";margin-right:.5rem;color:var(--text-muted);transition:transform .2s ease}.layer-panel[open] summary:before{transform:rotate(90deg)}.layer-panel__add{display:grid;grid-template-columns:1fr repeat(2,110px) auto;gap:.5rem;align-items:center}.layer-number{width:100%;border-radius:.5rem;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);padding:.25rem .5rem;font-size:.85rem}.length-prompt{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:.6rem;border:1px solid var(--border-subtle);background:var(--bg-input);font-size:.85rem}.length-prompt label{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.length-prompt input{width:6rem;border-radius:.5rem;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);padding:.25rem .5rem}.length-hint{color:var(--text-muted)}.layer-panel__rows{display:flex;flex-direction:column;gap:.4rem}.layer-row{display:grid;grid-template-columns:auto 1fr repeat(2,110px) repeat(3,auto);gap:.5rem;align-items:center}.layer-row input[type=color]{width:32px;height:28px;border:none;background:transparent;padding:0;cursor:pointer}.layer-name{border-radius:.5rem;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);padding:.25rem .5rem;font-size:.85rem}.editor:fullscreen{background:var(--bg-app);padding:1.25rem;gap:1rem}.editor-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.editor-controls label{font-size:.85rem;color:var(--text-secondary);display:flex;gap:.35rem;align-items:center}.editor-controls select{border-radius:.6rem;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);padding:.35rem .65rem}.editor-meta{font-size:.8rem;color:var(--text-muted);display:flex;justify-content:space-between}.editor-canvas{flex:1;width:100%;min-height:400px;border-radius:.8rem;border:1px solid var(--border-subtle);background:var(--bg-app);cursor:crosshair;user-select:none;-webkit-user-select:none}.editor:fullscreen .editor-canvas{height:auto;min-height:0}@media (max-width: 980px){.workspace{grid-template-columns:1fr}.input-card__header,.view-card__header{flex-direction:column;align-items:flex-start}}.node-row[data-v-a6c1f26d]{display:flex;align-items:center;gap:4px;padding:3px 6px;cursor:pointer;border-radius:4px;font-size:.82rem;-webkit-user-select:none;user-select:none;transition:background .15s;white-space:nowrap}.node-row[data-v-a6c1f26d]:hover{background:#ffffff0f}.node-row.selected[data-v-a6c1f26d]{background:#38bdf826;outline:1px solid rgba(56,189,248,.4)}.expand-btn[data-v-a6c1f26d]{width:14px;text-align:center;font-size:.7rem;flex-shrink:0;cursor:pointer;color:var(--text-secondary, #888)}.expand-spacer[data-v-a6c1f26d]{width:14px;flex-shrink:0}input[type=checkbox][data-v-a6c1f26d]{width:14px;height:14px;flex-shrink:0;accent-color:#38bdf8;cursor:pointer}.type-icon[data-v-a6c1f26d]{font-size:.85rem;flex-shrink:0}.node-name[data-v-a6c1f26d]{overflow:hidden;text-overflow:ellipsis;color:var(--text-primary, #e2e8f0)}.ifc-canvas-area[data-v-334c877d],.ifc-canvas-area canvas[data-v-334c877d],.ifc-3d-toolbar[data-v-334c877d],.ifc-sidebar__resize-handle[data-v-334c877d],.ifc-3d-toolbar__resize-handle[data-v-334c877d]{user-select:none;-webkit-user-select:none}.ifc-viewer-panel[data-v-334c877d]{display:flex;flex-direction:column;background:var(--bg-panel, #0f172a);border:1px solid var(--border-subtle, #334155);border-radius:1.25rem;overflow:hidden;min-height:0;height:100%;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.2))}.ifc-topbar[data-v-334c877d]{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle, #334155);background:var(--bg-panel, #0f172a)}.ifc-topbar h2[data-v-334c877d]{margin:0;font-size:1.1rem;color:var(--text-primary, #e2e8f0)}.ifc-topbar-actions[data-v-334c877d]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ifc-btn[data-v-334c877d]{padding:.4rem .9rem;border:1px solid var(--border-subtle, #475569);border-radius:6px;background:transparent;color:var(--text-secondary, #94a3b8);font-size:.85rem;cursor:pointer;transition:all .2s}.ifc-btn.primary[data-v-334c877d]{background:#38bdf81f;border-color:#38bdf84d;color:#38bdf8}.ifc-btn.primary[data-v-334c877d]:hover:not(:disabled){background:#38bdf840;border-color:#38bdf8}.ifc-btn[data-v-334c877d]:disabled{opacity:.4;cursor:not-allowed}.ifc-status[data-v-334c877d]{font-size:.8rem;color:var(--text-secondary, #94a3b8);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-total-volume[data-v-334c877d]{font-size:.85rem;color:var(--text-primary, #e2e8f0);white-space:nowrap}.canonical-toolbar[data-v-334c877d]{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.55rem 1rem;border-bottom:1px solid var(--border-subtle, #334155);background:#101a2a}.canonical-pill[data-v-334c877d]{font-size:.75rem;line-height:1;padding:.35rem .5rem;border:1px solid #334155;border-radius:999px;color:#cbd5e1;background:#02061759}.canonical-debug[data-v-334c877d]{display:flex;flex-wrap:wrap;gap:.7rem;padding:.4rem 1rem;border-bottom:1px dashed #334155;background:#0e1828;color:#94a3b8;font-size:.75rem}.ifc-body[data-v-334c877d]{display:flex;flex:1;min-height:0}.ifc-roof-menu[data-v-334c877d]{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem;padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle, #334155);background:color-mix(in srgb,var(--bg-panel, #0f172a) 88%,#111827)}.roof-row[data-v-334c877d]{display:flex;align-items:center;flex-wrap:wrap;gap:.28rem}.roof-label[data-v-334c877d]{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:#9fb5cf;text-transform:uppercase;margin-right:.15rem}.roof-input[data-v-334c877d]{width:5.2rem;min-height:30px;border-radius:.55rem;border:1px solid color-mix(in srgb,var(--border-subtle, #334155) 88%,transparent);background:#fff;color:#111;font-size:.74rem;font-weight:600;padding:.22rem .45rem}.roof-input[data-v-334c877d]::placeholder{color:#222}.roof-input[data-v-334c877d]:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf859;color:#111}.roof-unit[data-v-334c877d]{font-size:.7rem;font-weight:700;color:#9fb5cf;text-transform:uppercase}.roof-types[data-v-334c877d]{display:flex;flex-wrap:wrap;gap:.3rem}.roof-chip[data-v-334c877d]{border:1px solid color-mix(in srgb,var(--border-subtle, #334155) 90%,transparent);background:color-mix(in srgb,var(--bg-app, #111827) 82%,transparent);color:var(--text-secondary, #94a3b8);border-radius:999px;padding:.33rem .62rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s ease}.roof-chip[data-v-334c877d]:hover{color:var(--text-primary, #e2e8f0);border-color:color-mix(in srgb,var(--accent-primary, #38bdf8) 38%,var(--border-subtle, #334155))}.roof-chip.active[data-v-334c877d]{color:#fff;border-color:#7dd3fc;background:#0ea5e9;text-shadow:0 1px 2px rgba(0,0,0,.35)}.roof-chip.type.active[data-v-334c877d]{color:#fff;border-color:#7dd3fc;background:linear-gradient(180deg,#38bdf8,#0284c7)}.ifc-sidebar[data-v-334c877d]{width:clamp(160px,var(--ifc-sidebar-width, 280px),80vw);display:flex;flex-direction:column;border-right:1px solid var(--border-subtle, #334155);background:var(--bg-panel, #0f172a);overflow:hidden;position:relative}.ifc-sidebar__resize-handle[data-v-334c877d]{position:absolute;top:0;right:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;background:linear-gradient(to right,transparent,rgba(148,163,184,.12));z-index:2}.ifc-sidebar__resize-handle[data-v-334c877d]:hover{background:linear-gradient(to right,transparent,rgba(56,189,248,.18))}.ifc-tree-section[data-v-334c877d]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ifc-tree-scroll[data-v-334c877d]{flex:1;overflow-y:auto;overflow-x:hidden;padding:.25rem .5rem}.ifc-section-title[data-v-334c877d]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);padding:.5rem .75rem .25rem;font-weight:600}.ifc-empty-tree[data-v-334c877d]{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;text-align:center}.ifc-empty-tree p[data-v-334c877d]{color:var(--text-secondary, #64748b);font-size:.85rem;line-height:1.5}.ifc-props-section[data-v-334c877d]{max-height:200px;border-top:1px solid var(--border-subtle, #334155);overflow-y:auto;padding-bottom:.5rem}.ifc-props-grid[data-v-334c877d]{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding:.25rem .75rem;font-size:.78rem}.prop-key[data-v-334c877d]{color:var(--text-secondary, #64748b);font-weight:500;white-space:nowrap}.prop-val[data-v-334c877d]{color:var(--text-primary, #e2e8f0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ifc-canvas-area[data-v-334c877d]{flex:1;position:relative;min-height:0;background:#1e293b}.ifc-canvas-placeholder[data-v-334c877d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #475569);font-style:italic;font-size:.9rem}.ifc-3d-toolbar[data-v-334c877d]{position:absolute;top:8px;left:8px;right:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;padding:6px 18px 6px 8px;width:var(--ifc-toolbar-width, fit-content);max-width:calc(100% - 16px);background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(51,65,85,.6);border-radius:8px;z-index:10;box-shadow:0 4px 16px #0000004d}.ifc-3d-toolbar__resize-handle[data-v-334c877d]{position:absolute;top:6px;right:6px;bottom:6px;width:10px;border-left:1px solid rgba(148,163,184,.25);cursor:ew-resize;opacity:.85;touch-action:none}.ifc-3d-toolbar__resize-handle[data-v-334c877d]:hover{opacity:1}.toolbar-group[data-v-334c877d]{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.toolbar-label[data-v-334c877d]{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-right:4px;font-weight:600}.toolbar-divider[data-v-334c877d]{width:1px;height:20px;background:#334155;margin:0 4px}.tb-btn[data-v-334c877d]{padding:5px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:#94a3b8;font-size:.76rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;min-height:30px}.tb-select[data-v-334c877d]{min-height:30px;border-radius:7px;border:1px solid rgba(125,211,252,.4);background:#0f172aeb;color:#e2e8f0;font-size:.75rem;font-weight:600;padding:4px 8px}.tb-select[data-v-334c877d]:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf859}.tb-btn[data-v-334c877d]:hover:not(:disabled){background:#ffffff14;color:#e2e8f0;border-color:#ffffff1a}.tb-btn.active[data-v-334c877d]{background:#38bdf826;color:#38bdf8;border-color:#38bdf84d}.tb-btn[data-v-334c877d]:disabled{opacity:.3;cursor:not-allowed}.tb-hour[data-v-334c877d]{min-width:3.1rem;text-align:center;color:#e2e8f0;font-size:.72rem;font-variant-numeric:tabular-nums}.ifc-compass[data-v-334c877d]{position:absolute;right:14px;bottom:14px;width:86px;height:86px;border-radius:50%;border:1px solid rgba(148,163,184,.65);background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e2e8f0;z-index:8;pointer-events:auto;transform:rotate(var(--compass-rot, 0deg));transform-origin:50% 50%}.ifc-compass .c[data-v-334c877d]{position:absolute;border:0;background:transparent;padding:0;font-size:.72rem;font-weight:700;color:#e2e8f0;line-height:1;transform:translate(-50%,-50%) rotate(var(--compass-rot-inv, 0deg));cursor:pointer}.ifc-compass .n[data-v-334c877d]{left:50%;top:12px}.ifc-compass .e[data-v-334c877d]{left:calc(100% - 12px);top:50%;color:#f59e0b}.ifc-compass .s[data-v-334c877d]{left:50%;top:calc(100% - 12px)}.ifc-compass .w[data-v-334c877d]{left:12px;top:50%}.ifc-compass .center[data-v-334c877d]{left:50%;top:50%;font-size:.58rem;color:#f59e0b;letter-spacing:.02em}@media (max-width: 1180px){.ifc-sidebar[data-v-334c877d]{width:clamp(160px,var(--ifc-sidebar-width, 240px),80vw)}.ifc-topbar h2[data-v-334c877d]{font-size:1rem}}@media (max-width: 920px){.ifc-body[data-v-334c877d]{flex-direction:column}.ifc-sidebar[data-v-334c877d]{width:100%;max-width:100%;min-width:0;border-right:0;border-bottom:1px solid var(--border-subtle, #334155);max-height:34dvh}.ifc-sidebar__resize-handle[data-v-334c877d]{display:none}.ifc-tree-scroll[data-v-334c877d]{max-height:20dvh}.toolbar-divider[data-v-334c877d]{display:none}.ifc-compass[data-v-334c877d]{width:76px;height:76px;right:10px;bottom:10px}.ifc-compass .center[data-v-334c877d]{font-size:.5rem}}@media (max-width: 640px){.ifc-topbar[data-v-334c877d]{padding:.62rem .7rem}.ifc-topbar-actions[data-v-334c877d]{gap:.45rem;width:100%}.ifc-btn[data-v-334c877d]{font-size:.78rem;padding:.4rem .64rem}.ifc-total-volume[data-v-334c877d]{font-size:.76rem}.ifc-status[data-v-334c877d]{width:100%;max-width:100%;font-size:.73rem}.ifc-roof-menu[data-v-334c877d]{padding:.42rem .55rem;gap:.32rem}.roof-chip[data-v-334c877d]{font-size:.69rem;padding:.3rem .56rem}.roof-label[data-v-334c877d]{font-size:.64rem}.roof-input[data-v-334c877d]{width:4.6rem;min-height:28px;font-size:.68rem}.roof-unit[data-v-334c877d]{font-size:.64rem}.ifc-3d-toolbar[data-v-334c877d]{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;width:calc(100% - 16px)}.ifc-3d-toolbar__resize-handle[data-v-334c877d]{display:none}.toolbar-group[data-v-334c877d]{flex-wrap:nowrap}.toolbar-label[data-v-334c877d]{font-size:.6rem}.tb-btn[data-v-334c877d]{font-size:.7rem;min-height:28px;padding:4px 7px}.tb-select[data-v-334c877d]{min-height:28px;font-size:.69rem;padding:3px 7px}}.roof-popover-content[data-v-e5395ab5]{display:flex;flex-direction:column;gap:.5rem;color:var(--text-primary)}.popover-title[data-v-e5395ab5]{margin:0 0 .25rem;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.popover-field[data-v-e5395ab5]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.popover-field label[data-v-e5395ab5]{white-space:nowrap}.popover-field select[data-v-e5395ab5],.popover-field input[type=number][data-v-e5395ab5],.popover-field input[type=text][data-v-e5395ab5]{flex:1;max-width:120px;height:26px;font-size:.75rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .4rem}.popover-field input[type=checkbox][data-v-e5395ab5]{width:16px;height:16px;accent-color:var(--accent-primary)}.layer-popover-content[data-v-37d23df9]{display:flex;flex-direction:column;gap:.5rem;color:var(--text-primary)}.popover-title[data-v-37d23df9]{margin:0 0 .25rem;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.layer-add-row[data-v-37d23df9]{display:flex;gap:.35rem;align-items:center}.layer-list[data-v-37d23df9]{display:flex;flex-direction:column;gap:.3rem}.layer-item[data-v-37d23df9]{display:flex;gap:.3rem;align-items:center}.layer-input[data-v-37d23df9]{flex:1;min-width:60px;height:26px;font-size:.75rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .4rem}.layer-num[data-v-37d23df9]{width:55px;height:26px;font-size:.72rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .3rem;text-align:center}.layer-select[data-v-37d23df9]{width:55px;height:26px;font-size:.72rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .1rem;text-align:center}.layer-color[data-v-37d23df9]{width:26px;height:26px;border:none;background:transparent;padding:0;cursor:pointer;flex-shrink:0}.layer-btn[data-v-37d23df9]{width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:.3rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.layer-btn[data-v-37d23df9]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.layer-btn[data-v-37d23df9]:disabled{opacity:.3;cursor:not-allowed}.layer-btn--danger[data-v-37d23df9]:hover:not(:disabled){background:#fecaca;color:#ef4444}.layer-radio[data-v-37d23df9]{margin:0;cursor:pointer;accent-color:var(--accent-primary);width:14px;height:14px}.editor-topbar[data-v-c15fc4dc]{display:flex;align-items:center;gap:.2rem;padding:.2rem .4rem;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:.75rem;flex-wrap:wrap;width:100%;box-shadow:var(--shadow-sm)}.tool-group[data-v-c15fc4dc]{display:flex;align-items:center;gap:.15rem}.tool-group+.tool-group[data-v-c15fc4dc]:before{content:"";width:1px;height:20px;background:var(--border-subtle);margin:0 .35rem;flex-shrink:0}.sep[data-v-c15fc4dc]{width:1px;height:16px;background:var(--border-subtle);margin:0 .2rem;flex-shrink:0}.editor-topbar button[data-v-c15fc4dc]{width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:.4rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.editor-topbar button[data-v-c15fc4dc]:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.editor-topbar button.active[data-v-c15fc4dc]{background:var(--bg-active);color:var(--accent-primary)}.editor-topbar button[data-v-c15fc4dc]:disabled{opacity:.3;cursor:not-allowed}.editor-topbar button.text-btn[data-v-c15fc4dc]{width:auto;min-width:82px;padding:0 .55rem;font-size:.68rem;font-weight:600}.editor-topbar button svg[data-v-c15fc4dc],.icon-upload svg[data-v-c15fc4dc],.snap-icon[data-v-c15fc4dc]{width:16px;height:16px;flex-shrink:0}.editor-topbar select[data-v-c15fc4dc]{height:28px;font-size:.72rem;border-radius:.4rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .4rem;max-width:120px}.session-name-input[data-v-c15fc4dc]{height:28px;font-size:.72rem;border-radius:.4rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .5rem;width:140px}.project-chip[data-v-c15fc4dc]{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;height:28px;padding:0 .55rem;border:1px solid var(--border-input);border-radius:.4rem;background:var(--bg-input);font-size:.72rem;color:var(--text-primary)}.session-name-input[data-v-c15fc4dc]::placeholder{color:var(--text-secondary)}.layer-selector-btn[data-v-c15fc4dc]{display:flex!important;align-items:center;justify-content:flex-start;gap:.35rem;padding:0 .4rem!important;min-width:120px;max-width:140px;width:auto!important;border:1px solid var(--border-input)!important;background:var(--bg-input)!important}.layer-selector-btn[data-v-c15fc4dc]:hover{background:var(--bg-hover)!important}.active-layer-swatch[data-v-c15fc4dc]{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.active-layer-name[data-v-c15fc4dc]{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.layer-selector-btn .chevron[data-v-c15fc4dc]{width:14px;height:14px;opacity:.6}.snap-input[data-v-c15fc4dc]{display:inline-flex;align-items:center;gap:.2rem;color:var(--text-secondary)}.snap-input input[data-v-c15fc4dc]{width:3rem;height:24px;font-size:.72rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .3rem;text-align:center}.icon-upload[data-v-c15fc4dc]{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:.4rem;color:var(--text-secondary);transition:background .12s,color .12s;flex-shrink:0}.icon-upload[data-v-c15fc4dc]:hover{background:var(--bg-input);color:var(--text-primary)}.icon-upload input[data-v-c15fc4dc]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.popover-wrap[data-v-c15fc4dc]{position:relative}.modal-overlay[data-v-c15fc4dc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-card[data-v-c15fc4dc]{width:min(92vw,360px);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-md);padding:14px;display:flex;flex-direction:column;gap:10px}.modal-card h3[data-v-c15fc4dc]{margin:0;font-size:.95rem;color:var(--text-primary)}.modal-input[data-v-c15fc4dc]{width:100%;height:34px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 10px;font-size:.82rem}.modal-actions[data-v-c15fc4dc]{display:flex;justify-content:flex-end;gap:8px}.modal-empty[data-v-c15fc4dc]{margin:0;font-size:.78rem;color:var(--text-secondary)}.modal-btn[data-v-c15fc4dc]{border:1px solid var(--border-subtle);background:var(--bg-active);color:var(--text-primary);border-radius:8px;padding:6px 10px;cursor:pointer;width:auto!important}.modal-btn.ghost[data-v-c15fc4dc]{background:transparent}.popover-panel[data-v-c15fc4dc]{position:absolute;top:calc(100% + 6px);left:0;z-index:100;min-width:240px;max-height:60vh;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:.75rem;padding:.75rem;box-shadow:var(--shadow-md)}.popover-panel--wide[data-v-c15fc4dc]{min-width:420px}.status-info[data-v-c15fc4dc]{margin-left:auto;font-size:.7rem;color:var(--text-secondary);white-space:nowrap;letter-spacing:.02em;padding:0 .4rem}.underlay-title[data-v-c15fc4dc]{font-size:.72rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.underlay-item[data-v-c15fc4dc]{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--text-primary);padding:.25rem 0;cursor:pointer}.underlay-item input[type=checkbox][data-v-c15fc4dc]{accent-color:var(--accent-primary)}.underlay-swatch[data-v-c15fc4dc]{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.underlay-empty[data-v-c15fc4dc]{font-size:.7rem;color:var(--text-secondary);font-style:italic}.column-panel[data-v-c15fc4dc]{min-width:520px}.column-panel__head[data-v-c15fc4dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem;font-size:.78rem}.column-panel__head-actions[data-v-c15fc4dc]{display:inline-flex;gap:.25rem}.column-panel__add[data-v-c15fc4dc]{display:flex;justify-content:flex-end;margin-bottom:.4rem}.column-panel__list[data-v-c15fc4dc]{display:flex;flex-direction:column;gap:.3rem}.column-panel__item[data-v-c15fc4dc]{display:flex;align-items:center;gap:.3rem}.column-panel__item.active[data-v-c15fc4dc]{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);border-radius:.35rem;padding:.15rem}.layer-input[data-v-c15fc4dc]{min-width:110px;height:26px;font-size:.75rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .4rem}.layer-num[data-v-c15fc4dc]{width:64px;height:26px;font-size:.72rem;border-radius:.35rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);padding:0 .3rem;text-align:center}.layer-color[data-v-c15fc4dc]{width:26px;height:26px;border:none;background:transparent;padding:0;cursor:pointer;flex-shrink:0}.layer-btn[data-v-c15fc4dc]{width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:.3rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.layer-btn[data-v-c15fc4dc]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.layer-btn--danger[data-v-c15fc4dc]:hover:not(:disabled){background:#fecaca;color:#ef4444}.modal-overlay[data-v-7bb88e58]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-7bb88e58]{background:#faf9f6;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;border:1px solid #e5e5e5}.modal-header[data-v-7bb88e58]{padding:16px 20px;border-bottom:1px solid #d1d5db;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-7bb88e58]{margin:0;display:flex;align-items:center;gap:8px;font-family:serif;font-size:1.25rem;color:#111}.close-btn[data-v-7bb88e58]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-btn[data-v-7bb88e58]:hover{color:#000}.modal-body[data-v-7bb88e58]{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.section-title[data-v-7bb88e58]{display:flex;align-items:center;gap:8px;font-family:serif;font-size:1.1rem;font-weight:600;color:#333;border-top:1px solid #d1d5db;padding-top:20px}.shape-grid[data-v-7bb88e58]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.shape-card[data-v-7bb88e58]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:all .2s}.shape-card[data-v-7bb88e58]:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.shape-card.start-new[data-v-7bb88e58]{border:1px dashed #9ca3af;background:#f9fafb}.shape-card.start-new[data-v-7bb88e58]:hover{border-color:#3b82f6;background:#f0fdf4}.shape-card.placeholder[data-v-7bb88e58]{opacity:.6;cursor:not-allowed}.icon-plus[data-v-7bb88e58]{width:48px;height:48px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#4b5563}.icon-plus svg[data-v-7bb88e58]{width:24px;height:24px}.shape-preview[data-v-7bb88e58]{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:4px}.shape-preview.empty[data-v-7bb88e58]{background:#e5e7eb}.preview-svg[data-v-7bb88e58]{width:80%;height:80%}.preview-svg polygon[data-v-7bb88e58]{fill:#dbeafe;stroke:#2563eb;stroke-width:3;stroke-linejoin:round}.shape-card span[data-v-7bb88e58]{font-size:.85rem;color:#374151;text-align:center}.editor[data-v-70af130f]{position:relative;user-select:none;-webkit-user-select:none}.elevation-card__media[data-v-70af130f],.elevation-card__svg[data-v-70af130f]{user-select:none;-webkit-user-select:none}.roof-region-toolbar[data-v-70af130f]{display:inline-flex;gap:.5rem;margin:.5rem 0}.roof-layer-item[data-v-70af130f]{display:inline-flex;align-items:center;gap:.25rem}.roof-region-toolbar .ghost[data-v-70af130f]{border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);border-radius:.5rem;padding:.35rem .7rem;cursor:pointer}.roof-region-toolbar .roof-layer-button[data-v-70af130f]{border-color:color-mix(in srgb,var(--roof-layer-color) 45%,var(--border-subtle));color:var(--roof-layer-color)}.roof-region-toolbar .roof-layer-trash[data-v-70af130f]{padding:.35rem .5rem;line-height:1;border-color:color-mix(in srgb,#ef4444 40%,var(--border-subtle));color:#ef4444}.roof-region-toolbar .ghost.active[data-v-70af130f]{border-color:#f59e0b;color:#b45309;background:color-mix(in srgb,var(--roof-layer-color, #f59e0b) 12%,var(--bg-panel))}.editor-compass[data-v-70af130f]{position:absolute;right:14px;bottom:14px;width:86px;height:86px;border-radius:50%;border:1px solid rgba(148,163,184,.7);background:#0f172a7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e2e8f0;z-index:4;pointer-events:none}.editor-compass .c[data-v-70af130f]{position:absolute;border:0;background:transparent;padding:0;font-size:.72rem;font-weight:700;color:#e2e8f0;line-height:1;transform:translate(-50%,-50%);cursor:pointer}.roof-shape-btn[data-v-70af130f]{font-weight:500;cursor:pointer;background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle);text-align:left;transition:all .2s ease}.roof-shape-btn[data-v-70af130f]:hover{background:var(--bg-input);border-color:var(--accent-primary)}.manual-btn[data-v-70af130f]{background:var(--bg-card);color:var(--accent-primary);border-style:dashed}.editor-layout[data-v-70af130f]{position:relative}.editor-compass .n[data-v-70af130f]{left:50%;top:12px}.editor-compass .e[data-v-70af130f]{left:calc(100% - 12px);top:50%;color:#f59e0b}.editor-compass .s[data-v-70af130f]{left:50%;top:calc(100% - 12px)}.editor-compass .w[data-v-70af130f]{left:12px;top:50%}.editor-compass .center[data-v-70af130f]{left:50%;top:50%;font-size:.58rem;color:#f59e0b;letter-spacing:.02em;cursor:default}.editor-compass .c.active[data-v-70af130f]{color:#38bdf8;text-shadow:0 0 8px rgba(56,189,248,.55)}.elevation-overview[data-v-70af130f]{margin-top:1rem;border-top:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:.75rem;box-shadow:var(--shadow-sm);padding:1rem}.elevation-overview__header[data-v-70af130f]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.elevation-overview__actions[data-v-70af130f]{display:flex;flex-wrap:wrap;gap:.5rem}.elevation-overview__timing[data-v-70af130f]{align-self:center;font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.elevation-overview__header h3[data-v-70af130f]{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.elevation-overview__header p[data-v-70af130f]{margin:0;font-size:.85rem;color:var(--text-secondary)}.elevation-grid[data-v-70af130f]{margin-top:.75rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.elevation-card[data-v-70af130f]{background:var(--bg-app);border-radius:.65rem;padding:.75rem;border:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:180px;box-shadow:var(--shadow-sm)}.elevation-card__media[data-v-70af130f]{position:relative;width:100%;height:140px;border-radius:.5rem;border:1px solid var(--border-subtle);background:var(--bg-canvas);background-color:#f8fafc;overflow:hidden}.elevation-card__svg[data-v-70af130f]{width:100%;height:100%}.elevation-card__svg[data-v-70af130f] svg{width:100%;height:100%;display:block}.elevation-card__canvas[data-v-70af130f]{width:100%;height:140px;border-radius:.5rem;border:1px solid var(--border-subtle);background:#f8fafc;display:block}.elevation-card__status[data-v-70af130f]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;font-size:.8rem;color:var(--text-secondary);background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.elevation-card__status--error[data-v-70af130f]{color:#ef4444}.elevation-card__label[data-v-70af130f]{margin-top:.5rem;font-size:.9rem;color:var(--text-primary);text-align:center;font-weight:500}.elevation-card__actions[data-v-70af130f]{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.elevation-card__actions .ghost[data-v-70af130f]{font-size:.75rem;padding:.3rem .6rem;background:#fff;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.elevation-card__actions .ghost[data-v-70af130f]:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary);border-color:var(--accent-primary)}.elevation-card__actions .ghost[data-v-70af130f]:disabled{opacity:.5;cursor:not-allowed}.elevation-card__label[data-v-70af130f]:after{content:"";display:block;width:24px;height:2px;margin:.35rem auto 0;background:linear-gradient(90deg,#38bdf8,#f472b6);border-radius:999px}.modal-overlay[data-v-70af130f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-70af130f]{background:#faf9f6;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;border:1px solid #e5e5e5}.modal-header[data-v-70af130f]{padding:16px 20px;border-bottom:1px solid #d1d5db;display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-70af130f]{margin:0;font-family:serif;font-size:1.25rem;color:#111}.close-btn[data-v-70af130f]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-btn[data-v-70af130f]:hover{color:#000}.modal-body[data-v-70af130f]{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.roof-modal[data-v-70af130f]{max-width:400px}.hlr-batch-modal[data-v-70af130f]{max-width:420px}.roof-modal-desc[data-v-70af130f]{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.roof-shape-list[data-v-70af130f]{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.editor-loading-overlay[data-v-70af130f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#faf9f6d1;display:flex;align-items:center;justify-content:center;z-index:30}.editor-loading-card[data-v-70af130f]{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:12px 16px;font-size:.85rem;color:#1f2937;box-shadow:0 4px 20px #00000014}.workspace-empty[data-v-70af130f]{min-height:320px;display:grid;place-items:center;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#334155;font-size:.9rem;padding:18px}.room-intent-builder[data-v-a91d2bdd]{font-family:Inter,system-ui,sans-serif;padding:1rem;max-width:100%;margin:0 auto;color:var(--text-primary)}.builder-header[data-v-a91d2bdd]{margin-bottom:2rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem}.builder-header h1[data-v-a91d2bdd]{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-primary)}.content-wrapper[data-v-a91d2bdd]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.builder-column[data-v-a91d2bdd]{display:flex;flex-direction:column;gap:1.5rem}.panel[data-v-a91d2bdd],.level-panel[data-v-a91d2bdd],.room-panel[data-v-a91d2bdd]{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.project-setup[data-v-a91d2bdd]{padding:1.5rem}.panel-header[data-v-a91d2bdd],.room-header[data-v-a91d2bdd]{padding:1rem 1.5rem;background:var(--bg-app);cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;transition:background .2s;color:var(--text-primary)}.panel-header[data-v-a91d2bdd]:hover,.room-header[data-v-a91d2bdd]:hover{background:var(--bg-input)}.room-header[data-v-a91d2bdd]{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);padding:.75rem 1rem}.panel-body[data-v-a91d2bdd]{padding:1.5rem;border-top:1px solid var(--border-subtle)}.room-body[data-v-a91d2bdd]{padding:1rem;background:var(--bg-app)}.form-group[data-v-a91d2bdd]{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}label[data-v-a91d2bdd]{font-weight:500;font-size:.9rem;color:var(--text-secondary)}.generation-section[data-v-a91d2bdd]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-dim);display:flex;flex-direction:column;gap:1rem}.generate-btn[data-v-a91d2bdd]{padding:.8rem 1.2rem;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.generate-btn[data-v-a91d2bdd]:hover:not(:disabled){background:var(--accent-hover)}.generate-btn[data-v-a91d2bdd]:disabled{background:var(--text-disabled);cursor:not-allowed;opacity:.7}.generated-result h3[data-v-a91d2bdd]{font-size:1rem;margin-bottom:.5rem;color:var(--text-primary)}.result-code[data-v-a91d2bdd]{max-height:400px;overflow-y:auto;background:var(--bg-canvas);padding:1rem;border-radius:4px;font-size:.85rem;color:var(--text-code);border:1px solid var(--border-subtle)}input[type=text][data-v-a91d2bdd],input[type=number][data-v-a91d2bdd],select[data-v-a91d2bdd]{padding:.6rem;border:1px solid var(--border-input);border-radius:4px;font-size:1rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}input[data-v-a91d2bdd]:focus,select[data-v-a91d2bdd]:focus{border-color:var(--accent-primary);outline:none}.fixed-input[data-v-a91d2bdd]{background:var(--bg-canvas);color:var(--text-disabled)}.rooms-list[data-v-a91d2bdd]{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.chevron[data-v-a91d2bdd]{font-size:.8rem;color:var(--text-secondary)}.checkbox-label[data-v-a91d2bdd]{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary)}.conditional-group[data-v-a91d2bdd]{margin-top:1rem;padding:.75rem;background:var(--bg-canvas);border-radius:4px;border:1px solid var(--border-subtle)}.preview-column[data-v-a91d2bdd]{position:relative}.sticky-preview[data-v-a91d2bdd]{position:sticky;top:2rem;background:var(--bg-panel);border-radius:8px;padding:1.5rem;color:var(--text-primary);max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle)}.sticky-preview h2[data-v-a91d2bdd]{margin-top:0;font-size:1.2rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem;margin-bottom:1rem}.json-code[data-v-a91d2bdd]{font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;line-height:1.5;white-space:pre-wrap;color:var(--text-code);background:var(--bg-canvas);padding:1rem;border-radius:4px;border:1px solid var(--border-subtle)}.json-header[data-v-a91d2bdd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.header-actions[data-v-a91d2bdd]{display:flex;gap:.5rem}.copy-btn[data-v-a91d2bdd],.load-btn[data-v-a91d2bdd]{padding:.3rem .6rem;font-size:.8rem;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.copy-btn[data-v-a91d2bdd]{background:var(--bg-canvas);color:var(--text-secondary);border:1px solid var(--border-subtle)}.copy-btn[data-v-a91d2bdd]:hover{background:var(--bg-input);color:var(--text-primary)}.load-btn[data-v-a91d2bdd]{background:var(--accent-primary);color:#fff;font-weight:500}.load-btn[data-v-a91d2bdd]:hover{background:var(--accent-hover)}.home-view[data-v-adfc83dd]{width:100%;max-width:none;padding:clamp(.75rem,1.2vw,1.25rem);display:flex;flex-direction:column;gap:.9rem;flex:1;min-height:0;overflow-y:auto;background:var(--bg-app);color:var(--text-primary)}.hero[data-v-adfc83dd]{display:flex;flex-direction:column;gap:.35rem}.eyebrow[data-v-adfc83dd]{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:700}.hero h1[data-v-adfc83dd]{margin:0;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.25}.subtitle[data-v-adfc83dd]{margin:0;color:var(--text-secondary);font-size:.9rem;max-width:90ch}.status[data-v-adfc83dd],.error[data-v-adfc83dd]{margin:0;padding:.45rem .65rem;border-radius:.55rem;font-size:.84rem}.status[data-v-adfc83dd]{border:1px solid color-mix(in srgb,var(--border-subtle) 70%,transparent);background:color-mix(in srgb,var(--bg-panel) 82%,transparent);color:var(--text-secondary)}.error[data-v-adfc83dd]{border:1px solid color-mix(in srgb,#ef4444 45%,var(--border-subtle));background:color-mix(in srgb,#ef4444 10%,var(--bg-panel));color:color-mix(in srgb,#ef4444 70%,#fff)}.intent-expander[data-v-adfc83dd]{width:100%;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;margin-bottom:.25rem;box-shadow:var(--shadow-sm)}.expander-header[data-v-adfc83dd]{width:100%;padding:1rem;background:var(--bg-panel);border:none;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:1rem;transition:background .2s}.expander-header[data-v-adfc83dd]:hover{background:var(--bg-input)}.expander-content[data-v-adfc83dd]{padding:1rem;border-top:1px solid var(--border-subtle);background:var(--bg-app)}.editor-toolbar[data-v-adfc83dd]{width:100%;display:flex;flex-wrap:wrap;gap:.55rem;flex-direction:column;position:sticky;top:0;z-index:4;padding-top:.1rem}.editor-workspace[data-v-adfc83dd]{display:grid;grid-template-columns:minmax(380px,1.05fr) minmax(360px,1fr);width:100%;gap:clamp(.75rem,1.2vw,1.15rem);min-height:min(78dvh,920px)}.editor-2d[data-v-adfc83dd],.editor-3d[data-v-adfc83dd]{border-radius:1rem;background:var(--bg-panel);border:1px solid var(--border-subtle);padding:clamp(.62rem,1.1vw,.9rem);display:flex;flex-direction:column;gap:.6rem;min-width:0;min-height:0;box-shadow:var(--shadow-sm)}.editor-3d-empty[data-v-adfc83dd]{align-items:center;justify-content:center;text-align:center;color:var(--text-secondary)}.editor-2d h2[data-v-adfc83dd],.editor-3d h2[data-v-adfc83dd]{margin:0;font-size:1.1rem;color:var(--text-primary)}.empty-state[data-v-adfc83dd]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-style:italic;background:var(--bg-app);border-radius:8px}.editor-3d[data-v-adfc83dd] .ifc-viewer-panel{flex:1;min-height:0}.editor-2d[data-v-adfc83dd] .editor{display:flex;flex-direction:column;flex:1;min-height:0}.editor-2d[data-v-adfc83dd] .editor-canvas{width:100%;height:100%;min-height:clamp(340px,52dvh,680px);border-radius:.6rem;background:color-mix(in srgb,var(--bg-app) 92%,transparent)}@media (max-width: 980px){.home-view[data-v-adfc83dd]{padding:.65rem;gap:.7rem}.subtitle[data-v-adfc83dd]{font-size:.84rem}.editor-workspace[data-v-adfc83dd]{grid-template-columns:1fr;min-height:unset;gap:.8rem}.editor-2d[data-v-adfc83dd],.editor-3d[data-v-adfc83dd]{padding:.6rem}.editor-2d[data-v-adfc83dd] .editor-canvas{min-height:clamp(320px,46dvh,560px)}}@media (max-width: 640px){.editor-2d[data-v-adfc83dd] .editor-canvas{min-height:clamp(300px,44dvh,500px)}}.viewer-3d-page[data-v-a3cb96d6]{flex:1;position:relative;min-height:0;overflow:hidden;display:flex;flex-direction:column}.viewer-actions[data-v-a3cb96d6]{position:absolute;top:1rem;right:1rem;z-index:10}.fullscreen-btn[data-v-a3cb96d6]{background:#0f172acc;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fullscreen-btn[data-v-a3cb96d6]:hover{background:#0f172af2;transform:scale(1.05)}.fullscreen-btn svg[data-v-a3cb96d6]{width:20px;height:20px}
