.configurator-root{--color-bg-app:#2c3e50;--color-bg-workspace:#34495e;--color-accent:#e67e22;--color-text-primary:#ecf0f1;--color-border:#7f8c8d;--color-grid:#6c7a89;--color-error:#e74c3c;--color-handle-bg:#2c3e50;--color-handle-accent:#f59e0b;--color-handle-hover:gold;--color-handle-hover-glow:#ffd700cc;--color-handle-accent-glow:#f59e0bb3;--color-boundary:#e67e22;--color-boundary-edit:#1abc9c;--color-boundary-active:gold;--color-snap:#e67e22;--color-pattern-line:#3e2723;--stroke-boundary:3.5px;--stroke-pattern:3px;--stroke-outline:2px;--color-dimension-line:#94a3b8;--color-dimension-arrow:#64748b;--color-dimension-text:#1e293b;--color-dimension-text-bg:#ffffffe6;--color-dimension-inter-panel:#e67e22;--color-dimension-resize:#1abc9c;--stroke-dimension-line:1.5px;--stroke-dimension-extension:1px;--color-status-error:#e74c3c;--color-status-success:#10b981;--color-snap-corner:#10b981;--color-snap-edge:#14b8a6;--color-snap-wall:#6366f1;--color-snap-glow:#10b98159;--color-snap-marker-fill:#10b981;--color-snap-marker-ring:#10b98140;--color-snap-line:#14b8a6b3;--color-snap-line-corner:#10b981bf;--color-snap-line-wall:#6366f180;--handle-radius:18px;--icon-ui-size:24px;--handle-hit-area:30px;--handle-scale-max:5}@media (max-width:768px){.configurator-root{--handle-radius:18px;--icon-ui-size:24px;--handle-hit-area:30px;--handle-scale-max:2.5}}.configurator-root{--font-main:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:4px;--radius-md:8px;--sidebar-left-width:220px;--sidebar-right-width:260px;--footer-height:40px;font-family:var(--font-main);background-color:var(--color-bg-app);color:var(--color-text-primary);margin:0;padding:0;overflow:hidden}.configurator-root input,.configurator-root button,.configurator-root select{font-family:inherit}
.boundary-line{stroke-width:var(--stroke-boundary,3.5px);stroke-dasharray:6 4;cursor:pointer;transition:stroke .2s,stroke-width .2s,filter .2s}.handle-base-circle{r:var(--handle-radius)}.handle-hit-circle{r:var(--handle-hit-area)}.boundary-group:hover .boundary-handle{filter:drop-shadow(0 0 4px var(--color-handle-hover-glow))}.boundary-line:hover,.boundary-line.hovered{stroke-width:4px;filter:drop-shadow(0 0 6px var(--color-handle-hover-glow))}.boundary-hit-area{stroke:#0000;stroke-width:24px;cursor:grab}.boundary-hit-area:active{cursor:grabbing}.boundary-arrow{cursor:grab;transition:opacity .15s,filter .15s}.boundary-arrow:active{cursor:grabbing}.boundary-handle{cursor:grab;transition:filter .2s,fill .2s}.boundary-handle:hover{filter:drop-shadow(0 0 4px var(--color-handle-hover-glow))}.boundary-handle:active{cursor:grabbing}.dragging .boundary-line{stroke-width:4px;filter:drop-shadow(0 0 8px var(--color-handle-hover-glow))}.line-arrow-handle{opacity:.7;transition:opacity .15s}.interactive-boundary-line.hovered .line-arrow-handle,.interactive-boundary-line.dragging .line-arrow-handle{opacity:1}.position-handle{fill:var(--color-boundary-edit)}.angle-handle{fill:#3498db}