:root{--paper:#f6f4ef;--paper-edge:#ebe7de;--ink:#26241f;--ink-soft:#5c5850;--ink-faint:#8f8a80;--grid-minor:#e7e2d7;--grid-major:#d5cebf;--room:#fffdf8;--room-paving:#f2e3d5;--room-garden:#e2ecd6;--wall-bearing:#5b5750;--wall-partition:#a09a8f;--glazing:#3d6f8e;--accent:#b5542d;--chrome:#f6f4ef;--hairline:#d9d3c7;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--touch:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--paper);height:100%;color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#app{background:var(--paper);position:fixed;inset:0}.app{height:100dvh;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid}.topbar{padding:calc(env(safe-area-inset-top) + 4px) 8px 4px 16px;border-bottom:1px solid var(--hairline);background:var(--chrome);z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{white-space:nowrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.area-chip{min-height:var(--touch);color:var(--ink-soft);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:14px;display:inline-flex}.area-chip:active{background:var(--paper-edge)}.area-panel{width:min(360px,100%)}.area-total{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px 6px;display:flex}.area-total-label{color:var(--ink-soft);font-size:14px}.area-total-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.area-rows{margin:0;padding:2px 14px 8px}.area-rows>div{justify-content:space-between;gap:12px;padding:4px 0;font-size:14px;display:flex}.area-rows dt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.area-rows dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.area-plus{color:var(--ink-soft)}.project-switch{min-width:0;min-height:var(--touch);border:0;border-left:1px solid var(--hairline);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:0 8px 8px 0;align-items:center;gap:2px;margin-left:4px;padding:0 4px 0 10px;font-size:15px;font-weight:600;display:inline-flex}.project-switch:active{background:var(--paper-edge)}.project-switch-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.project-switch-logo{flex:none;width:24px;height:24px;margin-right:4px}.project-switch-caret{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.brand-name{letter-spacing:-.01em;font-size:17px;font-weight:650}.tools{flex:none;align-items:center;gap:2px;display:flex}.tool,.lang-option{min-width:var(--touch);min-height:var(--touch);color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tool svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.tool:active,.lang-option:active{background:var(--paper-edge)}.zoom-readout{text-align:center;font-variant-numeric:tabular-nums;min-width:72px;color:var(--ink-soft);font-size:12px}.lang{border-left:1px solid var(--hairline);margin-left:6px;padding-left:6px;display:inline-flex;position:relative}.lang-option{letter-spacing:.04em;min-width:40px;color:var(--ink-faint);gap:2px;padding:0 4px 0 8px;font-size:12px;font-weight:600}.lang-option.is-active{color:var(--ink)}.lang-option svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.lang-list{z-index:30;border:1px solid var(--hairline);background:var(--paper);border-radius:10px;min-width:160px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000024}.lang-list.is-up{top:auto;bottom:calc(100% + 4px)}.lang-choice{width:100%;min-height:var(--touch);color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.lang-choice:active,.lang-choice.is-active{background:var(--paper-edge)}.lang-code{letter-spacing:.04em;min-width:22px;color:var(--ink-faint);font-size:12px;font-weight:600}.workspace{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.canvas-area{min-width:0;min-height:0;position:relative;container:plan/size}.canvas-button{border:1px solid var(--hairline);background:var(--chrome);position:absolute;bottom:12px;right:12px}.snap-toggle{bottom:116px}.electrical-toggle{bottom:168px}.lighting-toggle{bottom:220px}.objects-button{bottom:288px}.grid-toggle,.snap-toggle,.electrical-toggle,.lighting-toggle{color:var(--ink-faint)}.grid-toggle.is-active,.snap-toggle.is-active,.electrical-toggle.is-active,.lighting-toggle.is-active{color:var(--ink);border-color:var(--ink-faint)}.measure-toggle,.notes-button{bottom:40px;left:12px;right:auto}.measure-toggle{bottom:92px}.measure-toggle.is-active{color:var(--paper);background:var(--accent);border-color:var(--accent)}.notes-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.measure-bar{border:1px solid var(--hairline);background:var(--paper);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:6px 6px 6px 12px;display:flex;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 4px 12px #26241f1f}.measure-hint{color:var(--ink-soft);font-size:14px}.measure-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}@media (min-width:900px){.workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto}}.plan-host{position:absolute;inset:0}.plan{touch-action:none;cursor:default;width:100%;height:100%;display:block}.plan.is-draw,.plan.is-calibrate,.plan.is-measuring{cursor:crosshair}.plan.is-panning{cursor:grabbing}.plan .wall-end,.plan .measure-end,.plan .grip{cursor:move}.plan line,.plan polygon,.plan path,.plan rect,.plan circle{vector-effect:non-scaling-stroke}.grid{pointer-events:none}.grid-minor{stroke:var(--grid-minor);stroke-width:.5px}.grid-major{stroke:var(--grid-major);stroke-width:.75px}.room{fill:var(--room);fill-opacity:.82;stroke:none}.room-outdoor{stroke:none;pointer-events:none}.room-paving{fill:var(--room-paving)}.room-garden{fill:var(--room-garden)}.room-label.is-outdoor .room-name{font-style:italic}.room-stale{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:10 6;vector-effect:non-scaling-stroke;pointer-events:none}.wall{stroke:none}.wall-bearing{fill:var(--wall-bearing)}.wall-partition{fill:var(--wall-partition)}.wall.wall-railing{fill:#ece7dc;stroke:var(--ink-soft);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wall.wall-glazing{fill:#3d6f8e4d;stroke:var(--glazing);stroke-width:1.25px;vector-effect:non-scaling-stroke}.wall-divider{stroke:var(--glazing);stroke-width:2.5px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;pointer-events:none}.rubber-band-line.wall-divider{stroke:var(--glazing);stroke-width:2.5px;stroke-dasharray:8 6}.opening-cut{fill:#0000;stroke:none}.opening-threshold{fill:none;stroke:var(--ink-soft);stroke-width:.75px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.window-frame{stroke:var(--ink);stroke-width:.75px}.glazing{stroke:var(--glazing);stroke-width:1.5px}.door-leaf{stroke:var(--ink);stroke-width:1.25px}.door-arc{fill:none;stroke:var(--ink-soft);stroke-width:.75px;stroke-dasharray:3 3}.opening-frame,.opening-trim{fill:var(--paper);stroke:var(--ink);stroke-width:.75px}.opening-leaf{fill:var(--ink-soft);stroke:var(--ink);stroke-width:.75px}.opening[data-type=entrance] .opening-leaf{fill:var(--ink)}.opening-entrance{fill:var(--ink);stroke:none}.opening-sill{fill:var(--paper-edge);stroke:var(--ink);stroke-width:.75px}.opening-mullion{stroke:var(--ink);stroke-width:.75px}.opening-slide-open,.opening-pocket{fill:none;stroke:var(--ink-soft);stroke-width:.75px;stroke-dasharray:3 3}.opening-window .door-leaf{stroke:var(--ink-soft);stroke-width:.75px}.opening-hit{fill:#0000;stroke:none;cursor:pointer}@media (hover:hover){.opening-hit:hover{fill:#b5542d14}}.opening-hit.is-draggable{cursor:grab}.opening-hit.is-draggable:active{cursor:grabbing}.opening-gap-line{stroke:var(--accent);stroke-width:1.25px}.opening-gap-label{text-anchor:middle;fill:var(--accent);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#fffdf8e6;stroke-width:4px;pointer-events:none;font-size:12px;font-weight:600}.room-label{text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--room);stroke-width:3px;stroke-linejoin:round}.room-hit{fill:#0000;pointer-events:auto}.room-name{fill:var(--ink);font-size:12px;font-weight:600}.room-area{fill:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:11px}.scale-bar{pointer-events:none}.scale-bar-half{fill:var(--ink)}.scale-bar-half.alt{fill:var(--paper)}.scale-bar-frame{fill:none;stroke:var(--ink);stroke-width:1px}.scale-bar-label{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:11px}.statusbar{border-top:1px solid var(--hairline);background:var(--chrome);color:var(--ink-faint);white-space:nowrap;align-items:center;gap:16px;padding:6px 16px;font-size:11px;display:flex;overflow:hidden}.statusbar .notice{text-overflow:ellipsis;min-width:0;overflow:hidden}.statusbar .version{font-variant-numeric:tabular-nums;margin-left:auto}.error{color:var(--accent);padding:24px}.object-hit{fill:#0000;stroke:none}.object-body{stroke:var(--ink-soft);stroke-width:1px;fill-opacity:.85}.object-symbol{fill:#fffdf8b3;stroke:var(--ink-soft);stroke-width:.75px;pointer-events:none}.object-symbol.is-dashed{stroke-dasharray:4 3}.object-symbol.is-open{fill:none}.object-symbol.is-filled{fill:var(--ink-soft)}.object.is-electrical .object-body{fill-opacity:.9;stroke:#6b4e16}.object.is-electrical .object-symbol{fill:none;stroke:#4a3410;stroke-width:1px}.object.is-electrical .object-symbol.is-filled{fill:#4a3410}.object.is-electrical.is-selected .object-body{stroke:var(--accent)}.object.is-electrical.is-off{opacity:.45}.object.is-awning .object-body{fill-opacity:.28;stroke-dasharray:8 5}.object.is-awning.is-closed.awning-roll .object-body{fill-opacity:0;stroke-opacity:.4}.object.is-awning.is-closed.awning-pergola .object-body{fill-opacity:.55}.object.is-awning .object-symbol{fill:#fffdf859}.object.is-awning .object-symbol.is-filled{fill:var(--ink-soft)}.object.is-selected .object-body{stroke:var(--accent);stroke-width:1.5px}.object.is-locked .object-body{stroke-dasharray:4 3}.object-label{text-anchor:middle;dominant-baseline:central;fill:var(--ink);pointer-events:none;paint-order:stroke;stroke:#fffdf8b3;stroke-width:3px;stroke-linejoin:round;font-size:11px}.object-label.is-awning{font-size:10px}.object-label .object-dims{fill:var(--ink-soft);font-size:9.5px}.selection-outline{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 4;pointer-events:none}.measures{pointer-events:none}.plan.is-measuring .measure-hit{pointer-events:auto}.measure-hit{fill:#0000}.measure.is-selected .measure-hit{fill:#b5542d1f}.measure-line{stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round}.measure.is-selected .measure-line{stroke-width:3px}.measure-label{text-anchor:middle;fill:var(--accent);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#fffdf8e6;stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:600}.plan.is-measuring .measure-end,.plan.is-measuring .grip{pointer-events:auto}.measure-end-hit{fill:#0000}.measure-end-knob{fill:var(--paper);stroke:var(--accent);stroke-width:2px}.measure-end.is-pending .measure-end-knob{fill:var(--accent);stroke:var(--paper)}.measure-snap{fill:none;stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.draw-wall-point{fill:var(--paper);stroke:var(--accent);stroke-width:2px;pointer-events:none}.snap-guide{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;pointer-events:none}.rotate-stem{stroke:var(--accent);stroke-width:1.25px}.rotate-hit{fill:#0000}.rotate-knob{fill:var(--paper);stroke:var(--accent);stroke-width:2px;pointer-events:none}.rotate-handle{cursor:grab}.resize-hit{fill:#0000}.resize-knob{fill:var(--paper);stroke:var(--accent);stroke-width:2px;pointer-events:none}.resize-handle[data-side=top],.resize-handle[data-side=bottom]{cursor:ns-resize}.resize-handle[data-side=left],.resize-handle[data-side=right]{cursor:ew-resize}.tool:disabled{color:var(--ink-faint);opacity:.5;cursor:default}.tool-add{color:var(--paper);background:var(--ink);border-radius:10px}.tool-add:active{background:var(--ink-soft)}.tool-sep{background:var(--hairline);width:1px;height:24px;margin:0 4px}.tool.danger{color:var(--accent)}.inspector-dock{border-top:1px solid var(--hairline);background:var(--chrome);-webkit-overflow-scrolling:touch;z-index:1;max-height:46dvh;overflow:hidden auto}@media (min-width:900px){.inspector-dock{border-top:0;border-left:1px solid var(--hairline);width:320px;max-height:none}}.inspector{-webkit-user-select:text;user-select:text;padding:8px 12px 12px}.inspector-head{align-items:flex-end;gap:8px;display:flex}.inspector-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.done{min-height:var(--touch);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 14px;font-size:15px;font-weight:600}.inspector-bar{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;display:flex}.object-actions{flex-wrap:wrap;gap:2px;min-width:0;max-width:100%;display:flex}.tool.is-on{background:var(--paper-edge);color:var(--accent)}.unit-switch{border:1px solid var(--hairline);border-radius:10px;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.unit-option{min-width:48px;min-height:40px;color:var(--ink-soft);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;font-size:14px}.unit-option.is-active{background:var(--ink);color:var(--paper)}.inspector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-top:8px;display:grid}@media (min-width:900px){.inspector-head{flex-wrap:wrap}.inspector-head .field-name{flex:1 0 100%}.inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{flex-direction:column;gap:2px;min-width:0;display:flex}.field-name{flex:1}.field-label{letter-spacing:.02em;color:var(--ink-soft);font-size:11px}.field-box{border:1px solid var(--hairline);background:#fff;border-radius:8px;align-items:center;display:flex}.field input[type=text]{width:100%;min-width:0;min-height:var(--touch);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;background:0 0;border:0;padding:0 8px;font-size:16px}.field-name input[type=text]{border:1px solid var(--hairline);background:#fff;border-radius:8px}.field input:focus{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.field input:disabled{color:var(--ink-faint)}.field-unit{color:var(--ink-faint);padding-right:8px;font-size:13px}.field-box.has-steps .field-unit{padding-right:4px}.field-steps{border-left:1px solid var(--hairline);flex-direction:column;align-self:stretch;display:flex}.field-step{width:30px;color:var(--ink-soft);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:1;place-items:center;padding:0;display:grid}.field-step+.field-step{border-top:1px solid var(--hairline)}.field-step:active:not(:disabled){background:var(--accent-soft,#0000000f)}.field-step:disabled{color:var(--ink-faint);cursor:default}.field-step .icon{width:14px;height:14px}.field-colour input{width:100%;min-height:var(--touch);border:1px solid var(--hairline);background:#fff;border-radius:8px;padding:2px}.inspector-error{color:var(--accent);margin:8px 0 0;font-size:13px}.inspector-note{color:var(--ink-soft);margin:8px 0 0;font-size:13px}.field-wide{grid-column:1/-1}.stair-choice{margin-left:0;display:flex}.stair-choice .unit-option{flex:1 1 0;min-width:0;padding:0 6px}.field-with-action{align-items:flex-end;gap:6px;min-width:0;display:flex}.field-with-action .field{flex:1;min-width:0}.field-action{min-height:var(--touch);padding:0 10px}.stair-stats{flex-wrap:wrap;gap:4px 16px;margin:10px 0 0;font-size:13px;display:flex}.stair-stats div{gap:6px;display:flex}.stair-stats dt{color:var(--ink-soft)}.stair-stats dd{font-variant-numeric:tabular-nums;margin:0}.stair-comfort.is-short,.stair-comfort.is-long,.stair-comfort.is-steep{color:#9a5b13}.menu-backdrop{z-index:10;padding:calc(env(safe-area-inset-top) + 56px) calc(env(safe-area-inset-right) + 8px) 8px 8px;background:#26241f1f;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.menu{border:1px solid var(--hairline);background:var(--paper);border-radius:12px;width:min(320px,100%);max-height:100%;overflow-y:auto;box-shadow:0 8px 24px #26241f29}.menu-subhead{border-top:1px solid var(--hairline);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;padding:10px 14px 4px;font-size:12px;font-weight:600}.room-row{padding:4px 10px}.room-row form{align-items:center;gap:6px;display:flex}.room-row input{flex:1;min-width:0}.room-row .room-type{flex:0 46%;min-width:0}.room-row input.link-url,.room-row .room-type{min-height:36px;font-size:14px}@media (pointer:coarse){.room-row input.link-url,.room-row .room-type{font-size:16px}}.menu-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:4px 4px 4px 14px;font-size:15px;font-weight:600;display:flex}.menu-list{margin:0;padding:4px;list-style:none}.menu-item{width:100%;min-height:var(--touch);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:15px;display:flex}.menu-item:active{background:var(--paper-edge)}.swatch{border:1px solid var(--ink-faint);border-radius:3px;width:18px;height:18px}.menu-name{flex:1}.menu-size{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:13px}.save-state.is-failed{color:var(--accent)}.loading{color:var(--ink-faint);padding:24px}.save-state.is-offline,.save-state.is-conflict{color:var(--accent)}.link-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;padding:0;text-decoration:underline}.dialog-backdrop{z-index:30;background:#26241f47;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--hairline);background:var(--paper);border-radius:12px;width:min(460px,100%);max-height:100%;padding:18px;overflow-y:auto;box-shadow:0 8px 24px #26241f29}.dialog h2{margin:0 0 6px;font-size:16px}.dialog p{color:var(--ink-soft);margin:0 0 10px;font-size:14px;line-height:1.4}.dialog section+section{border-top:1px solid var(--hairline);margin-top:16px;padding-top:14px}.link-row{align-items:center;gap:6px;display:flex}.link-url{min-width:0;min-height:var(--touch);border:1px solid var(--hairline);background:var(--room);color:var(--ink);font:inherit;border-radius:8px;flex:1;padding:0 10px;font-size:16px}.pill{min-height:var(--touch);border:1px solid var(--hairline);background:var(--paper-edge);color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;padding:0 12px;font-size:14px}.dialog-actions{justify-content:flex-end;margin-top:16px;display:flex}.choice-list{flex-direction:column;gap:8px;display:flex}.choice{min-height:var(--touch);border:1px solid var(--hairline);background:var(--room);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.choice span{color:var(--ink-soft);font-size:13px}.choice:disabled{opacity:.5}.toast{left:50%;bottom:calc(40px + env(safe-area-inset-bottom));z-index:25;background:var(--ink);max-width:calc(100% - 32px);color:var(--paper);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}@media (max-width:759px){.project-switch-name,.project-switch-caret,.area-chip-value{display:none}.project-switch{padding-right:8px}.zoom-readout{min-width:52px}}@media (max-width:899px){.brand-name,.topbar .lang{display:none}.project-switch{border-left:0;border-radius:8px;margin-left:-8px;padding-left:8px}.app.has-selection .statusbar .version{display:none}}@media (max-width:560px){.area-chip{padding:0 5px}.floor-chip{gap:2px;padding:0 3px;font-size:13px}.project-switch{padding-left:6px;padding-right:6px}.brand{gap:2px}.tools{gap:0}.tools .tool{min-width:40px}.statusbar .notice{display:none}.topbar{gap:4px;padding-left:12px}.lang{margin-left:2px;padding-left:2px}.lang-option{min-width:34px}.inspector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}.dialog-backdrop{padding-top:calc(env(safe-area-inset-top) + 12px);align-items:flex-start}}@media (max-width:679px){.zoom-readout,.tool-zoom,.tool-sep{display:none}}@media (max-width:380px){.tools .tool{min-width:36px}}.rooms,.walls,.openings{pointer-events:none}.save-state.is-revoked,.save-state.is-deleted{color:var(--accent)}.menu.catalogue{flex-direction:column;width:min(380px,100%);display:flex;overflow:hidden}.catalogue-search,.catalogue-filters,.catalogue-notice,.catalogue>.catalogue-actions{flex:none}.catalogue-search{padding:8px 10px 4px}.catalogue-query,.piece-form select{width:100%;min-height:var(--touch);border:1px solid var(--hairline);color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-size:16px}.catalogue-query:focus{outline:2px solid var(--accent);outline-offset:-2px}.catalogue-filters{scrollbar-width:none;border-bottom:1px solid var(--hairline);-webkit-overflow-scrolling:touch;gap:6px;padding:4px 10px 8px;display:flex;overflow-x:auto}.catalogue-filters::-webkit-scrollbar{display:none}.chip{border:1px solid var(--hairline);min-height:36px;color:var(--ink-soft);font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:18px;flex:none;padding:0 12px;font-size:14px}.chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.catalogue-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.catalogue-body section:first-child .menu-subhead{border-top:0}.swatch.is-round{border-radius:50%}.swatch.is-stair{background:repeating-linear-gradient(to bottom, #d8d2c6 0 3px, var(--ink-soft) 3px 4px)}.swatch.is-stair.is-l{clip-path:polygon(0 0,100% 0,100% 100%,55% 100%,55% 45%,0 45%)}.swatch.is-stair.is-u{clip-path:polygon(0 0,100% 0,100% 100%,62% 100%,62% 40%,38% 40%,38% 100%,0 100%)}.swatch.is-stair.is-round{background:repeating-conic-gradient(#d8d2c6 0 26deg, var(--ink-soft) 26deg 30deg)}.swatch.is-electrical{border:1px solid #6b4e16}.swatch.is-awning{border:1px dashed var(--ink-soft);background:repeating-linear-gradient(90deg,#d9b98f 0 4px,#0000 4px 6px)}.menu-tag{border:1px solid var(--hairline);color:var(--ink-soft);border-radius:6px;padding:1px 6px;font-size:12px}.custom-row .pill{min-height:36px}.catalogue-question{border-top:1px solid var(--hairline);flex:none;padding:10px 14px 0}.catalogue-question .catalogue-actions{border-top:0;padding:8px 0 0}.catalogue-notice{padding:6px 14px 0}.catalogue-actions{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px;display:flex}.piece-form{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:10px 12px 0;display:flex;overflow-y:auto}.piece-form .inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.piece-form .catalogue-actions{background:var(--paper);margin:0 -12px;position:sticky;bottom:0}.piece-form .segmented{border:1px solid var(--hairline);border-radius:10px;gap:2px;padding:2px;display:flex}.piece-form .segmented .unit-option{flex:1}.piece-form .unit-option:disabled{color:var(--ink-faint);cursor:default}.piece-where{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.piece-where .menu-text{font-size:13px}.menu-empty{color:var(--ink-soft);margin:0;padding:14px;font-size:14px}.object-row{align-items:center;gap:2px;display:flex}.object-row .menu-item{flex:1;min-width:0}.object-row .menu-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.object-row.is-hidden .menu-name{color:var(--ink-faint)}.object-row.is-selected .menu-item{background:var(--paper-edge)}.row-toggle[aria-pressed=true]{color:var(--accent)}.link-list{margin:10px 0 0;padding:0;list-style:none}.link-item{min-height:var(--touch);border-top:1px solid var(--hairline);align-items:center;gap:8px;display:flex}.link-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.pill.is-danger{border-color:var(--accent);color:var(--accent)}.pill:disabled{opacity:.5}.fresh-link{border:1px solid var(--accent);border-radius:8px;margin-top:10px;padding:10px}.fresh-link p{margin-bottom:8px}.dialog-error{color:var(--accent);margin:8px 0 0;font-size:13px}.links-empty{margin:10px 0 0;font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tool.danger:disabled{color:var(--ink-faint)}.projects-backdrop{padding-left:calc(env(safe-area-inset-left) + 8px);justify-content:flex-start}.project-rename{flex-direction:column;gap:4px;padding:10px 14px 6px;display:flex}.project-rename label{color:var(--ink-soft);font-size:13px}.projects-actions{border-top:1px solid var(--hairline);padding:6px 14px 12px}.project-remove{flex-direction:column;gap:6px;padding:4px 14px 12px;display:flex}.project-remove label{color:var(--ink-soft);font-size:13px}.project-remove p{color:var(--ink-soft);margin:0;font-size:13px}.project-remove .project-remove-error,.new-project .project-remove-error{color:var(--accent);margin:0;font-size:13px}.link-url.is-invalid{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.projects-actions .inspector-note{margin-top:6px}.email-link{flex-direction:column;gap:6px;margin-top:12px;display:flex}.email-link label{font-size:14px;font-weight:600}.email-link p{margin:0;font-size:13px}.email-sent{color:var(--ink-soft)}.new-project{flex-direction:column;gap:6px;display:flex}.new-project label{color:var(--ink-soft);font-size:13px}.new-project-buttons{justify-content:flex-end;gap:8px;display:flex}.done.is-danger{background:var(--accent)}.email-toggle{min-height:var(--touch);color:var(--ink-soft);margin:0;font-size:14px;display:block}.projects-lang{border-top:1px solid var(--hairline);color:var(--ink-soft);justify-content:space-between;align-items:center;padding:4px 8px 8px 14px;font-size:14px;display:flex}.notes-panel{flex-direction:column;width:min(420px,100%);display:flex}.notes-text{box-sizing:border-box;border:1px solid var(--hairline);background:var(--paper);width:calc(100% - 20px);min-height:40vh;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;margin:10px;padding:10px;font-size:16px;line-height:1.4}.notes-actions{padding:0 10px 10px}.reference-button{bottom:160px;left:12px;right:auto}.draw-toggle{bottom:212px;left:12px;right:auto}.draw-toggle.is-active,.reference-button.is-active{color:var(--paper);background:var(--accent);border-color:var(--accent)}.reference-image{pointer-events:none}.reference-missing{fill:none;stroke:var(--ink-faint);stroke-width:1.5px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;pointer-events:none}.wall-hit{fill:#0000;stroke:#0000;stroke-width:10px;vector-effect:non-scaling-stroke}.wall-end-knob{fill:var(--paper);stroke:var(--accent);stroke-width:2px}.draw-end{fill:var(--accent);stroke:var(--paper);stroke-width:2px;pointer-events:none}.rubber-band{pointer-events:none}.rubber-band-line{stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4;stroke-linecap:round}.calibration-line{stroke:var(--glazing);stroke-width:2px;pointer-events:none}.calibration-cross{fill:none;stroke:var(--glazing);stroke-width:2px;stroke-linecap:round}.calibration-point .measure-end-hit{fill:#3d6f8e1f}.loupe{pointer-events:none}.loupe-bg{fill:var(--paper)}.loupe-ring{fill:none;stroke:var(--ink);stroke-width:2px}.bar-field{color:var(--ink-soft);align-items:center;gap:6px;margin:0;font-size:13px;display:inline-flex}.bar-select,.bar-input,.field-select{min-height:var(--touch);border:1px solid var(--hairline);color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:0 8px;font-size:16px}.bar-input{font-variant-numeric:tabular-nums;width:5.5em}.field-check{min-height:var(--touch);flex-direction:row;align-items:center;gap:8px}.field-check input{width:20px;height:20px;accent-color:var(--accent)}.inspector-title{flex:1;font-size:15px;font-weight:600}.inspector-warning{color:var(--accent)}.inspector-warning p{margin:0 0 8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reference-body{flex-direction:column;gap:12px;padding:12px 14px 14px;display:flex}.menu-text{color:var(--ink-soft);margin:0;font-size:14px}.menu-text.inspector-warning{color:var(--accent)}.file-pill{justify-content:center;align-items:center;display:inline-flex;position:relative}.file-pill.is-disabled{opacity:.5}.reference-opacity input[type=range]{width:100%;min-height:var(--touch);accent-color:var(--accent)}.reference-toggles,.reference-actions{flex-wrap:wrap;gap:6px;display:flex}.reference-toggles .pill{align-items:center;gap:6px;display:inline-flex}.reference-toggles .pill svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pill.is-on{color:var(--accent)}.reference-rotation{align-items:flex-end;gap:6px;display:flex}.reference-rotation .field{flex:1}.new-project-start{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:14px;display:flex}.radio-option{min-height:var(--touch);color:var(--ink);align-items:center;gap:6px;display:inline-flex}.radio-option input{width:18px;height:18px;accent-color:var(--accent)}.draw-node.is-active .wall-end-knob{fill:var(--accent);stroke:var(--paper)}.rubber-band-wall{fill:var(--accent);fill-opacity:.25;stroke:var(--accent);stroke-width:1px}.grip-stem{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:3 3;pointer-events:none}.grip-hit{fill:#0000}.grip-knob{fill:var(--paper);stroke:var(--accent);stroke-width:2px}.grip-hand{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.side-switch{border:1px solid var(--hairline);border-radius:10px;gap:2px;padding:2px;display:inline-flex}.side-option{cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:8px;place-items:center;width:44px;min-height:40px;padding:0;display:grid}.inspector-grid .side-switch{display:flex}.inspector-grid .side-option{flex:1;width:auto}.side-option svg{width:24px;height:24px}.side-option .side-wall{fill:var(--wall-partition)}.side-option .side-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:3 2}.side-option .kind-divider-line{fill:none;stroke:var(--glazing);stroke-width:1.5px;stroke-dasharray:3 2}.side-option .kind-railing-body{fill:#ece7dc;stroke:var(--ink-soft);stroke-width:1.25px}.side-option .kind-railing-posts{fill:none;stroke:var(--ink-soft);stroke-width:1.25px}.side-option .kind-glazing-body{fill:#3d6f8e4d;stroke:var(--glazing);stroke-width:1.25px}.side-option .kind-glazing-line{fill:none;stroke:var(--glazing);stroke-width:1px}.side-option.is-active{background:var(--paper-edge);box-shadow:inset 0 0 0 2px var(--ink)}.side-option:disabled{opacity:.4}.field-value{font-variant-numeric:tabular-nums;padding:8px 0}@media (max-width:679px){.draw-bar .bar-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.draw-bar .measure-hint{font-size:13px}.draw-bar .draw-hint-row{flex-basis:100%}.draw-bar .measure-actions{margin-left:0}.draw-bar .side-option{width:38px}}.bar-icon{min-width:var(--touch);min-height:var(--touch)}@media (max-width:679px){.statusbar .version{display:none}}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.icon-pill,.icon-done{min-width:var(--touch);justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.wall-dims{text-anchor:middle;dominant-baseline:middle;fill:var(--ink-soft);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#fffdf8e6;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:11px}.wall-dims-toggle{color:var(--ink-faint);bottom:64px}.wall-dims-toggle.is-active{color:var(--ink);border-color:var(--ink-faint)}.help-dock{border-top:1px solid var(--hairline);background:var(--chrome);z-index:1;flex-direction:column;height:42dvh;min-height:0;display:flex}.inspector-dock~.help-dock{height:30dvh}.help-dock.is-collapsed{height:auto}@media (min-width:900px){.workspace{grid-auto-columns:auto;grid-auto-flow:column}.help-dock,.inspector-dock~.help-dock{border-top:0;border-left:1px solid var(--hairline);width:320px;height:auto}.help-dock.is-collapsed{width:auto}}.help-head{border-bottom:1px solid var(--hairline);flex:none;align-items:center;gap:2px;padding:2px 4px;display:flex}.help-dock.is-collapsed .help-head{border-bottom:0}.help-heading{min-width:0;min-height:var(--touch);color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0 8px;font-size:15px;font-weight:600;overflow:hidden}.help-heading:disabled{opacity:1;cursor:default}.help-body{-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding-bottom:12px;overflow-y:auto}.help-search{padding:8px 10px 4px;position:relative}.help-search-icon{width:18px;height:18px;color:var(--ink-faint);pointer-events:none;position:absolute;top:20px;left:20px}.help-query{padding-left:36px}.help-group .menu-subhead{margin:8px 0 0}.help-group:first-child .menu-subhead{border-top:0}.help-list{margin:0;padding:2px 6px;list-style:none}.help-row{width:100%;min-height:var(--touch);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.help-row:active{background:var(--paper-edge)}.help-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.help-row-title{font-size:15px}.help-row-summary{color:var(--ink-soft);font-size:13px}.help-topic-icons{flex:none;gap:3px;display:inline-flex}.help-glyph{vertical-align:-6px;border:1px solid var(--hairline);background:var(--paper);width:24px;height:24px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;margin:0 1px;display:inline-flex}.help-glyph .icon{stroke-width:1.8px;width:16px;height:16px}.help-topic{padding:4px 14px 0;font-size:15px;line-height:1.45}.help-topic-title{letter-spacing:-.01em;margin:6px 0 8px;font-size:18px;font-weight:650}.help-topic-top{align-items:flex-start;gap:14px;display:flex}.help-topic-text{flex:1;min-width:0}.help-topic-text p{margin:0 0 10px}.help-steps{margin:0 0 10px;padding-left:20px}.help-steps li{margin-bottom:8px;padding-left:2px}.help-tip{border-left:3px solid var(--accent);background:var(--paper-edge);color:var(--ink-soft);border-radius:0 6px 6px 0;padding:8px 10px;font-size:14px}.help-where{text-align:center;flex:none;width:62px;margin:2px 0 0}.help-where figcaption{color:var(--ink-faint);margin-top:4px;font-size:11px;line-height:1.2}.help-related{margin:4px -14px 0}.screen-map{width:100%;height:auto;display:block}.map-frame{fill:var(--paper);stroke:var(--ink-faint);stroke-width:.8px}.map-plan{fill:var(--room)}.map-plan-lit{fill:#b5542d24}.map-line{fill:none;stroke:var(--hairline);stroke-width:.6px}.map-button{fill:var(--hairline)}.map-lit{fill:var(--accent)}.info-panel{width:min(340px,100%)}.info-body{text-align:center;flex-direction:column;align-items:center;padding:16px 18px 14px;display:flex}.info-logo{border-radius:12px}.info-name{letter-spacing:-.01em;margin:8px 0 4px;font-size:20px;font-weight:650}.info-text{color:var(--ink-soft);margin:0 0 10px;font-size:15px;line-height:1.45}.info-made{min-height:var(--touch);color:var(--ink);align-items:center;gap:5px;margin-top:2px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.info-made:active{opacity:.7}.info-heart .icon{fill:#d23a2c;stroke:#d23a2c;width:18px;height:18px}.info-mail{align-items:center;gap:8px;margin-top:8px;display:inline-flex}.info-version{color:var(--ink-faint);margin:12px 0 0;font-size:12px}.projects-about{border-top:1px solid var(--hairline);border-radius:0}.install-guide{left:50%;bottom:calc(36px + env(safe-area-inset-bottom));z-index:15;border:1px solid var(--hairline);background:var(--paper);border-radius:14px;width:min(380px,100% - 24px);max-height:calc(100dvh - 120px);padding:4px 14px 12px;font-size:15px;line-height:1.45;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 10px 30px #26241f38}.install-head{align-items:center;gap:10px;margin-right:-10px;display:flex}.install-logo{border-radius:8px}.install-title{flex:1;font-size:16px;font-weight:650}.install-text{color:var(--ink-soft);margin:4px 0 8px}.install-hint{color:var(--ink-faint);margin:0 0 10px;font-size:13px}.install-actions{justify-content:flex-end;gap:8px;display:flex}.help-action{margin:0 0 12px}.info-made-link{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.info-mail{padding:0 22px}.pwa-top-edge-sentinel{display:none}@media (display-mode:standalone){.pwa-top-edge-sentinel{pointer-events:none;z-index:2000;background-color:#f6f4ef;background-clip:text;border:0;height:11px;margin:0;padding:0;display:block;position:fixed;top:0;left:0;right:0}}.room-stale-note{color:var(--accent);margin:2px 0 0;font-size:12px}.point-actions{flex-wrap:wrap;gap:8px;padding:4px 0;display:flex}.point-actions .pill{align-items:center;gap:6px;display:inline-flex}.opening-gap{pointer-events:none}.inspector-section{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 0;font-size:12px;font-weight:600}.inspector-more{margin-top:12px}.inspector-more>summary{color:var(--ink-soft);cursor:pointer;align-items:center;min-height:32px;font-size:13px;font-weight:600;display:flex}.opening-add{margin-top:10px}.draw-hint-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.draw-hint-row .measure-hint{flex:1}.draw-hint-row .draw-delete{flex:none}.piece-link-row{gap:8px;display:flex}.piece-link-row input,.piece-paste textarea{min-width:0;min-height:var(--touch);border:1px solid var(--hairline);color:var(--ink);font:inherit;background:#fff;border-radius:8px;flex:auto;padding:0 10px;font-size:16px}.piece-paste textarea{resize:vertical;width:100%;padding:8px 10px}.piece-link-extra{flex-wrap:wrap;gap:4px 16px;display:flex}.piece-paste{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.piece-paste .menu-text{align-self:stretch}.text-link{min-height:32px;color:var(--accent);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;text-decoration:underline;display:inline-flex}.piece-price-at{margin-top:-4px}.compass-button{bottom:316px;left:12px;right:auto}.sun-button{bottom:264px;left:12px;right:auto}@container plan (height<=380px){.compass-button{bottom:264px;left:68px}}.sun-button.is-active{color:#9a6208;background:#fff1cc;border-color:#e0a020}.compass-needle{transition:transform .2s;display:inline-flex}.orientation-panel{padding-bottom:8px}.orientation-stand{gap:6px;display:flex}.orientation-stand .pill{flex:1}.dial-you{fill:var(--accent);stroke:var(--paper);stroke-width:1.5px}.orientation-body{align-items:center;gap:14px;padding:12px 14px 4px;display:flex}.orientation-dial{touch-action:none;cursor:grab;flex:0 0 132px;width:132px;height:132px}.dial-ring{fill:var(--paper);stroke:var(--hairline);stroke-width:1.5px}.dial-top{fill:var(--ink-soft)}.dial-tick{stroke:var(--ink-faint);stroke-width:1.5px}.dial-needle{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.dial-needle-tip{fill:var(--accent)}.dial-n{fill:var(--accent);font-size:11px;font-weight:700}.dial-hub{fill:var(--ink)}.dial-wall{stroke:var(--ink);stroke-width:5px;stroke-linecap:butt}.dial-facing{stroke:var(--ink-soft);stroke-width:2px;stroke-dasharray:3 3}.dial-facing-head{fill:var(--ink-soft)}.orientation-controls{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.orientation-turn,.orientation-buttons,.orientation-side{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.orientation-side{justify-content:space-between}.orientation-note{color:var(--ink-soft);margin:0;padding:6px 14px 10px;font-size:13px;line-height:1.4}.orientation-wall{flex-direction:column;gap:8px;padding:4px 14px 12px;display:flex}.orientation-wall .orientation-note{padding:0}.orientation-question{font-size:13px;font-weight:600}.wind-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.wind-grid .pill{padding:0}.orientation-reading{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.orientation-compass{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.orientation-compass .pill{align-items:center;gap:6px;display:inline-flex}.orientation-compass .pill svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.update-banner{z-index:5;top:calc(env(safe-area-inset-top) + 56px);background:var(--ink);width:min(440px,100vw - 24px);color:var(--chrome);border-radius:16px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:.875rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000040}.update-banner-text{flex:1;min-width:0;line-height:1.3}.update-banner-button{white-space:nowrap;background:var(--accent);color:#fff;min-height:36px;font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.update-banner-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.floor-chip{min-height:var(--touch);color:var(--ink-soft);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:14px;display:inline-flex}.floor-chip:active{background:var(--paper-edge)}.floor-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;display:none;overflow:hidden}@media (min-width:900px){.floor-chip-name{display:inline}}.floors-backdrop{justify-content:flex-start}.floors-panel{width:min(340px,100%)}.floors-list .menu-size{font-variant-numeric:tabular-nums}.floors-add{flex-wrap:wrap;gap:8px;padding:8px 10px 10px;display:flex}.floors-add .pill,.floors-copy .pill,.floors-remove .pill{align-items:center;gap:6px;display:inline-flex}.floors-edit{padding:4px 12px 12px}.floors-copy{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.floors-below{min-height:var(--touch);color:var(--ink-soft);align-items:center;gap:8px;margin-top:6px;font-size:14px;display:flex}.floors-below input{width:20px;height:20px;accent-color:var(--accent)}.floors-remove{margin-top:6px}.underlay{pointer-events:none}.underlay-walls{fill:#8f8a801f;stroke:var(--ink-faint);stroke-width:1px;stroke-opacity:.7;vector-effect:non-scaling-stroke}.underlay-stair>rect,.underlay-stair>circle,.underlay-stair>polygon{fill:none;stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.underlay .object-symbol{fill:none;stroke:var(--ink-faint);stroke-opacity:.8}.sun-panel{padding-bottom:10px}.sun-body{align-items:center;gap:14px;padding:12px 14px 4px;display:flex}.sun-dial{flex:0 0 104px;width:104px;height:104px}.sun-dial-30,.sun-dial-60{fill:none;stroke:var(--hairline);stroke-dasharray:2 3}.sun-dial-ray{stroke:#e0a020;stroke-width:1.5px;stroke-dasharray:3 3}.sun-dial-sun{fill:#ffc940;stroke:#c98a10;stroke-width:1.5px}.sun-readout{flex-direction:column;flex:1;min-width:0;display:flex}.sun-readout .orientation-note{padding:2px 0}.sun-time{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.sun-hour{align-items:center;gap:8px;padding:4px 14px 0;display:flex}.sun-slider{accent-color:#e0a020;flex:1;min-width:0;height:44px}.sun-play svg{fill:currentColor}.sun-clock-note{padding-top:0;font-size:12px}.sun-days,.sun-place{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px 4px;display:flex}.sun-place .pill,.sun-north .pill{align-items:center;gap:6px;display:inline-flex}.sun-place .pill svg,.sun-north .pill svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.sun-date,.sun-city{min-height:36px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:4px 8px;font-size:16px}.sun-north{padding:0 14px 4px}.sun-north .orientation-note{padding:6px 0}.warning-region{fill:#c4342873;stroke:#c43428;stroke-width:1.5px;vector-effect:non-scaling-stroke}.object.is-clash .object-body{stroke:#c43428;stroke-width:2px;vector-effect:non-scaling-stroke}.warning-badge{color:#fff;text-align:center;pointer-events:none;background:#c43428;border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:-6px;right:-6px}.warnings-head{justify-content:space-between;align-items:center;display:flex}.warnings-head .row-toggle{color:var(--ink-faint)}.warnings-head .row-toggle.is-active{color:#c43428}.clearance line{stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:3 2}.clearance text{fill:var(--ink-soft,var(--ink));text-anchor:middle;paint-order:stroke;stroke:var(--paper,#fffdf8);stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:11px}.projects-actions{flex-wrap:wrap;gap:8px;display:flex}.projects-actions.new-project{display:block}.print-panel{width:min(520px,100%)}.print-preview{border:1px solid var(--hairline);background:#fff;margin:10px 14px;line-height:0;box-shadow:0 2px 8px #26241f1f}.print-preview svg{width:100%;height:auto;max-height:46vh;display:block}.print-options{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px;display:grid}.print-checks{flex-wrap:wrap;gap:4px 16px;padding:8px 14px 0;display:flex}.print-actions{flex-wrap:wrap;gap:8px;padding:10px 14px 4px;display:flex}.print-actions .pill{align-items:center;gap:6px;display:inline-flex}.print-hint{padding:4px 14px 12px;font-size:12px}.print-panel .menu-text.inspector-warning{padding:0 14px 6px}.print-pager{justify-content:center;align-items:center;gap:12px;padding:0 14px 4px;font-size:13px;display:flex}.print-floors{flex:100%}#print-root{display:none}@media print{html,body{background:#fff;height:auto;margin:0;padding:0;overflow:visible}body>:not(#print-root){display:none!important}#print-root{display:block}#print-root svg.sheet{break-after:page;page-break-after:always;break-inside:avoid;display:block}#print-root svg.sheet:last-child{break-after:auto;page-break-after:auto}}.projects-bar{border-top:1px solid var(--hairline);align-items:center;gap:2px;padding:4px 8px;display:flex}.projects-bar-gap{flex:1}.projects-bar .lang{border-left:0;margin-left:0;padding-left:0}.projects-bar .tool:disabled{opacity:.4}.print-backdrop,.print-backdrop *{touch-action:pan-x pan-y}
