:root{--text:#1d1b22;--muted:#5e5a66;--bg:#fbfaf8;--surface:#fff;--border:#e3e1e6;--accent:#3b528b;--canvas:#f4f3f1;--grid-minor:#e9e7e4;--grid-major:#d6d3cf;--wall:#1d1b22;--wall-casing:#1d1b22;--opening:#9a96a3;--ap:#fff;--ap-ring:#1d1b22;--selection-halo:#3b528b40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:14px/1.45 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#ecebef;--muted:#a6a2ad;--bg:#16151a;--surface:#1f1e24;--border:#2e2c34;--accent:#8fb4ff;--canvas:#1b1a20;--grid-minor:#25242b;--grid-major:#33313a;--wall:#ecebef;--wall-casing:#000;--opening:#6f6b78;--ap:#1f1e24;--ap-ring:#ecebef;--selection-halo:#8fb4ff4d}}html,body,#root{height:100%;margin:0}a{color:var(--accent)}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:.375rem;padding:.3rem .7rem}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible+*,.editor-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template:"top top top""tools stage props"1fr"status status status"/auto 1fr 18rem;height:100dvh;display:grid;overflow:hidden}.top-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;grid-area:top;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;display:flex}.brand{align-items:baseline;gap:.75rem;margin-right:auto;display:flex}.plan-name{color:var(--muted)}.top-group{gap:.25rem;display:flex}.segmented{border:0;margin:0;padding:0;display:flex}.segmented label{border:1px solid var(--border);cursor:pointer;padding:.3rem .65rem;position:relative}.segmented label+label{margin-left:-1px}.segmented label:first-of-type{border-radius:.375rem 0 0 .375rem}.segmented label:last-of-type{border-radius:0 .375rem .375rem 0}.segmented label:has(input:checked){z-index:1;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.segmented label:has(input:focus-visible){z-index:2;outline:2px solid var(--accent);outline-offset:1px}.segmented input{opacity:0;pointer-events:none;position:absolute}.toggle{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.toggle input{accent-color:var(--accent);margin:0}.panel-toggle{display:none}.toolbar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;grid-area:tools;gap:.25rem;padding:.5rem;display:flex}.toolbar button{border-color:#0000;flex-direction:column;align-items:center;gap:.1rem;min-width:3.5rem;padding:.4rem;display:flex}.toolbar button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.tool-name{font-size:.75rem}.stage{grid-area:stage;min-width:0;min-height:0;position:relative}.editor-canvas{touch-action:none;width:100%;height:100%;display:block}.notice{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;width:fit-content;margin:0 auto;padding:.6rem 1rem;position:absolute;inset:1rem 1rem auto}.properties{border-left:1px solid var(--border);background:var(--surface);grid-area:props;padding:0 1rem 1rem;overflow-y:auto}.properties section{padding-top:1rem}.properties section+section{border-top:1px solid var(--border);margin-top:1rem}.properties h2{margin:0;font-size:1rem}.kind{color:var(--muted);margin:.1rem 0 .75rem}dl{grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:0;display:grid}.dl-row{display:contents}dt{color:var(--muted)}dd{font-variant-numeric:tabular-nums;margin:0}.properties h3{margin:1rem 0 .4rem;font-size:.875rem}.object-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.object-list button{text-align:left;width:100%}.hint{color:var(--muted);margin:.75rem 0 0;font-size:.8125rem}.legend{grid-template-columns:auto auto 1fr;align-items:center;gap:.35rem .6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.legend li{display:contents}.swatch{border-radius:.2rem;width:1rem;height:1rem}.swatch-none{box-sizing:border-box;border:1px dashed var(--muted)}.legend-label{font-weight:600}.legend-range{font-variant-numeric:tabular-nums;color:var(--muted)}.status-bar{border-top:1px solid var(--border);background:var(--surface);grid-area:status;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 1rem;display:flex}.readout{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.zoom{gap:.25rem;display:flex}.zoom button{min-width:2rem;padding:.15rem .5rem}.material-picker{border:0;gap:.2rem;margin:0;padding:0;display:grid}.material-picker legend{margin-bottom:.4rem;font-weight:600}.material-picker label{cursor:pointer;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.5rem;padding:.25rem .4rem;display:flex}.material-picker label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.material-picker label:has(input:focus-visible){outline:2px solid var(--accent)}.material-picker input{opacity:0;pointer-events:none;position:absolute}.wall-swatch{flex:none;width:40px;height:16px}.wall-legend{gap:.3rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.wall-legend li{align-items:center;gap:.5rem;display:flex}.tips{padding-left:1rem}.tips li+li{margin-top:.3rem}.length-input{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:.5rem;flex-wrap:wrap;align-items:end;gap:.4rem;max-width:18rem;padding:.5rem;display:flex;position:absolute;box-shadow:0 6px 18px #0000002e}.length-input label{color:var(--muted);gap:.15rem;font-size:.75rem;display:grid}.length-input input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.25rem;padding:.25rem .4rem;font-size:.875rem}.length-input input[aria-invalid=true]{border-color:#d55e00}.length-error{color:#d55e00;flex-basis:100%;margin:0;font-size:.75rem}.actions{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.danger{color:#b3261e;border-color:color-mix(in srgb, #b3261e 40%, var(--border))}@media (prefers-color-scheme:dark){.danger{color:#ff8a80}}.field{gap:.2rem;margin-bottom:.75rem;display:grid}.field label{color:var(--muted)}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:.375rem;padding:.3rem .5rem}.field input[aria-invalid=true]{border-color:#d55e00}.field-error{color:#d55e00;margin:0;font-size:.75rem}.opening-kind{margin-bottom:.75rem}.properties .material-picker{margin-top:1rem}.menu{position:relative}.menu summary{border:1px solid var(--border);cursor:pointer;border-radius:.375rem;padding:.3rem .7rem;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:" ▾";color:var(--muted)}.menu[open] summary{border-color:var(--accent)}.menu-items{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;min-width:14rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .25rem);left:0;box-shadow:0 8px 24px #0000002e}.menu-items button{text-align:left;border-color:#0000;justify-content:space-between;gap:1rem;display:flex}.menu-items button:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}kbd{font:inherit;color:var(--muted)}.dialog{max-width:min(30rem,100vw - 2rem);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;box-shadow:0 16px 48px #0000004d}.dialog::backdrop{background:#00000059}.dialog h2{margin:0 0 .5rem;font-size:1.1rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}button.primary{color:var(--surface);background:var(--accent);border-color:var(--accent)}.issues{margin:.5rem 0 0;padding-left:1.1rem}.issues code{color:var(--muted);font-size:.8125rem}.plan-list{gap:.25rem;max-height:55vh;margin:.75rem 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.plan-list li{border:1px solid var(--border);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.plan-list li[aria-current]{border-color:var(--accent)}.plan-name-cell{display:grid}.plan-name-cell span{color:var(--muted);font-size:.8125rem}.plan-list input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:.375rem;padding:.3rem .5rem}.plan-actions{flex-wrap:wrap;gap:.25rem;display:flex}.plan-actions button{padding:.2rem .55rem;font-size:.8125rem}button.danger-fill{color:#fff;background:#b3261e;border-color:#b3261e}.save-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 0 auto;overflow:hidden}.save-status[data-problem]{color:#d55e00;font-weight:600}@media (width<=48rem){.app{grid-template:"top""stage"1fr"tools""status"/1fr}.toolbar{border-right:0;border-top:1px solid var(--border);flex-direction:row}.panel-toggle{display:inline-block}.properties{border-left:0;border-top:1px solid var(--border);z-index:10;max-height:60dvh;transition:translate .2s;position:fixed;inset:auto 0 0;translate:0 100%;box-shadow:0 -8px 24px #00000026}.properties[data-open]{translate:0}.brand .plan-name{display:none}}
