:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;overscroll-behavior:none;background:#e5e7eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{touch-action:manipulation;overscroll-behavior:none;width:100%;min-width:0}*{box-sizing:border-box}body{touch-action:manipulation;overscroll-behavior:none;-webkit-text-size-adjust:100%;min-width:0;min-height:100dvh;margin:0;overflow:hidden}button,input{font:inherit}button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1}button:disabled{cursor:not-allowed;opacity:.48}.app{grid-template-columns:300px minmax(540px,1fr) 300px;height:100vh;display:grid;overflow:hidden}.sidebar,.inspector{background:#f8fafc;border-right:1px solid #cbd5e1;flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.inspector{border-left:1px solid #cbd5e1;border-right:0}.brand{align-items:center;gap:12px;padding:4px 2px 8px;display:flex}.brand-mark{color:#fff;background:#111827;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}h1,h2,p{margin:0}h1{font-size:20px;line-height:1.1}.brand p,.empty{color:#64748b;font-size:13px}.panel{background:#fff;border:1px solid #dbe3ee;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.panel h2{letter-spacing:0;text-transform:uppercase;color:#475569;font-size:13px;font-weight:800}.button-grid,.tool-strip,.preset-grid,.inline-actions,.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tool-button,.tool-strip button,.preset-grid button,.inline-actions button,.topbar button,.danger{border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:650;display:inline-flex}.tool-button input,label.tool-button input{display:none}.tool-strip button{justify-content:flex-start;min-width:0;padding-inline:8px}.tool-strip svg,.preset-grid svg{flex:none}.tool-strip button.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.preset-grid button{justify-content:flex-start}.toggles{color:#334155;gap:16px;font-size:13px;font-weight:650;display:flex}.toggles label{align-items:center;gap:7px;display:inline-flex}.field{color:#475569;flex-direction:column;gap:6px;font-size:12px;font-weight:750;display:flex}.field input{color:#0f172a;border:1px solid #cbd5e1;border-radius:7px;width:100%;min-height:40px;padding:7px 9px}.field-row{grid-template-columns:1fr 64px;gap:7px;display:grid}.field-row button{border-radius:7px;font-weight:750}.metric-line,.metric-card{color:#475569;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.metric-line strong,.metric-card strong{color:#0f172a}.metric-card{background:#f8fafc;border:1px solid #dbe3ee;border-radius:8px;min-height:58px;padding:10px}.workspace{background:#eef2f7;grid-template-rows:54px 1fr;min-width:0;display:grid}.topbar{color:#475569;background:#fff;border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:13px;display:flex}.topbar>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.topbar strong{color:#0f172a}.stage{cursor:crosshair;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.background-canvas,.overlay{position:absolute;inset:0}.overlay{touch-action:none}.stage-actions{z-index:14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd5e1;border-radius:8px;gap:8px;padding:8px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 12px 32px #0f172a2e}.stage-actions button{border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:750;display:inline-flex}.room-shape polygon{stroke-width:2px;cursor:move;vector-effect:non-scaling-stroke}.room-shape.locked polygon{cursor:pointer}.room-shape.selected polygon{stroke-width:3px}.room-label,.dimension-label,.object-label,.measure-line text{paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-weight:800}.room-label{fill:#0f172a;font-size:14px}.dimension-label{fill:#334155;font-size:12px}.wall-handles circle{fill:#fff;stroke:#0f172a;stroke-width:2px;cursor:grab;vector-effect:non-scaling-stroke}.wall-segment line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wall-segment .wall-hit{stroke:#0000;stroke-width:26px;pointer-events:stroke;cursor:pointer}.wall-segment .wall-visible{pointer-events:none}.wall-segment .wall-opening-fade{stroke:#f8fafc;opacity:.78;pointer-events:none}.wall-segment.outer .wall-visible{stroke:#111827;stroke-width:8px}.wall-segment.outer .wall-opening-fade{stroke-width:10px}.wall-segment.inner .wall-visible{stroke:#475569;stroke-width:5px}.wall-segment.inner .wall-opening-fade{stroke-width:7px}.wall-segment.selected .wall-visible{stroke:#2563eb;stroke-width:10px}.object-shape{cursor:move}.object-shape rect{stroke-width:2px;vector-effect:non-scaling-stroke}.object-shape.selected rect{stroke-width:3px}.object-label{fill:#0f172a;font-size:12px}.resize-handle,.rotate-handle,.vertex{fill:#fff;stroke:#111827;stroke-width:2px;cursor:grab;vector-effect:non-scaling-stroke}.handle-left,.handle-right{cursor:ew-resize}.handle-top,.handle-bottom{cursor:ns-resize}.rotate-handle{fill:#eff6ff;stroke:#2563eb;cursor:grab}.object-shape line{stroke:#111827;stroke-width:1.5px;vector-effect:non-scaling-stroke}.object-shape .rotate-stem{stroke:#2563eb;stroke-width:1.5px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.draft polyline{fill:none;stroke:#2563eb;stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.draft-preview,.draft-close-preview{fill:none;stroke:#2563eb;stroke-width:2px;stroke-dasharray:4 5;opacity:.72;vector-effect:non-scaling-stroke}.draft-close-preview{stroke:#64748b}.draft-close-preview.ready{stroke:#16a34a;stroke-width:4px}.draft circle{fill:#fff;stroke:#2563eb;stroke-width:2px;vector-effect:non-scaling-stroke}.draft .draft-target{fill:#2563eb;fill-opacity:.14;stroke:#1d4ed8;stroke-dasharray:3 3}.draft .snap-target{fill:#0f766e;fill-opacity:.18;stroke:#0f766e;stroke-width:3px}.draft .close-target{fill:#16a34a;fill-opacity:.16;stroke:#16a34a;stroke-width:3px}.stack{flex-direction:column;gap:10px;display:flex}.danger{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.room-list{flex-direction:column;gap:8px;display:flex}.room-list button{text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:13px;display:flex}.mobile-dock{display:none}@media (width<=1200px){.app{grid-template-columns:260px minmax(420px,1fr) 260px}.preset-grid,.button-grid{grid-template-columns:1fr}}@media (width<=900px){body{overflow:hidden}.app{width:100vw;height:100dvh;min-height:0;display:block;overflow:hidden}.workspace{border:0;width:100vw;height:100dvh;min-height:0;display:block;position:relative}.sidebar,.inspector{background:0 0;border:0;display:contents}.brand,.sidebar .panel,.inspector .panel{display:none}.mobile-drawer-tools .sidebar .panel:nth-of-type(2),.mobile-drawer-files .sidebar .panel:first-of-type,.mobile-drawer-files .sidebar .panel:nth-of-type(3),.mobile-drawer-files .sidebar .panel:nth-of-type(4),.mobile-drawer-details .inspector .panel{z-index:20;max-height:min(62dvh,520px);display:flex;position:fixed;bottom:74px;left:10px;right:10px;overflow-y:auto;box-shadow:0 18px 48px #0f172a38}.mobile-drawer-files .sidebar .panel:first-of-type{bottom:74px}.mobile-drawer-files .sidebar .panel:nth-of-type(3){max-height:34dvh;bottom:228px}.mobile-drawer-files .sidebar .panel:nth-of-type(4){max-height:28dvh;bottom:466px}.mobile-drawer-details .inspector .panel:first-of-type{bottom:74px}.mobile-drawer-details .inspector .panel:nth-of-type(2){max-height:22dvh;bottom:244px}.mobile-drawer-details .inspector .panel:nth-of-type(3),.mobile-drawer-details .inspector .panel:nth-of-type(4),.mobile-drawer-details .inspector .panel:nth-of-type(5){display:none}.panel{gap:10px;padding:10px}.button-grid,.preset-grid,.tool-strip,.inline-actions,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-button,.tool-strip button,.preset-grid button,.inline-actions button,.topbar button,.danger{min-height:46px;padding:9px 10px;font-size:13px}.tool-strip button,.preset-grid button{justify-content:flex-start}.field input{min-height:46px;font-size:16px}.field-row{grid-template-columns:minmax(0,1fr) 72px}.topbar{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;align-items:flex-start;padding:8px 10px;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 10px 30px #0f172a29}.topbar>div{gap:8px;width:100%}.topbar>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.topbar>div:first-child span:nth-of-type(n+2){display:none}.topbar button{min-height:40px;padding-inline:8px}.stage{cursor:crosshair;height:100dvh;min-height:0}.mobile-dock{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 12px 36px #0f172a3d}.stage-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;bottom:74px;left:10px;right:10px}.stage-actions button{min-height:48px}.mobile-dock button{border-radius:7px;min-height:46px;font-weight:750}.mobile-dock button.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.room-label{font-size:13px}.dimension-label{font-size:11px}}@media (width<=420px){.button-grid,.inline-actions,.two-col{grid-template-columns:1fr}.tool-button,.tool-strip button,.preset-grid button,.inline-actions button,.topbar button,.danger{min-height:48px}.mobile-dock{gap:6px;padding:6px;bottom:8px;left:8px;right:8px}.mobile-dock button{font-size:12px}.topbar>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-drawer-tools .sidebar .panel:nth-of-type(2),.mobile-drawer-files .sidebar .panel:first-of-type,.mobile-drawer-files .sidebar .panel:nth-of-type(3),.mobile-drawer-files .sidebar .panel:nth-of-type(4),.mobile-drawer-details .inspector .panel,.stage-actions{bottom:68px;left:8px;right:8px}}
