.canvas-stage.measuring #planCanvas{cursor:crosshair}
.canvas-stage.measuring .canvas-note{display:none}
#rulerLayer{pointer-events:none}
.ruler-line{stroke:#40571b;stroke-width:1.5;stroke-dasharray:5 3}
.ruler-point{fill:#fff;stroke:#40571b;stroke-width:1.5}.ruler-point.snapped{fill:#d5f878}
.ruler-label rect{fill:#fff;stroke:#bcc9d0;stroke-width:1}.ruler-label text{font:500 12px var(--font-ui);fill:#202a30}
.ruler-readout{position:absolute;z-index:6;left:50%;bottom:48px;transform:translateX(-50%);max-width:calc(100% - 72px);display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-panel);font:400 12px var(--font-ui)}
.ruler-readout[hidden]{display:none}.ruler-readout output{font-weight:500;white-space:nowrap}.ruler-readout>span{font-size:11px;color:var(--muted)}
.ruler-readout button{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap}.ruler-readout button:last-child{background:var(--lime)}.ruler-readout button:disabled{opacity:.45}
#measureButton[aria-pressed=true]{background:var(--green-light);color:var(--green)}
@media(max-width:900px){.ruler-readout{flex-wrap:wrap;justify-content:center;gap:6px;width:max-content}.ruler-readout>span{display:none}}
@media print{#rulerLayer,.ruler-readout{display:none!important}}
