.field .echo{min-height:1.3em;color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:5px;font-size:.85rem;display:block}.input.invalid{border-color:var(--bad)}.field .with-unit{position:relative}.field .with-unit .input{padding-right:46px}.field .with-unit>span{color:var(--ink2);pointer-events:none;font-size:1rem;font-weight:500;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.panel .fields+.fields,.panel .fields+.field,.panel .field+.fields{margin-top:14px}.facts{--cols:3;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));border-top:2px solid var(--ink);gap:14px 18px;margin:16px 0 0;padding-top:16px;display:grid}.facts:empty{display:none}.facts:has(>:nth-child(2):last-child){--cols:2}.facts:has(>:nth-child(4):last-child){--cols:4}.facts div{min-width:0}.facts dt{color:var(--ink2);font-size:.875rem;font-weight:600}.facts dd{font:700 1.5rem/1.2 var(--body);font-variant-numeric:lining-nums tabular-nums;margin:2px 0 0}.facts dd small{font:500 .85rem/1.3 var(--body);color:var(--ink2);margin-top:3px;display:block}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:0;font-size:.9rem;line-height:1.4;list-style:none;display:grid}.checks:empty{display:none}.checks li{background:var(--sunk);color:var(--ink2);border-radius:10px;align-items:baseline;gap:7px;padding:10px 12px;display:flex}.checks li:before{content:"✓";color:var(--good);font-weight:800}.checks li.fail{background:var(--bad-soft);color:var(--bad)}.checks li.fail:before{content:"✕";color:var(--bad)}.more{border-top:1px solid var(--line);margin-top:18px}.more>summary{cursor:pointer;color:var(--ink2);align-items:center;gap:8px;padding:14px 0 2px;font-size:.95rem;font-weight:600;list-style:none;display:flex}.more>summary::-webkit-details-marker{display:none}.more>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin-left:auto;transition:transform .15s;transform:rotate(45deg)}.more[open]>summary:after{transform:rotate(-135deg)}.more>.fields{padding-top:12px}.drawing{margin-top:24px}.drawing svg{width:100%;height:auto;max-height:360px;display:block}@media (width>=1000px){.drawing:has(>[data-out=svg]){grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;column-gap:28px;display:grid}.drawing:has(>[data-out=svg])>.panel-head{grid-column:1/-1}.drawing:has(>[data-out=svg])>.table-wrap{margin-top:0}}.drawing .svg-line{fill:none;stroke:var(--wood-line,#7c5a2c);stroke-width:2px;vector-effect:non-scaling-stroke}.drawing .svg-board{fill:#e9cf9c;stroke:#7c5a2c;stroke-width:1.5px;vector-effect:non-scaling-stroke}.drawing .svg-dim{fill:var(--muted);font:600 13px var(--body)}.select.lg{font:650 1.2rem/1 var(--display);padding:12px 34px 12px 14px}@media (width<=520px){.facts{gap:10px 12px}.facts:has(>:nth-child(4)){--cols:2}.facts dd{font-size:1.02rem}}.shopping{border-top:2px solid var(--ink);margin:16px 0 0;padding:0;list-style:none}.shopping:empty{display:none}.shopping li{border-bottom:1px solid var(--line);grid-template-columns:3.4em minmax(0,1fr);align-items:baseline;gap:14px;padding:10px 0;display:grid}.shopping .qty{font:700 1.35rem/1 var(--body);font-variant-numeric:lining-nums tabular-nums;text-align:right;color:var(--ink)}.shopping .item{font-size:1rem;font-weight:600}.shopping .sub{color:var(--ink2);font-size:.9rem;font-weight:500}.shopping .sub:before{content:" · "}.sheet-pic{aspect-ratio:3/2;flex:none;min-height:0;margin:14px 0 4px;position:relative}.sheet-pic>.diagram{width:100%;height:100%;max-height:none;margin:0;position:absolute;inset:0}@media (width>=861px){.sheet-pic{aspect-ratio:5/2}}.sheet.empty .big small,.sheet.empty .legend{display:none}.sheet.empty .sheet-pic{border:1.5px dashed var(--line);border-radius:12px;place-items:center;display:grid}.sheet.empty .sheet-pic:after{content:"The drawing appears here";color:var(--ink2);font-size:.9rem}.sheet.empty .sentence{color:var(--accent)}.legend{color:var(--ink2);flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;font-size:.85rem;display:flex}.legend i{vertical-align:-1px;width:10px;height:10px;margin-right:6px;display:inline-block}.legend .l-post{background:var(--accent-soft);border:1.5px solid var(--accent)}.legend .l-joist{border-top:1.5px dashed var(--muted);vertical-align:3px;width:14px;height:0}.legend .l-house{background:#c9c4ba;width:14px;height:5px}.diagram{width:100%;height:auto;max-height:260px;margin:14px 0 4px;display:block;overflow:visible}.diagram *{vector-effect:non-scaling-stroke}.d-wood{fill:#e9cf9c;stroke:#7c5a2c;stroke-width:1px}.d-wood2{fill:#d9b47c;stroke:#7a5a31;stroke-width:1px}.d-accent{fill:#f7c21a4d;stroke:var(--ink);stroke-width:1.75px}.d-concrete{fill:#c9c4ba;stroke:#8f887b;stroke-width:1px}.d-ground{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:4 3}.d-line{fill:none;stroke:var(--ink);stroke-width:1.75px;stroke-linejoin:round}.d-dim{fill:none;stroke:var(--accent);stroke-width:1px}.d-ext{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.d-text,.d-dimtext{font-family:var(--body);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-weight:700}.fields{row-gap:0;margin-bottom:-16px}.fields>.field{grid-row:span 4;grid-template-rows:subgrid;row-gap:0;padding-bottom:16px;display:grid}.fields>.field>span:first-child{align-self:end}.range{--fill:50%;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;height:32px;margin:6px 0 0;display:block}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--tape) var(--fill), var(--line) var(--fill));border-radius:3px;height:6px}.range::-moz-range-track{background:var(--line);border-radius:3px;height:6px}.range::-moz-range-progress{background:var(--tape);border-radius:3px;height:6px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--tape);border:2px solid var(--ink);border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 1px 4px #00000040}.range::-moz-range-thumb{background:var(--tape);border:2px solid var(--ink);border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #00000040}.range:focus-visible{outline:none}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-soft)}.range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-soft)}.range-ends{color:var(--ink2);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-2px;font-size:.85rem;display:flex}.stepper{border:2px solid var(--ink);border-radius:var(--field-radius);background:var(--surface);grid-template-columns:44px minmax(0,1fr) 44px;height:50px;display:grid;overflow:hidden}.stepper:focus-within{border-color:var(--ink)}.stepper .input{text-align:center;background:0 0;border:0;border-radius:0;height:100%;padding-left:0;padding-right:0;font-weight:650}.stepper button{color:var(--ink2);font:600 1.4rem/1 var(--body);background:0 0;border:0;place-items:center;display:grid}.stepper button:active{background:var(--tape);color:var(--ink)}@media (hover:hover){.stepper button:hover{color:var(--ink)}}.dd{min-width:0;position:relative}.dd>select{opacity:0;pointer-events:none;position:absolute;inset:0}.dd-btn{text-align:left;color:inherit;cursor:pointer;align-items:center;display:flex}.dd-btn .dd-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dd-btn[aria-expanded=true]{border-color:var(--ink)}.dd-menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;outline:none;min-width:100%;max-height:280px;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 32px -8px #00000059,0 2px 6px #0000001f}.dd-menu.up{top:auto;bottom:calc(100% + 6px)}.dd-menu [role=option]{cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:8px;outline:none;align-items:center;gap:10px;padding:9px 12px 9px 32px;display:flex;position:relative}.dd-menu [role=option]:focus-visible,.dd-menu [role=option]:focus{background:var(--sunk)}@media (hover:hover){.dd-menu [role=option]:hover{background:var(--sunk)}}.dd-menu [aria-selected=true]{color:var(--ink);font-weight:650}.dd-menu [aria-selected=true]:before{content:"";width:10px;height:5px;color:var(--good);border-bottom:2px solid;border-left:2px solid;position:absolute;left:12px;transform:translateY(-2px)rotate(-45deg)}@media (width<=520px){.dd-menu [role=option]{padding-top:12px;padding-bottom:12px}}.sheet{position:relative;top:auto}.code-badge{color:var(--good);background:var(--good-soft);border-radius:8px;margin:0;padding:6px 12px;font-size:.95rem;font-weight:700;position:absolute;top:22px;right:24px}.code-badge[data-ok=false]{color:var(--bad);background:var(--bad-soft)}.sheet.empty .code-badge{display:none}.acts{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.acts .btn{padding:8px 15px;font-size:.92rem}.acts .btn.dark{background:var(--ink);border-color:var(--ink);color:var(--surface)}.acts svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.sheet.empty .acts{display:none}.flash{border-radius:6px;animation:.7s ease-out flash}@keyframes flash{0%{background:#f7c21a8c}to{background:0 0}}.answer-bar{z-index:30;background:var(--ink);color:var(--surface);border-radius:14px;align-items:center;gap:12px;padding:8px 16px;transition:transform .25s;display:flex;position:fixed;top:10px;left:12px;right:12px;transform:translateY(-150%);box-shadow:0 10px 30px -10px #00000080}.answer-bar.show{transform:none}.answer-bar small{display:none}.answer-bar b{font:800 1.9rem/1 var(--display);white-space:nowrap}.answer-bar b small{font:600 .95rem/1 var(--body);opacity:.8;margin-left:.3em;display:inline}.answer-bar>span{opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}@media (width>=861px){.answer-bar{display:none}}@media print{.answer-bar,.acts{display:none}}
