:root{color-scheme:dark;--bg-app: #15171b;--surface-1: #1b1e23;--surface-2: #22262d;--surface-3: #282c34;--surface-hover: #2a2f38;--overlay: rgba(21, 23, 27, .92);--canvas-bg: #191c21;--border-subtle: #24272d;--border: #30353d;--border-strong: #3c424c;--text-primary: #d7dae0;--text-secondary: #aab0ba;--text-tertiary: #8d949f;--text-disabled: #626a75;--accent: #6675e8;--accent-hover: #7684ec;--accent-active: #5563c9;--accent-soft: rgba(102, 117, 232, .16);--accent-border: rgba(102, 117, 232, .5);--accent-contrast: #f5f6fa;--success: #4caf82;--success-soft: rgba(76, 175, 130, .14);--success-border: rgba(76, 175, 130, .4);--danger: #d96969;--danger-soft: rgba(217, 105, 105, .14);--danger-border: rgba(217, 105, 105, .4);--warning: #d6a84f;--warning-soft: rgba(214, 168, 79, .14);--warning-border: rgba(214, 168, 79, .4);--info: #6ea8d9;--info-soft: rgba(110, 168, 217, .14);--info-border: rgba(110, 168, 217, .4);--draw-line: #b8bdc7;--draw-selected: #6e8cff;--draw-muted: #565c66;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45);--ease-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .16s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--font-size-caption: 11px;--font-size-secondary: 12px;--font-size-body: 13px;--font-size-section: 12px;--control-height: 28px;--font-sans: "Inter", "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-mono: "SFMono-Regular", ui-monospace, "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-body)}::selection{background:var(--accent-soft);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-strong);background-clip:padding-box;border:2px solid transparent;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-disabled);background-clip:padding-box}button,input,select,summary{font:inherit;color:inherit}button,summary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;font-size:var(--font-size-secondary);line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}button:hover:not(:disabled),summary:hover{background:var(--surface-hover);border-color:var(--border-strong)}button:active:not(:disabled){background:var(--surface-1)}button:disabled{opacity:.42;cursor:not-allowed}button.btn-primary,summary.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.btn-primary:hover:not(:disabled),summary.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.btn-primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}button.btn-ghost,label.btn-ghost{background:transparent;border-color:transparent}button.btn-ghost:hover:not(:disabled),label.btn-ghost:hover{background:var(--surface-2);border-color:var(--border)}button.btn-icon{width:var(--control-height);padding:0;flex-shrink:0}label.upload-button,label.compact{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;font-size:var(--font-size-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}label.upload-button:hover,label.compact:hover{background:var(--surface-hover);border-color:var(--border-strong)}button.active,button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-primary)}button.active:hover:not(:disabled),button[aria-pressed=true]:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent-border);filter:brightness(1.15)}select,input[type=text],input[type=number]{height:var(--control-height);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 8px;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}select:hover,input[type=text]:hover,input[type=number]:hover{border-color:var(--border-strong)}select:focus-visible,input[type=text]:focus-visible,input[type=number]:focus-visible{border-color:var(--accent)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker,summary::marker{display:none;content:""}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;flex-shrink:0;display:inline-grid;place-content:center;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}input[type=checkbox]:hover{border-color:var(--accent-border)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";width:4px;height:8px;border:solid var(--accent-contrast);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--surface-3);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-app);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}input[type=range]:hover::-webkit-slider-thumb{background:var(--accent-hover);transform:scale(1.1)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-app);cursor:pointer}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--surface-3)}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}kbd{font:600 9px/14px var(--font-mono);color:var(--text-tertiary);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-xs);min-width:14px;padding:0 3px;text-align:center;display:inline-block}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin:0;font-size:var(--font-size-section);font-weight:600;letter-spacing:.2px;color:var(--text-secondary);text-transform:uppercase}.icon[data-v-d3615e20]{display:block;flex-shrink:0}.studio-canvas[data-v-30d77644]{display:block;width:100%;height:100%;outline:none;cursor:crosshair;touch-action:none}.studio-canvas.pan-ready[data-v-30d77644]{cursor:grab}.studio-canvas.panning[data-v-30d77644]{cursor:grabbing}.preview-3d-wrapper[data-v-67733c13]{position:relative;width:100%;height:100%}.preview-3d[data-v-67733c13]{width:100%;height:100%}.empty-overlay[data-v-67733c13]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;pointer-events:none;color:var(--text-tertiary);font-size:14px}.empty-overlay .hint[data-v-67733c13]{font-size:12px;max-width:360px;line-height:1.5}.hint-banner[data-v-67733c13]{display:grid;gap:4px;text-align:center;max-width:calc(100% - 24px);position:absolute;top:12px;left:50%;transform:translate(-50%);background:var(--overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:12px;padding:6px 12px;border-radius:var(--radius-md);pointer-events:none;white-space:normal}.error[data-v-67733c13]{pointer-events:auto}.view-controls[data-v-67733c13]{position:absolute;right:14px;bottom:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:calc(100% - 28px);padding:8px 10px;border-radius:var(--radius-lg);background:var(--overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:12px;box-shadow:var(--shadow-sm)}.view-controls .divider[data-v-67733c13]{width:1px;height:20px;background:var(--border-strong)}.view-controls label[data-v-67733c13]{display:flex;align-items:center;gap:5px;color:var(--text-tertiary);white-space:nowrap}.view-controls label.inert[data-v-67733c13]{opacity:.45}.view-controls select[data-v-67733c13]{font-size:12px;padding:4px 6px}.route-needed-hint[data-v-67733c13]{color:var(--warning);white-space:nowrap}button[data-v-67733c13]{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text-primary);padding:8px 12px}button[data-v-67733c13]:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.layers-panel[data-v-90ce5fa3]{display:flex;flex-direction:column;gap:var(--space-2)}.search[data-v-90ce5fa3]{display:flex;align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-disabled)}.search input[data-v-90ce5fa3]{flex:1;min-width:0;height:100%;background:transparent;border:0;padding:0;font-size:var(--font-size-caption);color:var(--text-primary)}.layer-list[data-v-90ce5fa3]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.layer-row[data-v-90ce5fa3]{display:flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-1) 0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out)}.layer-row[data-v-90ce5fa3]:hover{background:var(--surface-2)}.swatch[data-v-90ce5fa3]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.layer-icon[data-v-90ce5fa3]{color:var(--text-tertiary);flex-shrink:0}.layer-name[data-v-90ce5fa3]{flex:1;min-width:0;font-size:var(--font-size-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visibility-toggle[data-v-90ce5fa3]{color:var(--text-disabled)}.visibility-toggle[aria-pressed=true][data-v-90ce5fa3]{background:transparent;border-color:transparent;color:var(--text-secondary)}.layer-row:hover .visibility-toggle[data-v-90ce5fa3]{color:var(--text-secondary)}.empty-hint[data-v-90ce5fa3]{padding:var(--space-2);font-size:var(--font-size-secondary);color:var(--text-tertiary)}.groups-heading[data-v-90ce5fa3]{margin-top:var(--space-1)}.group-row[data-v-90ce5fa3]{cursor:pointer}.group-row.selected[data-v-90ce5fa3]{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.member-count[data-v-90ce5fa3]{flex-shrink:0;font-size:var(--font-size-caption);color:var(--text-disabled);font-variant-numeric:tabular-nums}.ungroup-toggle[data-v-90ce5fa3]{color:var(--text-disabled)}.group-row:hover .ungroup-toggle[data-v-90ce5fa3]{color:var(--text-secondary)}.import-model[data-v-43414c79]{display:block;margin-top:10px;padding:8px;border:1px solid var(--border);border-radius:5px;cursor:pointer;font-size:12px}.import-model input[data-v-43414c79]{width:100%;font-size:10px}.furniture-library[data-v-43414c79]{border:1px solid var(--border-subtle);border-radius:8px;padding:10px}summary[data-v-43414c79]{cursor:pointer;font-weight:600;font-size:12px}h4[data-v-43414c79]{font-size:12px;margin:14px 0 6px}.hint[data-v-43414c79],.error[data-v-43414c79]{font-size:11px;line-height:1.5;margin:8px 0}.hint[data-v-43414c79]{color:var(--text-secondary)}.error[data-v-43414c79]{color:#ef9696}.preset-grid[data-v-43414c79]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:10px}.preset-grid>button[data-v-43414c79]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;height:auto;min-height:60px}.preset-grid strong[data-v-43414c79]{white-space:nowrap}.saved-row>button[data-v-43414c79]:first-child{display:block;height:auto}button[data-v-43414c79]{border:1px solid var(--border-subtle);border-radius:5px;padding:8px;background:var(--surface-2);color:inherit;cursor:pointer;font-size:12px;text-align:left;overflow-wrap:anywhere}button[aria-pressed=true][data-v-43414c79]{border-color:var(--accent);background:var(--accent-soft)}button[data-v-43414c79]:disabled{opacity:.45;cursor:default}small[data-v-43414c79]{display:block;font-size:10px;margin-top:4px;color:var(--text-secondary)}.saved-row[data-v-43414c79]{display:flex;gap:4px;margin:5px 0}.saved-row>button[data-v-43414c79]:first-child{flex:1;min-width:0}.remove[data-v-43414c79]{flex:0 0 28px;text-align:center}form[data-v-43414c79]{display:grid;gap:7px;margin-top:12px}label[data-v-43414c79]{font-size:11px}input[data-v-43414c79]{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:7px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:inherit}.presets[data-v-54a17093]{display:flex;flex-wrap:wrap;gap:4px}.presets button[data-v-54a17093]{padding:6px 10px;font-size:11px}.settings[data-v-54a17093]{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.settings summary[data-v-54a17093]{background:transparent;border:0;padding:0;font-size:12px;color:var(--text-secondary);justify-content:flex-start}.settings summary[data-v-54a17093]:hover{background:transparent;color:var(--text-primary)}.settings label[data-v-54a17093]{display:block;margin-top:12px;font-size:12px;color:var(--text-secondary)}.settings input[type=range][data-v-54a17093]{display:block;width:100%;margin:6px 0}.reference-panel[data-v-54a17093]{display:flex;flex-direction:column;gap:8px}h3[data-v-54a17093]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-primary)}.upload-button[data-v-54a17093]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;text-align:center;font-size:13px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.upload-button[data-v-54a17093]:hover{background:var(--surface-hover);border-color:var(--border-strong)}.upload-button input[data-v-54a17093]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.upload-button[data-v-54a17093]:focus-within{outline:2px solid var(--accent-border);outline-offset:2px}.opacity-row[data-v-54a17093]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.opacity-row input[data-v-54a17093]{flex:1}.scale-info[data-v-54a17093]{margin:4px 0 0;font-size:12px;color:var(--text-tertiary)}.hint[data-v-54a17093]{margin:0;font-size:11px;color:var(--text-tertiary);line-height:1.4}.remove-button[data-v-54a17093]{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);padding:6px 10px;font-size:12px}.remove-button[data-v-54a17093]:hover:not(:disabled){background:var(--danger-border)}.vectorize-button[data-v-54a17093]{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border);padding:6px 10px;font-size:12px;font-weight:600}.vectorize-button[data-v-54a17093]:hover:not(:disabled){background:var(--success-border)}.error-text[data-v-54a17093]{margin:0;font-size:11px;color:var(--danger);line-height:1.4}.edit-button[data-v-1dbb7994],.coordinate-editor button[data-v-1dbb7994]{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--text-primary);padding:8px}.edit-button[data-v-1dbb7994]:hover:not(:disabled),.coordinate-editor button[data-v-1dbb7994]:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.coordinate-editor[data-v-1dbb7994]{display:grid;gap:8px;padding:10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:12px}.coordinate-editor label span[data-v-1dbb7994]{display:flex;gap:4px;margin-top:4px}.coordinate-editor input[data-v-1dbb7994]{width:50%}.list-row[data-v-1dbb7994]{border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out)}.list-row[data-v-1dbb7994]:hover{background:var(--surface-2)}.list-row.selected[data-v-1dbb7994]{background:var(--accent-soft)}.list-row button[data-v-1dbb7994]{flex:1;text-align:left;background:transparent;border:0;color:inherit;padding:6px}.list-row button[data-v-1dbb7994]:hover:not(:disabled){background:transparent}button[data-v-1dbb7994]:disabled{opacity:.4;cursor:not-allowed}.vectorize-panel[data-v-1dbb7994]{display:flex;flex-direction:column;gap:8px}h3[data-v-1dbb7994]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-primary)}h4[data-v-1dbb7994]{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-secondary)}.warning[data-v-1dbb7994]{margin:0;font-size:11px;color:var(--warning);line-height:1.4}.bulk-actions[data-v-1dbb7994]{display:flex;gap:6px}.bulk-actions button[data-v-1dbb7994]{flex:1;padding:6px 8px;font-size:12px}.list-section[data-v-1dbb7994]{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto}.list-row[data-v-1dbb7994]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);padding:2px 0;cursor:pointer}.hint[data-v-1dbb7994]{margin:0;font-size:11px;color:var(--text-tertiary);line-height:1.4}.confirm-actions[data-v-1dbb7994]{display:flex;gap:6px;margin-top:4px}.discard-button[data-v-1dbb7994]{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);padding:6px 10px;font-size:12px}.discard-button[data-v-1dbb7994]:hover:not(:disabled){background:var(--danger-border)}.confirm-button[data-v-1dbb7994]{flex:1;background:var(--success-soft);color:var(--success);border:1px solid var(--success-border);padding:6px 10px;font-size:12px;font-weight:600}.confirm-button[data-v-1dbb7994]:hover:not(:disabled){background:var(--success-border)}.confirm-button[data-v-1dbb7994]:disabled{opacity:.4;cursor:not-allowed}.number-field[data-v-4e3612b1]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-secondary);color:var(--text-secondary)}.number-field.disabled[data-v-4e3612b1]{opacity:.5}.field-label[data-v-4e3612b1]{color:var(--text-secondary)}.number-control[data-v-4e3612b1]{display:flex;align-items:stretch;height:var(--control-height);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out)}.number-control[data-v-4e3612b1]:focus-within{border-color:var(--accent)}.number-control input[data-v-4e3612b1]{flex:1;min-width:0;height:100%;background:transparent;border:0;border-radius:0;padding:0 2px 0 8px;color:var(--text-primary);font-size:var(--font-size-body);text-align:left}.number-control input[data-v-4e3612b1]:hover{border-color:transparent}.unit[data-v-4e3612b1]{display:flex;align-items:center;padding:0 4px;font-size:var(--font-size-caption);color:var(--text-tertiary);white-space:nowrap}.stepper[data-v-4e3612b1]{height:100%;width:22px;min-width:22px;border:0;border-radius:0;color:var(--text-tertiary)}.stepper[data-v-4e3612b1]:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}.property-group[data-v-884f8ea9]{border-bottom:1px solid var(--border-subtle)}.property-group[data-v-884f8ea9]:last-child{border-bottom:0}.group-header[data-v-884f8ea9]{width:100%;height:auto;justify-content:flex-start;gap:var(--space-1);background:transparent;border:0;border-radius:0;padding:var(--space-2) 0;color:var(--text-tertiary);font-size:var(--font-size-section);font-weight:600;letter-spacing:.2px;text-transform:uppercase}.group-header[data-v-884f8ea9]:hover{background:transparent;color:var(--text-secondary)}.group-body[data-v-884f8ea9]{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-3)}.property-panel[data-v-c0bd0286]{display:flex;flex-direction:column;gap:var(--space-2)}.empty-hint[data-v-c0bd0286]{margin:0 0 var(--space-1);font-size:var(--font-size-secondary);color:var(--text-tertiary);line-height:1.5}.readonly-field[data-v-c0bd0286]{margin:0;font-size:var(--font-size-secondary);color:var(--text-tertiary)}.hint[data-v-c0bd0286]{margin:0;font-size:var(--font-size-caption);color:var(--text-tertiary);line-height:1.5}.field[data-v-c0bd0286]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-secondary);color:var(--text-secondary)}.field-label[data-v-c0bd0286]{color:var(--text-secondary)}.checkbox-field[data-v-c0bd0286]{flex-direction:row;align-items:center;gap:var(--space-2)}.field input[data-v-c0bd0286],.field select[data-v-c0bd0286]{font-size:var(--font-size-body)}.selection-header[data-v-c0bd0286]{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.selection-icon[data-v-c0bd0286]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary)}.selection-title[data-v-c0bd0286]{display:flex;flex-direction:column;min-width:0;font-size:var(--font-size-secondary)}.selection-title strong[data-v-c0bd0286]{font-size:var(--font-size-body);color:var(--text-primary)}.selection-id[data-v-c0bd0286]{color:var(--text-disabled);font-size:var(--font-size-caption);font-family:var(--font-mono)}.autosave-note[data-v-c0bd0286]{margin-left:auto;flex-shrink:0;font-size:10px;color:var(--text-disabled);white-space:nowrap}.delete-selection-button[data-v-c0bd0286]{flex-shrink:0}.danger-ghost[data-v-c0bd0286]:hover:not(:disabled){color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.summary-card[data-v-c0bd0286]{padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.summary-row[data-v-c0bd0286]{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.summary-label[data-v-c0bd0286]{font-size:var(--font-size-caption);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.summary-value[data-v-c0bd0286]{margin-left:auto;font-size:var(--font-size-secondary);color:var(--text-primary)}.summary-detail[data-v-c0bd0286]{margin:0;font-size:var(--font-size-secondary);color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.summary-detail.success[data-v-c0bd0286]{color:var(--success)}.icon-danger[data-v-c0bd0286]{color:var(--danger)}.icon-success[data-v-c0bd0286]{color:var(--success)}.hint-inline[data-v-c0bd0286]{color:var(--text-tertiary);font-size:var(--font-size-caption)}.tag[data-v-c0bd0286]{padding:1px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-caption);font-weight:600}.tag.danger[data-v-c0bd0286]{background:var(--danger-soft);color:var(--danger)}.tag.warning[data-v-c0bd0286]{background:var(--warning-soft);color:var(--warning)}.member-list[data-v-c0bd0286]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto}.member-row[data-v-c0bd0286]{display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary)}.member-row[data-v-c0bd0286]:hover{background:var(--surface-2)}.member-label[data-v-c0bd0286]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ungroup-button[data-v-c0bd0286]{width:100%}.stat-grid[data-v-c0bd0286]{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.stat[data-v-c0bd0286]{display:flex;flex-direction:column;gap:2px;padding:var(--space-2);background:var(--surface-1);border-radius:var(--radius-sm)}.stat dt[data-v-c0bd0286]{font-size:var(--font-size-caption);color:var(--text-tertiary)}.stat dd[data-v-c0bd0286]{margin:0;font-size:var(--font-size-body);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.floor-switcher[data-v-87a191bf]{display:flex;gap:4px}.floor-switcher button[data-v-87a191bf]{padding:6px 10px;font-size:13px}.add-floor[data-v-87a191bf]{font-weight:600}.building-switcher[data-v-88d9298d]{display:flex;gap:4px;align-items:center}.building-switcher select[data-v-88d9298d],.building-switcher button[data-v-88d9298d]{padding:6px 10px;font-size:13px}.add-building[data-v-88d9298d]{font-weight:600}.route-panel[data-v-f2cb4a4e]{display:flex;flex-direction:column;gap:8px}h3[data-v-f2cb4a4e]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-primary)}.empty-hint[data-v-f2cb4a4e]{margin:0;font-size:12px;color:var(--text-tertiary);line-height:1.4}.field[data-v-f2cb4a4e]{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.field select[data-v-f2cb4a4e]{font-size:13px}.checkbox-row[data-v-f2cb4a4e]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.actions[data-v-f2cb4a4e]{display:flex;gap:8px}.actions button[data-v-f2cb4a4e]{flex:1;padding:6px 10px;font-size:12px}.result[data-v-f2cb4a4e]{margin:0;font-size:12px;color:var(--warning)}.result.error[data-v-f2cb4a4e]{color:var(--danger)}.validation-bar[data-v-d2519f5a]{display:flex;flex-direction:column}.status-summary[data-v-d2519f5a]{width:100%;height:36px;justify-content:flex-start;gap:var(--space-2);background:transparent;border:0;border-radius:0;padding:0 var(--space-4);color:var(--text-secondary)}.status-summary[data-v-d2519f5a]:hover{background:var(--surface-2);border-color:transparent}.status-icon.ok[data-v-d2519f5a]{color:var(--success)}.status-icon.warn[data-v-d2519f5a]{color:var(--warning)}.status-text[data-v-d2519f5a]{font-size:var(--font-size-secondary);font-weight:600;color:var(--text-primary)}.counts[data-v-d2519f5a]{display:flex;gap:var(--space-1)}.count-chip[data-v-d2519f5a]{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;font-size:var(--font-size-caption);font-weight:600}.count-chip.danger[data-v-d2519f5a]{background:var(--danger-soft);color:var(--danger)}.count-chip.warning[data-v-d2519f5a]{background:var(--warning-soft);color:var(--warning)}.count-chip.info[data-v-d2519f5a]{background:var(--info-soft);color:var(--info)}.chevron[data-v-d2519f5a]{margin-left:auto;color:var(--text-disabled)}.issue-panel[data-v-d2519f5a]{max-height:200px;overflow-y:auto;padding:0 var(--space-4) var(--space-3);border-top:1px solid var(--border-subtle)}.empty-hint[data-v-d2519f5a]{margin:var(--space-2) 0 0;font-size:var(--font-size-secondary);color:var(--text-tertiary)}.issue-list[data-v-d2519f5a]{list-style:none;margin:var(--space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.issue[data-v-d2519f5a]{display:flex;align-items:center;gap:var(--space-2);padding:5px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-secondary);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease-out)}.issue.clickable[data-v-d2519f5a]{cursor:pointer}.issue.clickable[data-v-d2519f5a]:hover{background:var(--surface-2);color:var(--text-primary)}.issue-icon[data-v-d2519f5a]{flex-shrink:0}.issue.error .issue-icon[data-v-d2519f5a]{color:var(--danger)}.issue.warning .issue-icon[data-v-d2519f5a]{color:var(--warning)}.issue.info .issue-icon[data-v-d2519f5a]{color:var(--info)}.badge[data-v-d2519f5a]{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-xs);font-size:10px;font-weight:600}.issue.error .badge[data-v-d2519f5a]{background:var(--danger-soft);color:var(--danger)}.issue.warning .badge[data-v-d2519f5a]{background:var(--warning-soft);color:var(--warning)}.issue.info .badge[data-v-d2519f5a]{background:var(--info-soft);color:var(--info)}.message[data-v-d2519f5a]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio[data-v-735fc05c]{display:flex;flex-direction:column;height:100dvh;min-height:480px;background:var(--bg-app);color:var(--text-primary);font-size:var(--font-size-body)}.topbar[data-v-735fc05c]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--surface-1);border-bottom:1px solid var(--border)}.topbar-zone[data-v-735fc05c]{display:flex;align-items:center;gap:var(--space-2)}.topbar-divider[data-v-735fc05c]{width:1px;align-self:stretch;margin:4px 0;background:var(--border-subtle)}.brand[data-v-735fc05c]{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:18px;font-weight:800}.brand strong[data-v-735fc05c]{color:var(--text-primary);font-size:12px;font-weight:700;letter-spacing:1.5px}.project-name[data-v-735fc05c]{color:var(--text-tertiary);font-size:var(--font-size-secondary);padding-right:var(--space-2);border-right:1px solid var(--border-subtle);margin-right:2px}.spacer[data-v-735fc05c]{flex:1}.secondary[data-v-735fc05c]{background:var(--surface-2)}.danger-ghost[data-v-735fc05c]:hover:not(:disabled){color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.zone-view .upload-button[data-v-735fc05c]{position:relative}.zone-view .upload-button input[data-v-735fc05c]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.zone-view .upload-button[data-v-735fc05c]:focus-within{outline:2px solid var(--accent-border);outline-offset:2px}.error-text[data-v-735fc05c]{margin:0;font-size:var(--font-size-caption);color:var(--danger);line-height:1.4;max-width:220px}.restored-badge[data-v-735fc05c]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:var(--font-size-caption);font-weight:600;letter-spacing:.3px;color:var(--accent);background:var(--accent-soft);border-radius:999px}.restored-badge .dismiss[data-v-735fc05c]{background:transparent;border:0;padding:0;color:inherit;font-size:13px;line-height:1;cursor:pointer}.restored-badge .dismiss[data-v-735fc05c]:hover{background:transparent;opacity:.7}.body[data-v-735fc05c]{flex:1;display:flex;min-height:0}.export-menu[data-v-735fc05c]{position:relative}.export-menu>div[data-v-735fc05c]{position:absolute;z-index:20;right:0;top:36px;width:190px;padding:var(--space-2);display:grid;gap:4px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:menu-in-735fc05c var(--dur) var(--ease-out)}.export-menu>div button[data-v-735fc05c]{width:100%;justify-content:flex-start;background:transparent;border-color:transparent}.sidebar[data-v-735fc05c]{flex-shrink:0;display:flex;flex-direction:column;min-width:0;background:var(--surface-1);overflow:hidden;transition:width var(--dur) var(--ease-out)}.sidebar.left[data-v-735fc05c]{border-right:1px solid var(--border)}.sidebar.right[data-v-735fc05c]{border-left:1px solid var(--border)}.sidebar-header[data-v-735fc05c]{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--space-3);flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.sidebar.collapsed .sidebar-header[data-v-735fc05c]{justify-content:center;padding:0}.resizer[data-v-735fc05c]{width:5px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative}.resizer[data-v-735fc05c]:hover,.resizer[data-v-735fc05c]:active{background:var(--accent-soft)}.tool-groups[data-v-735fc05c]{flex:1;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-3)}.tool-group[data-v-735fc05c]{display:flex;flex-direction:column;gap:2px}.tool-group-label[data-v-735fc05c]{margin:0 0 2px 4px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-disabled)}.tool-group-items[data-v-735fc05c]{display:flex;flex-direction:column;gap:1px}.tool-groups.icon-only .tool-group-items[data-v-735fc05c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:3px}.tool[data-v-735fc05c]{position:relative;justify-content:flex-start;gap:var(--space-2);width:100%;height:32px;background:transparent;border-color:transparent;border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--text-secondary)}.tool[data-v-735fc05c]:hover:not(:disabled):not(.active){background:var(--surface-2);color:var(--text-primary)}.tool.active[data-v-735fc05c]{background:var(--accent-soft);border-color:transparent;color:var(--text-primary);box-shadow:inset 2px 0 0 var(--accent)}.tool-icon[data-v-735fc05c]{flex-shrink:0}.tool-label[data-v-735fc05c]{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-secondary)}.tool kbd[data-v-735fc05c]{flex-shrink:0}.tool-groups.icon-only .tool[data-v-735fc05c]{width:34px;height:34px;padding:0;justify-content:center}.tool-groups.icon-only .tool.active[data-v-735fc05c]{box-shadow:inset 0 -2px 0 var(--accent)}.layers-section[data-v-735fc05c]{flex-shrink:0;max-height:42%;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border-subtle)}.canvas-area[data-v-735fc05c]{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas-bg)}.viewport[data-v-735fc05c]{position:relative;flex:1;min-height:0;overflow:hidden}.tool-hud[data-v-735fc05c]{position:absolute;top:var(--space-3);left:var(--space-3);max-width:320px;padding:8px 12px;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);pointer-events:none}.tool-hud strong[data-v-735fc05c]{display:block;font-size:var(--font-size-secondary);color:var(--text-primary)}.tool-hud p[data-v-735fc05c]{margin:3px 0 0;font-size:var(--font-size-caption);color:var(--text-tertiary);line-height:1.5}.welcome[data-v-735fc05c]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(410px,90%);padding:32px 26px;background:var(--overlay);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-strong);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);animation:welcome-in-735fc05c .4s var(--ease-out)}.welcome .hint[data-v-735fc05c]{display:inline-block;margin:0;padding:4px 10px;font-size:var(--font-size-caption);font-weight:600;letter-spacing:.4px;color:var(--accent);background:var(--accent-soft);border-radius:999px}.welcome h1[data-v-735fc05c]{font-size:22px;margin:14px 0 8px}.welcome p[data-v-735fc05c]{color:var(--text-secondary);line-height:1.8}.welcome>div[data-v-735fc05c]{display:flex;justify-content:center;gap:8px;margin:20px 0}.welcome small[data-v-735fc05c]{color:var(--text-tertiary);font-size:var(--font-size-caption)}.zoom-hud[data-v-735fc05c]{position:absolute;bottom:var(--space-4);right:var(--space-4);display:flex;align-items:center;gap:2px;padding:4px;background:var(--overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.hud-divider[data-v-735fc05c]{width:1px;height:18px;margin:0 2px;background:var(--border-strong)}.zoom-readout[data-v-735fc05c]{min-width:42px;text-align:center;font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.panel-tabs[data-v-735fc05c]{display:flex;align-items:center;height:40px;flex-shrink:0;border-bottom:1px solid var(--border-subtle);padding:0 var(--space-1)}.panel-tabs.icon-only[data-v-735fc05c]{flex-direction:column;height:auto;padding:var(--space-1) 0;gap:2px}.tab[data-v-735fc05c]{flex:1;gap:6px;height:32px;background:transparent;border:0;border-radius:0;border-bottom:2px solid transparent;color:var(--text-tertiary);font-size:var(--font-size-secondary)}.tab[data-v-735fc05c]:hover:not(:disabled){background:transparent;color:var(--text-primary)}.tab.active[data-v-735fc05c]{color:var(--text-primary);border-bottom-color:var(--accent);box-shadow:none}.panel-tabs.icon-only .tab[data-v-735fc05c]{flex:none;width:34px;height:34px;border-bottom:0;border-radius:var(--radius-sm)}.panel-tabs.icon-only .tab.active[data-v-735fc05c]{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.panel-tabs .collapse-toggle[data-v-735fc05c]{margin-left:auto;flex-shrink:0}.panel-tabs.icon-only .collapse-toggle[data-v-735fc05c]{margin-left:0;order:-1;margin-bottom:4px}.panel-body[data-v-735fc05c]{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3)}.panel-body[data-v-735fc05c] .hint,.panel-body[data-v-735fc05c] .empty-hint{color:var(--text-tertiary);line-height:1.7}.panel-body[data-v-735fc05c] input,.panel-body[data-v-735fc05c] select{min-width:0;max-width:100%}.statusbar[data-v-735fc05c]{flex-shrink:0;background:var(--surface-1);border-top:1px solid var(--border)}@keyframes welcome-in-735fc05c{0%{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes menu-in-735fc05c{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){.studio[data-v-735fc05c]{height:auto;min-height:100dvh}.body[data-v-735fc05c]{flex-wrap:wrap}.resizer[data-v-735fc05c]{display:none}.sidebar.left[data-v-735fc05c],.sidebar.right[data-v-735fc05c]{width:100%!important}.sidebar.right[data-v-735fc05c]{border-left:0;border-top:1px solid var(--border-subtle);max-height:360px}.canvas-area[data-v-735fc05c]{min-height:520px}.welcome[data-v-735fc05c]{padding:20px 12px}.welcome h1[data-v-735fc05c]{font-size:19px}.welcome>div[data-v-735fc05c]{flex-wrap:wrap}}
