.stairs-preview{background:#d8d7d2;width:100%;height:100%;min-height:360px;position:relative}.stairs-preview canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.preview-hint{color:#f5f3edcc;background:#16191cb8;padding:6px 9px;font:10px IBM Plex Mono,monospace;position:absolute;bottom:12px;right:12px}select{cursor:pointer;background:#eae7de80;border:1px solid #16191c4d;border-radius:12px;width:100%;padding:12px}.stairs-drawing{width:100%;height:auto;font-family:IBM Plex Mono,monospace;display:block}.stairs-drawing line,.stairs-drawing polygon,.stairs-drawing rect{vector-effect:non-scaling-stroke}.stairs-drawing .floor{fill:#c9c4b8}.stairs-drawing .slab{fill:#d9d5cb;stroke:#16191c;stroke-width:1px}.stairs-drawing .stringer{fill:#e9d3ad;stroke:#16191c;stroke-width:1.4px}.stairs-drawing .tread{fill:#b07a45;stroke:#16191c;stroke-width:1px}.stairs-drawing .step{stroke:#16191c;stroke-width:1.4px}.stairs-drawing .nosing-line{stroke:#b07a00;stroke-width:1px;stroke-dasharray:4 3}.stairs-drawing .dim line{stroke:#16191c;stroke-width:.9px}.stairs-drawing .dim text,.stairs-drawing .angle{fill:#16191c}.stairs-drawing .dim.is-fail line{stroke:#c81e1e;stroke-width:1.4px}.stairs-checks td,.stairs-buy td{vertical-align:top;border-top:1px solid #16191c1f;padding:10px 12px}.stairs-checks th,.stairs-buy th{text-align:left;text-transform:uppercase;letter-spacing:.12em;color:#4a4f54;padding:8px 12px;font:600 11px IBM Plex Mono,monospace}.stairs-checks .is-pass .verdict{color:#1f7a3a}.stairs-checks .is-fail{background:#c81e1e12}.stairs-checks .is-fail .verdict{color:#c81e1e}:is(.stairs-3d:fullscreen,.stairs-3d.is-fullscreen){border-radius:0;height:100%}.stairs-3d.is-fullscreen{z-index:60;height:100dvh;position:fixed;inset:0}.stairs-checks .is-note{background:#f5a2001a}.stairs-checks .is-note .verdict{color:#9a6400}.stairs-drawing .plan-flight{fill:#f1e2c6;stroke:#16191c;stroke-width:1.4px;vector-effect:non-scaling-stroke}.stairs-drawing .plan-landing{fill:#d9b98a;stroke:#16191c;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stairs-drawing .riser-line{stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .hidden-line{stroke:#6b6f73;stroke-width:.9px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.stairs-drawing .opening-outline{fill:#f5a20014;stroke:#b07a00;stroke-width:1.2px;stroke-dasharray:8 4;vector-effect:non-scaling-stroke}.stairs-drawing .mark-line{stroke:#b07a00;stroke-width:1.6px;vector-effect:non-scaling-stroke}.stairs-drawing .plan-label{fill:#16191c;font-weight:600}.stairs-drawing .riser-board{fill:#f4f1ea;stroke:#16191c;stroke-width:1px;vector-effect:non-scaling-stroke}.stairs-drawing .screw{stroke:#4a4f54;stroke-width:1.6px;vector-effect:non-scaling-stroke}#stairs-result figure .stairs-drawing,#landing-result figure .stairs-drawing,#ushape-result figure .stairs-drawing{width:100%;height:300px}#stairs-result figure,#landing-result figure,#ushape-result figure{cursor:zoom-in}.drawing-zoom{z-index:70;cursor:zoom-out;background:#f5f3ed;flex-direction:column;gap:10px;padding:24px;display:flex;position:fixed;inset:0}.drawing-zoom p{text-transform:uppercase;letter-spacing:.1em;color:#4a4f54;font:600 12px IBM Plex Mono,monospace}.drawing-zoom .stairs-drawing{flex:1;width:100%;height:100%;min-height:0}.stairs-checks-list li{color:#f5f3ed;grid-template-columns:1fr auto;gap:2px 10px;font:12.5px/1.4 IBM Plex Mono,monospace;display:grid}.stairs-checks-list .check-detail{color:#eae7de99;grid-column:1/-1;font-size:11.5px}.stairs-checks-list .verdict{text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}.stairs-checks-list .is-pass .verdict{color:#b8f0c8;background:#1f7a3a59}.stairs-checks-list .is-fail .verdict{color:#ffe1e1;background:#dc262673}.stairs-checks-list .is-note .verdict{color:#ffe2a8;background:#f5a2004d}.stairs-drawing .dim line,.stairs-drawing .ext,.stairs-drawing .tick{stroke:#16191c;stroke-width:.6px;vector-effect:non-scaling-stroke;fill:none}.stairs-drawing .tick{stroke-width:1.1px}.stairs-drawing .dim text,.stairs-drawing .leader text,.stairs-drawing .datum text,.stairs-drawing .note{fill:#16191c}.stairs-drawing .dim.is-fail line,.stairs-drawing .dim.is-fail .tick{stroke:#c81e1e;stroke-width:1.2px}.stairs-drawing .dim.is-fail text{fill:#c81e1e;font-weight:700}.stairs-drawing .object{stroke:#16191c;stroke-width:1.3px;fill:none;vector-effect:non-scaling-stroke}.stairs-drawing .stringer-fill{fill:#e9d3ad;stroke:none}.stairs-drawing .hatch{stroke:none}.stairs-drawing .hatch-line{stroke:#16191c;stroke-width:.5px;opacity:.45;vector-effect:non-scaling-stroke}.stairs-drawing .floor{fill:#d6d1c5;stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .rail{stroke:#a8703f;stroke-width:2.2px;vector-effect:non-scaling-stroke}.stairs-drawing .leader line{stroke:#16191c;stroke-width:.6px;vector-effect:non-scaling-stroke}.stairs-drawing .leader circle{fill:#16191c}.stairs-drawing .datum circle{fill:#fff;stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .datum path{stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .break{fill:none;stroke:#16191c;stroke-width:1.1px;vector-effect:non-scaling-stroke}.stairs-drawing .section-line{stroke:#16191c;stroke-width:1.2px;stroke-dasharray:10 3 2 3;vector-effect:non-scaling-stroke}.stairs-drawing .section-arrow{fill:#16191c}.stairs-drawing .view-title{fill:#16191c;letter-spacing:.08em;font-weight:700}.stairs-drawing .note{font-style:italic}.stairs-drawing .stock{fill:none}.stairs-drawing .nosing-edge{stroke:#16191c;stroke-width:1px;stroke-dasharray:none;vector-effect:non-scaling-stroke}.stairs-drawing .walk-line{fill:none;stroke:#b07a00;stroke-width:1.2px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.stairs-drawing .walk-arrow{fill:#b07a00}.stairs-drawing .floor-edge{stroke:#16191c;stroke-width:2px;vector-effect:non-scaling-stroke}.stairs-drawing .mark-line{fill:none}.ramp-preview{background:#cfdbe4;width:100%;height:100%;min-height:360px;position:relative}.ramp-preview canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}:is(.ramp-3d:fullscreen,.ramp-3d.is-fullscreen){border-radius:0;height:100%}.ramp-3d.is-fullscreen{z-index:60;height:100dvh;position:fixed;inset:0}#ramp-result figure{cursor:zoom-in}#ramp-result figure .stairs-drawing{width:100%;height:300px}.stairs-drawing .plan-run{fill:#e8d2ab;stroke:#16191c;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stairs-drawing .plan-pad,.stairs-drawing .pad-cut{fill:#d9d6cf;stroke:#16191c;stroke-width:1px;vector-effect:non-scaling-stroke}.stairs-drawing .edge-band{fill:#8f7a5e;stroke:#16191c;stroke-width:.6px;vector-effect:non-scaling-stroke}.stairs-drawing .rail-plan{fill:none;stroke:#7a4a1d;stroke-width:1.6px;vector-effect:non-scaling-stroke}.stairs-drawing .wall-cut{fill:#ece7dc;stroke:#16191c;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stairs-drawing .door{fill:#fff;stroke:#16191c;stroke-width:1px;vector-effect:non-scaling-stroke}.stairs-drawing .earth{fill:#d8cfbf;stroke:none}.stairs-drawing .ramp-frame{fill:#e9d3ad;stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .ramp-concrete{fill:#cfcdc6;stroke:#16191c;stroke-width:.8px;vector-effect:non-scaling-stroke}.stairs-drawing .sleeper{fill:#b9a27c;stroke:#16191c;stroke-width:.6px;vector-effect:non-scaling-stroke}.stairs-drawing .beam-end,.stairs-drawing .beam-side,.stairs-drawing .beam-plan{fill:#d4b483;stroke:#16191c;stroke-width:.9px;vector-effect:non-scaling-stroke}.stairs-drawing .post{fill:#c9a46e;stroke:#16191c;stroke-width:.9px;vector-effect:non-scaling-stroke}.stairs-drawing .post-base{fill:#9aa0a6;stroke:#16191c;stroke-width:.7px;vector-effect:non-scaling-stroke}.stairs-drawing .pier,.stairs-drawing .concrete-cut{fill:#cfcdc6;stroke:#16191c;stroke-width:1px;vector-effect:non-scaling-stroke}.stairs-drawing .gravel{fill:#e2ddd2;stroke:#16191c;stroke-width:.6px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.stairs-drawing .joist-cut,.stairs-drawing .deck-cut,.stairs-drawing .rail-cut{fill:#e9d3ad;stroke:#16191c;stroke-width:.9px;vector-effect:non-scaling-stroke}.stairs-drawing .handrail-cut{fill:#7a4a1d;stroke:#16191c;stroke-width:.6px;vector-effect:non-scaling-stroke}.stairs-drawing .rebar{fill:#16191c}.stairs-drawing .guard-cap{fill:none;stroke:#6b6f73;stroke-width:1px;vector-effect:non-scaling-stroke}.stairs-drawing .rail-post{stroke:#8f7a5e;stroke-width:1.2px;vector-effect:non-scaling-stroke}.stairs-drawing .turn-circle{fill:#f5a20014;stroke:#b07a00;stroke-width:1.2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.stairs-drawing polyline.rail{fill:none}.stairs-drawing .halo{paint-order:stroke;stroke:#f1e6d0;stroke-width:.3em;stroke-linejoin:round}.stairs-drawing .dim text{paint-order:stroke;stroke:#f5f3ed;stroke-width:.25em;stroke-linejoin:round}.stairs-drawing .rail-ext{fill:none;stroke-dasharray:5 3}
