.measure{--m-mark:#454617;--m-edge:#3a342b;--m-wood:#d6c09a;--m-wood2:#b99c6b;--m-door:#f5f0e7;--m-orange:#e9782b;padding-bottom:clamp(3rem,6vw,5rem)}.measure .m-layout{gap:1.5rem;display:grid}.measure .m-stage{z-index:5;background:var(--paper);padding-bottom:.5rem;position:sticky;top:0}.measure .m-stage svg{background:var(--soft);border:1px solid var(--line);border-radius:6px;width:100%;height:auto;display:none}.measure[data-view=plan] svg[data-view=plan],.measure[data-view=wallA] svg[data-view=wallA],.measure[data-view=wallB] svg[data-view=wallB]{display:block}.measure .m-caption{align-items:baseline;gap:.8rem;margin-top:.7rem;font-size:.95rem;display:flex}.measure .m-caption b{letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.measure .m-nav{flex-wrap:wrap;gap:.5rem;display:flex}.measure .m-nav .diagram-btn{margin-top:.7rem}.measure .wall{fill:var(--m-edge)}.measure .floor,.measure .room{fill:#fbf8f3;stroke:var(--m-edge);stroke-width:1px}.measure .ceil,.measure .flr{fill:none;stroke:var(--m-edge);stroke-width:2px}.measure .glass{fill:#dfe9ec;stroke:var(--m-edge);stroke-width:1px}.measure .open{fill:#fbf8f3}.measure .swing{fill:none;stroke:var(--m-edge);stroke-width:1px;stroke-dasharray:3 3}.measure .cab{fill:var(--m-door);stroke:var(--m-edge);stroke-width:1px}.measure .cabline,.measure .mullion{fill:none;stroke:var(--m-edge);stroke-width:.8px;opacity:.55}.measure .sink{fill:#c9cccf;stroke:var(--m-edge);stroke-width:.8px}.measure .range{fill:#93989d;stroke:var(--m-edge);stroke-width:1px}.measure .burner{fill:none;stroke:#2b2823;stroke-width:2px;stroke-linecap:round}.measure .vent{fill:none;stroke:var(--m-edge);stroke-width:1px;stroke-dasharray:2 2}.measure .trim,.measure .top{fill:var(--m-wood);stroke:var(--m-edge);stroke-width:1px}.measure .kick{fill:#2b2823}.measure .doorleaf{fill:var(--m-door);stroke:var(--m-edge);stroke-width:1px}.measure .knob{fill:#b08d4f}.measure .switch{fill:#fff;stroke:var(--m-edge);stroke-width:1px}.measure .wl{font:600 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;fill:var(--muted)}.measure .st{display:none}.measure[data-step="1"] .st[data-s~="1"],.measure[data-step="2"] .st[data-s~="2"],.measure[data-step="3"] .st[data-s~="3"],.measure[data-step="4"] .st[data-s~="4"],.measure[data-step="5"] .st[data-s~="5"],.measure[data-step="6"] .st[data-s~="6"],.measure[data-step="7"] .st[data-s~="7"],.measure[data-step="8"] .st[data-s~="8"],.measure[data-step="9"] .st[data-s~="9"],.measure[data-step="10"] .st[data-s~="10"]{display:inline}.measure .dl{stroke:var(--m-mark);stroke-width:1.6px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s forwards m-draw;animation-delay:var(--d,0s)}.measure .dk{fill:none;stroke:var(--m-mark);stroke-width:1.6px;opacity:0;animation:.2s forwards m-fade;animation-delay:var(--d,0s)}.measure .dt{font:600 11.5px var(--sans);fill:#2f300d;paint-order:stroke;stroke:#fbf8f3;stroke-width:4px;stroke-linejoin:round;opacity:0;animation:.3s forwards m-fade;animation-delay:calc(var(--d,0s) + .45s)}.measure .nt{fill:var(--muted);animation-delay:var(--d,0s);font-weight:500}.measure .trace{fill:none;stroke:var(--m-orange);stroke-width:3px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:2.4s forwards m-draw}.measure .hl{fill:#e9782b24;stroke:var(--m-orange);stroke-width:2px}.measure .hlline{fill:none;stroke:var(--m-orange);stroke-width:3px}.measure .xray{fill:#fbf8f3;stroke:var(--m-edge);stroke-width:.8px;stroke-dasharray:3 3}.measure .pin,.measure .util,.measure .corner,.measure .cam{opacity:0;animation:.35s forwards m-pop;animation-delay:var(--d,0s);transform-box:fill-box;transform-origin:50%}.measure .pin circle,.measure .cam circle{fill:var(--m-mark)}.measure .pin text,.measure .cam text{font:700 9.5px var(--sans);fill:#fff}.measure .corner{fill:var(--m-orange);stroke:var(--m-edge);stroke-width:1px}.measure .util{stroke:var(--m-edge);stroke-width:1px}.measure .util.cold{fill:#7fb2d6}.measure .util.hot{fill:#d9735f}.measure .util.drain{fill:#5f5a53}.measure .util.gas{fill:#e9c22b}.measure .util.power{fill:#fff}.measure .cam{transform-box:view-box;transform-origin:0 0;animation-name:m-fade}.measure .cone{fill:#45461724;stroke:var(--m-mark);stroke-width:1px;stroke-dasharray:4 3}@keyframes m-draw{to{stroke-dashoffset:0}}@keyframes m-fade{to{opacity:1}}@keyframes m-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.measure .dl,.measure .dk,.measure .dt,.measure .trace,.measure .pin,.measure .util,.measure .corner,.measure .cam{opacity:1;stroke-dashoffset:0;animation:none}}.measure .m-steps{counter-reset:s;margin:0;padding:0;list-style:none}.measure .m-steps li{counter-increment:s;border-top:1px solid var(--line);cursor:pointer;grid-template-columns:34px 1fr;gap:14px;padding:1.1rem 0;display:grid}.measure .m-steps li:before{content:counter(s);border:1.5px solid var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.85rem;font-weight:600;display:grid}.measure .m-steps li.on:before{background:var(--accent);border-color:var(--accent);color:#fff}.measure .m-steps li.done:before{content:"✓";background:var(--ink);color:#fff}.measure .m-steps h2{letter-spacing:0;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.2}.measure .m-steps p{margin-top:.4rem;font-size:.98rem}.measure .m-steps li:not(.on) p{color:var(--muted)}.measure .m-steps .hint{color:var(--muted);border-left:2px solid var(--line);padding-left:.8rem;font-size:.9rem}.measure .m-steps li.on .hint{border-left-color:var(--accent)}.measure .m-sheet{border-top:1px solid var(--line);margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(2rem,4vw,3rem)}.measure .sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2rem;display:grid}.measure fieldset{border:1px solid var(--line);background:var(--soft);border-radius:6px;min-width:0;margin:0;padding:1rem 1.1rem 1.2rem}.measure fieldset.wide{grid-column:1/-1}.measure legend{font-family:var(--serif);padding:0 .4rem;font-size:1.25rem}.measure fieldset label{grid-template-columns:minmax(0,1fr) minmax(0,9rem);align-items:center;gap:.8rem;margin-top:.6rem;font-size:.92rem;display:grid}.measure fieldset input[type=text],.measure fieldset textarea{border:1px solid var(--line);width:100%;min-width:0;font:inherit;background:#fff;border-radius:4px;padding:.45rem .55rem;font-size:.95rem}.measure fieldset.wide label{grid-template-columns:minmax(0,1fr)}.measure .sheet-table{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:.4rem;margin-top:.6rem;display:grid}.measure .sheet-head{color:var(--muted);align-self:end;font-size:.72rem;line-height:1.25}.measure .sheet-checks{flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:.6rem;display:flex}.measure fieldset label.check{gap:.5rem;margin:0;display:inline-flex}.measure .check input{accent-color:var(--accent);width:1.1rem;height:1.1rem}.measure .m-after{max-width:70ch;margin-top:clamp(3rem,6vw,5rem)}.measure .m-after h2{margin-bottom:1rem;font-size:clamp(1.8rem,2.6vw,2.4rem)}.measure .m-after p{margin-bottom:.9rem}@media (width>=900px){.measure .m-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem)}.measure .m-stage{top:16px}}@media (width<=700px){.measure .sheet-grid{grid-template-columns:minmax(0,1fr)}.measure .m-stage .note{display:none}.measure .m-nav{gap:.35rem}.measure .m-stage .diagram-btn{margin-top:.5rem;padding:.45rem .7rem;font-size:.84rem}}@media print{body *{visibility:hidden}.measure .m-sheet,.measure .m-sheet *{visibility:visible}.measure .m-sheet{border:0;width:100%;margin:0;padding:0;position:absolute;top:0;left:0}.measure .sheet-actions{display:none}}
