:root{--navy:#14283f;--navy-light:#233e58;--khaki:#b7a67a;--khaki-pale:#eee9dd;--paper:#f5f4ef;--surface:#fff;--ink:#1d2d3e;--muted:#68717a;--line:#e2e3df;--radius:13px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,summary,select{cursor:pointer}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,.drawingscroll:focus-visible{outline:3px solid var(--khaki);outline-offset:4px}button{transition:background .15s,border-color .15s}header{height:80px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;font-size:21px;font-weight:750;letter-spacing:2.5px}.logo{display:grid;place-items:center;width:35px;height:35px;border:1px solid #b7a67a66;border-radius:8px;color:#d6c79e}.logo svg{width:30px;height:30px}.brand-sub{margin-left:12px;padding-left:21px;border-left:1px solid #ffffff30;font-size:9px;letter-spacing:2px;color:#d6c79e}.printbutton{min-height:43px;display:flex;gap:9px;align-items:center;border:1px solid #ffffff40;border-radius:7px;background:transparent;color:white;padding:10px 15px;font-size:12px;font-weight:600}.printbutton:hover{background:#ffffff12}.printbutton svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}main{max-width:1510px;margin:auto;padding:36px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px;gap:20px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.6px;color:#897b56;margin-bottom:10px}h1{font-size:clamp(26px,2.5vw,36px);font-weight:650;letter-spacing:-1.1px;line-height:1.2;margin:0;color:var(--navy)}.intro p{color:var(--muted);font-size:13px;line-height:1.7;margin:10px 0 0}.precision{font-size:11px;color:var(--muted);white-space:nowrap}.precision span{display:inline-block;width:6px;height:6px;background:var(--khaki);border-radius:50%;margin-right:7px}.precision b{display:block;margin:7px 0 0 13px;font-size:10px;font-weight:500;color:#8a8c8b}.workspace{display:grid;grid-template-columns:350px minmax(0,1fr);gap:25px;align-items:start}.setup{display:grid;gap:13px;min-width:0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.inputs{padding:23px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}h2{font-size:16px;font-weight:650;letter-spacing:-.25px;margin:0;color:var(--navy)}.tag,.unitsbadge{font-size:9px;letter-spacing:.8px;color:#6d6040;background:var(--khaki-pale);padding:6px 8px;border-radius:4px;font-weight:600}.subtle{font-size:9px;letter-spacing:1px;color:var(--muted)}fieldset{padding:0;margin:0 0 23px;border:0;min-width:0}fieldset+fieldset{border-top:1px solid var(--line);padding-top:22px}legend{font-size:12px;font-weight:650;padding:0;margin-bottom:18px;width:100%;display:flex;gap:9px;align-items:center}legend span{display:inline-grid;place-items:center;height:21px;width:21px;border-radius:50%;background:var(--khaki-pale);font-size:10px;color:#756744}.field{min-width:0;margin-bottom:17px}.field:last-child{margin-bottom:0}.row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.row .field{margin-bottom:17px}label{font-size:11px;font-weight:600;display:block;margin-bottom:8px;color:#394858}input,select{width:100%;min-width:0;height:48px;border:1px solid #d7dbdd;border-radius:7px;background:#fff;color:var(--navy);font-size:16px;padding:0 12px;outline:none}input:focus,select:focus{border-color:#64758a;box-shadow:0 0 0 3px #14283f0a}input[readonly]{background:#f4f5f4;color:#78818b}.field p,.helpnote{font-size:10px;line-height:1.65;color:var(--muted);margin:6px 0 0}.suffix{position:relative}.suffix input{padding-right:55px}.suffix>span{position:absolute;right:13px;top:16px;font-size:12px;color:#8c959d}.presets{display:flex;align-items:center;gap:7px;margin-top:-1px}.presets span{font-size:10px;color:var(--muted);margin-right:auto}.presets button{min-height:32px;min-width:43px;background:#f6f4ed;border:1px solid #e4dece;border-radius:5px;font-size:11px;color:#776746}.presets button:hover{background:#eae3d2}summary{list-style:none;position:relative;user-select:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-weight:400;color:#8b94a0;font-size:17px;position:absolute;right:0;top:50%;transform:translateY(-50%)}details[open]>summary:after{content:'−'}.advanced{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 13px}.advanced>summary{font-size:11px;font-weight:600;padding:16px 20px 16px 0}.advanced>summary span{font-size:9px;font-weight:400;color:#92979c;margin-left:7px}.advancedbody{padding:3px 0 17px}.advancedbody>.helpnote{margin:-6px 0 17px}.advancedbody>.helpnote:last-child{margin:0}.entryhelp>summary{padding:8px 20px 8px 0;font-size:10px;color:var(--muted)}.entryhelp p{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0 14px}.calculate{min-height:48px;width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--navy);border:1px solid var(--navy);color:white;border-radius:7px;font-size:13px;font-weight:600;margin-top:16px}.calculate:hover{background:var(--navy-light)}.calculate span{font-size:17px;color:#d6c79e}.savednote{font-size:9px;color:#92999e;text-align:center;margin:10px 0 0}.examples>summary{font-size:11px;padding:18px 40px 18px 20px;color:var(--muted)}.examples>summary:after{right:20px}.examplesbody{padding:0 20px 20px}.examplesbody p{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 11px}.examplesbody button{display:block;width:100%;min-height:44px;margin:8px 0 0;border:1px solid #e2e1d9;border-radius:6px;text-align:left;padding:11px;font-size:10px;color:#34485e;background:#f8f7f2;line-height:1.6}.examplesbody button small{display:block;font-size:9px;color:#8e8a7a}.examplesbody button:hover{border-color:var(--khaki)}.legacyexamples{margin-top:17px}.legacyexamples summary{font-size:10px;color:#8a8e8f;padding:6px 20px 6px 0}.legacyexamples p{margin-top:12px}.results{display:grid;gap:17px;min-width:0}.resultheading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:53px;padding:0 2px}.resultheading .eyebrow{font-size:8px;margin:0 0 7px}.resultheading h2{font-size:19px;font-weight:600;letter-spacing:-.4px}.unitsbadge{background:transparent;border:1px solid #deded3;color:#858575;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.metric{padding:17px 12px 15px;background:#fff;border:1px solid var(--line);border-radius:9px;min-width:0}.metric .letter{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;background:var(--khaki-pale);color:#7b6944;font-size:11px;font-weight:650;margin-bottom:15px}.metric .value{display:block;white-space:nowrap;font-size:clamp(15px,1.35vw,21px);letter-spacing:-.65px;font-weight:650;color:var(--navy);font-variant-numeric:tabular-nums}.metric small{display:block;font-size:9px;line-height:1.6;color:#7a848e;margin-top:7px}.metric:first-child{background:var(--navy);border-color:var(--navy)}.metric:first-child .letter{background:#ffffff15;color:#d6c79e}.metric:first-child .value{color:white}.metric:first-child small{color:#c0cad3}.drawing{padding:22px 22px 15px;background:#fcfcf9}.drawing .sectionhead{margin-bottom:13px}.drawingmeta{font-size:9px;font-weight:500;color:#77818a;line-height:1.7}.drawingscroll{overflow:auto;overscroll-behavior-x:contain}#drawing svg{display:block;width:100%;height:auto}svg text{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;fill:var(--navy)}svg .dimension{stroke:#8c9aa8;stroke-width:1;fill:none}svg .profile{stroke:var(--navy);stroke-width:1.7;fill:#dfd5b8}svg .ref{stroke:#b9c0c6;stroke-dasharray:4 5;fill:none}svg .wall{fill:#eeeae0;stroke:#b8b5a7;stroke-width:1}.legend{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:12px;font-size:9px;color:#8b9399}.legend i{display:inline-block;width:12px;height:2px;background:#93a0ad;vertical-align:middle;margin-right:6px}.legend i.navy{height:5px;background:var(--navy)}.schematicnote{margin-left:auto}.scrollhint{display:none}.detailpanel{padding:22px}.detailpanel .sectionhead{margin-bottom:9px}.detailpanel .sectionhead>span{font-size:10px;color:#87909a}.detailviews{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detailviews svg{width:100%;height:auto;overflow:hidden}.detailviews svg text{font-size:11px}#secondary{border-top:1px solid var(--line);padding-top:16px;margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:9px;color:#838d96;line-height:1.5}#secondary b{display:block;font-size:13px;font-weight:550;color:#364b60;margin-top:5px}.inputrecap,.formulas,.validation{padding:0 21px}.inputrecap>summary,.formulas>summary,.validation>summary{padding:19px 25px 19px 0;font-size:12px;font-weight:550}.inputrecap dl{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;margin:1px 0 23px}.inputrecap dt{font-size:10px;color:#89919a;margin-bottom:5px}.inputrecap dd{font-size:12px;line-height:1.6;margin:0}.disclosurebody{padding:0 0 22px}.disclosurebody p{font-size:11px;line-height:1.8;color:var(--muted);margin:12px 0}.measurementguide{margin:0}.measurementguide>div{display:grid;grid-template-columns:155px 1fr;gap:10px;padding:12px 0;border-top:1px solid #eee}.measurementguide dt{font-size:11px;font-weight:600}.measurementguide dd{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.math{margin:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.math>summary{font-size:11px;padding:15px 25px 15px 0}.validation h3{font-size:10px;letter-spacing:.4px;color:#8e805c;margin:25px 0 10px}.validation h3:first-child{margin-top:5px}.validation table{width:100%;font-size:10px;border-collapse:collapse;font-variant-numeric:tabular-nums}.validation th,.validation td{text-align:left;padding:10px 4px;border-bottom:1px solid var(--line)}.validation th{color:#8c959e;font-size:8px;font-weight:500}.validation td:last-child{color:#8a7953}#checkbadge{font-size:9px;font-weight:400;color:#8b9299;margin-left:12px}.referencewarning{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f0e9d9;border:1px solid #dbceb0;border-radius:8px;padding:14px 18px}.referencewarning strong{font-size:11px;color:#7c6741}.referencewarning p{font-size:10px;line-height:1.6;color:#938363;margin:5px 0 0}.referencewarning button{border:1px solid #c9b98f;background:#fffaf0;color:#7c6741;border-radius:5px;font-size:10px;min-height:38px;padding:8px 11px;white-space:nowrap}.referencewarning[hidden]{display:none}#error{margin:17px 0 0;border-left:3px solid #b56e52;background:#faf0e8;padding:14px;font-size:12px;color:#8e4b33;line-height:1.7}#error[hidden]{display:none}body.invalid #metrics,body.invalid #drawing,body.invalid #detail,body.invalid #secondary,body.invalid .inputrecap,body.invalid .referencewarning{display:none}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:35px;padding:22px 0 26px;font-size:9px;color:#92989c}footer b{color:#b7a67a;font-weight:400;margin:0 8px}
@media(min-width:1450px){.workspace{grid-template-columns:375px minmax(0,1fr)}}@media(max-width:1150px){.workspace{grid-template-columns:320px minmax(0,1fr);gap:20px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric .value{font-size:21px}.metric:nth-last-child(-n+2){grid-column:auto}.drawing{padding:20px 15px 14px}.metric{padding:14px}.metric .letter{margin-bottom:10px}.schematicnote{font-size:8px}.precision{display:none}}@media(max-width:1000px){.workspace{grid-template-columns:300px minmax(0,1fr);gap:18px}.inputs{padding:20px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:last-child{grid-column:1/-1}.metric .value{font-size:23px}.detailviews{grid-template-columns:1fr}.resultheading h2{font-size:17px}.unitsbadge{font-size:8px}.schematicnote{display:none}#drawing svg{min-width:650px}.scrollhint{display:inline;margin-left:auto}}@media(max-width:760px){header{height:68px;padding:0 20px}.brand{font-size:19px}.brand-sub{display:none}.logo{width:31px;height:31px}.printbutton{font-size:11px;padding:9px 11px;min-height:40px}.printbutton svg{width:15px;height:15px}main{padding:27px 17px 0}.intro{margin-bottom:24px}.eyebrow{font-size:9px}h1{font-size:28px;letter-spacing:-.9px}.intro p{font-size:12px;max-width:280px;line-height:1.7}.workspace{display:block}.inputs{padding:22px}.setup{gap:12px}.results{margin-top:27px;gap:13px}.resultheading{margin-bottom:1px}.resultheading h2{font-size:19px}.unitsbadge{font-size:8px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px}.metric .value{font-size:25px}.metric small{font-size:10px}.metric:last-child{grid-column:1/-1;display:grid;grid-template-columns:24px 1fr;align-items:center;column-gap:12px}.metric:last-child .letter{margin:0;grid-row:1/3}.metric:last-child .value{font-size:23px}.metric:last-child small{margin:2px 0 0}.drawing{padding:18px 12px 14px}.drawing .sectionhead,.drawingmeta{margin-left:5px;margin-right:5px}.drawingmeta{font-size:8px}.legend{font-size:8px;gap:13px}.detailpanel{padding:18px 15px}.detailviews{gap:0;grid-template-columns:1fr}#secondary{gap:9px;font-size:8px}#secondary b{font-size:12px}.inputrecap,.formulas,.validation{padding:0 17px}.inputrecap>summary,.formulas>summary,.validation>summary{font-size:11px}.inputrecap dl{gap:14px 16px}.measurementguide>div{grid-template-columns:115px 1fr;gap:8px}.measurementguide dd,.measurementguide dt{font-size:10px}#checkbadge{font-size:8px;margin-left:5px}.referencewarning{display:block;padding:15px}.referencewarning button{margin-top:10px}.validation table{font-size:9px}footer{font-size:8px;line-height:1.7;margin-top:27px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{@page{size:auto;margin:12mm}body{background:white;color:#14283f;font-size:11px}header,.intro,.setup,footer,.resultheading,.formulas,.validation,.scrollhint,button{display:none!important}main{max-width:none;margin:0;padding:0}.workspace{display:block}.results{gap:10px;margin:0}.results:before{content:'TRU CUT BY BELLESON / RAFTER CUT SHEET';font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:6px}.panel,.metrics,.metric,.referencewarning{break-inside:avoid}.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metric,.metric:first-child{background:white;border-color:#ccd0d4;color:#14283f;padding:11px}.metric:first-child .value,.metric .value{font-size:17px;color:#14283f}.metric:first-child .letter{background:#eee9dd;color:#14283f}.metric:first-child small{color:#68717a}.metric:last-child{display:block;grid-column:auto}.metric:last-child .value{font-size:17px}.metric small{font-size:8px}.drawing{padding:15px;background:white}.drawingscroll{overflow:visible}#drawing svg{min-width:0;max-height:290px}.detailpanel{padding:15px}.detailviews{grid-template-columns:1fr 1fr;gap:0}.detailviews svg{max-height:155px}#secondary{padding-top:10px;margin-top:4px}.inputrecap dl{grid-template-columns:repeat(3,1fr);gap:10px 20px}.inputrecap dt{font-size:8px}.inputrecap dd{font-size:10px}.schematicnote{display:inline}.referencewarning{padding:10px}}

/* Phone navigation and readable drawing modes. */
.mobiletabs{display:none}.dim-short{display:none}.drawingactions{display:flex;gap:13px;align-items:center}#drawingzoom{display:none}.workspace{scroll-margin-top:82px}.drawingscroll{max-width:100%}.drawingscroll.enlarged #drawing svg{min-width:850px}.drawingscroll.enlarged{background:linear-gradient(90deg,#14283f06,transparent 25px)}
@media(max-width:760px){body{overflow-x:hidden}header{padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top))}main{padding-bottom:env(safe-area-inset-bottom)}.mobiletabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;position:sticky;top:8px;z-index:20;border:1px solid #e0e1dc;border-radius:10px;background:#efeee8;margin:0 0 20px;box-shadow:0 5px 15px #14283f09}.mobiletabs button{min-height:47px;border:0;border-radius:7px;background:transparent;color:#89919a;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:10px}.mobiletabs button span{color:#5c6977}.mobiletabs button[aria-pressed="true"]{background:var(--navy);color:#cfbf95;box-shadow:0 2px 5px #14283f1a}.mobiletabs button[aria-pressed="true"] span{color:white}body[data-mobile-view="setup"] .results{display:none}body[data-mobile-view="sheet"] .setup{display:none}.results{margin-top:0}.inputs{padding:20px}.intro{margin-bottom:22px}input,select{font-size:16px;min-height:50px}label{font-size:12px}.field p{font-size:11px}.presets button{min-width:50px;min-height:44px;font-size:12px}.advanced>summary{min-height:52px;display:flex;align-items:center;flex-wrap:wrap;font-size:12px;line-height:1.6}.entryhelp>summary{min-height:44px;display:flex;align-items:center}.examples>summary,.inputrecap>summary,.formulas>summary,.validation>summary{min-height:54px;font-size:12px}.printbutton{min-height:44px}.calculate{min-height:52px;font-size:14px}.savednote{font-size:10px}.metric .value{font-size:clamp(21px,6vw,27px)}.metric{padding:15px;min-height:119px}.metric:last-child{min-height:85px}.metric small{font-size:11px}.resultheading h2{font-size:20px}.drawingactions .subtle{display:none}#drawingzoom{display:block;min-height:44px;border:1px solid #ddd8ca;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:600;background:#f4f0e5;color:#776644}.drawing .sectionhead{margin-bottom:8px}.drawingmeta{font-size:10px;line-height:1.8}#drawing svg{min-width:0;width:100%}.drawingscroll:not(.enlarged) #drawing .dim-full{display:none}.drawingscroll:not(.enlarged) #drawing .dim-short{display:inline}.drawingscroll:not(.enlarged) #drawing .dim-text{font-size:26px;font-weight:650}.drawingscroll:not(.enlarged) #drawing .auxdim,.drawingscroll:not(.enlarged) #drawing .drawingannotation{display:none}.drawingscroll:not(.enlarged) #drawing .dimension{stroke-width:1.4}.scrollhint{display:inline;font-size:8px}.drawingscroll.enlarged #drawing svg{min-width:850px}.detailviews{grid-template-columns:1fr}.detailviews svg{min-height:190px}.detailviews svg text{font-size:13px}.detailpanel .sectionhead>span{font-size:11px}#secondary{font-size:10px;grid-template-columns:1fr 1fr;gap:15px}#secondary b{font-size:14px}#secondary span:last-child{grid-column:1/-1}.inputrecap dl{grid-template-columns:1fr 1fr}.inputrecap dt{font-size:11px}.inputrecap dd{font-size:13px}.measurementguide dd,.measurementguide dt{font-size:11px}.disclosurebody p{font-size:12px}.referencewarning button{min-height:44px;font-size:12px}.referencewarning strong{font-size:12px}.referencewarning p{font-size:11px}.drawing{overflow:hidden}.row{gap:11px}}
@media(max-width:359px){main{padding-left:12px;padding-right:12px}.inputs{padding:16px}.row{grid-template-columns:1fr;gap:0}.field{margin-bottom:17px}.row .field{margin-bottom:17px}.metric{padding:13px}.metric .value{font-size:20px}.unitsbadge{font-size:7px}.brand{font-size:17px}header{padding-left:16px;padding-right:16px}.inputrecap dl{grid-template-columns:1fr}}
@media print{.mobiletabs,#drawingzoom{display:none!important}body[data-mobile-view="setup"] .results,body[data-mobile-view="sheet"] .results{display:grid!important}.setup{display:none!important}#drawing svg,.drawingscroll.enlarged #drawing svg{min-width:0!important;width:100%}.dim-full{display:inline!important}.dim-short{display:none!important}.auxdim,.drawingannotation{display:inline!important}#drawing .dim-text{font-size:11px!important;font-weight:400!important}.drawingscroll{overflow:visible!important}.detailviews svg{min-height:0}.metric{min-height:0}.metric:last-child{min-height:0}}

select:disabled,input:disabled{background:#f0f1ef;color:#8a9299;cursor:default}#tailnote{line-height:1.7}
@media(max-width:760px){.detailviews svg text{font-size:18px}}@media print{.detailviews svg text{font-size:11px}}

/* Strong A–E markers, independent of the measurement text. */
svg .dim-badge{fill:#14283f;stroke:#14283f;stroke-width:1}svg text.dim-badge-letter{fill:#ffffff;font-size:13px;font-weight:750;letter-spacing:0}svg .dim-backdrop{fill:#fcfcf9}svg text.dim-value{fill:#14283f;font-size:12px;font-weight:500}svg .measurement-tag .dim-short{display:none}@media(max-width:760px){.drawingscroll:not(.enlarged) #drawing .measurement-tag .dim-short{display:inline;transform:scale(2.1)}.drawingscroll:not(.enlarged) #drawing .measurement-tag .dim-full{display:none}.detailviews svg text.dim-badge-letter{font-size:14px}.detailviews svg text.dim-value{font-size:15px}}@media print{svg .dim-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}svg .measurement-tag .dim-short{display:none!important}svg .measurement-tag .dim-full{display:inline!important}}
/* Fast three-step entry flow. */
.inputs{scroll-margin-top:82px}.inputs .sectionhead{margin-bottom:17px}.flowprogress{display:flex;justify-content:space-between;font-size:10px;color:#8a9299;margin:0 0 10px}.flowprogress span:first-child{font-weight:600;color:#6d7a88}.flowsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 24px}.flowsteps button{min-height:44px;border:1px solid #e1e3df;border-radius:7px;background:#f7f7f3;color:#89929b;font-size:11px;font-weight:550;display:flex;align-items:center;justify-content:center;gap:7px}.flowsteps b{font-size:10px;font-weight:600}.flowsteps button.complete{background:#f1eddf;border-color:#e1d9c3;color:#8b7950}.flowsteps button[aria-current="step"]{background:var(--navy);border-color:var(--navy);color:white}.flowsteps button[aria-current="step"] b{color:#d2c298}.inputstep[hidden],.flowerror[hidden],.flowwarnings[hidden],.usesaved[hidden]{display:none!important}.inputstep{min-height:325px}.inputstep h3{margin:0;color:var(--navy);font-size:21px;font-weight:600;letter-spacing:-.5px;outline:none}.stepintro{font-size:11px;line-height:1.8;color:#7a8792;margin:9px 0 22px}.spanentry{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spanentry input{font-variant-numeric:tabular-nums}.flowactions{display:flex;gap:10px;margin-top:22px}.flowactions .calculate{margin:0;flex:1}.flowactions>button:first-child{min-width:70px;min-height:49px;border:1px solid #d8dcd9;background:white;color:#5d6e7e;border-radius:7px;font-size:12px}.flowactions>button:disabled{opacity:.4;cursor:default}.usesaved{display:block;width:100%;min-height:43px;margin-top:9px;border:0;background:transparent;color:#786844;font-size:11px;text-decoration:underline;text-underline-offset:3px}.flowerror{margin:15px 0 0;padding:13px;border-left:3px solid #b65b42;background:#fcf0e9;border-radius:5px;font-size:12px;color:#88452f;line-height:1.7}input[aria-invalid="true"],select[aria-invalid="true"]{border:2px solid #b65b42;background:#fff9f5}input[data-review="true"],select[data-review="true"]{border-color:#b49b65}.flowwarnings{margin-top:14px;padding:13px;background:#f6f0e1;border:1px solid #e1d3b3;border-radius:7px;color:#8a7247;font-size:10px;line-height:1.8}.flowwarnings strong{font-size:11px;font-weight:600}.flowwarnings ul{padding-left:16px;margin:7px 0}.flowwarnings p{margin:0;font-size:9px;color:#9b8c6e}.inputchecks{padding:0 20px;border-color:#d8e0df}.inputchecks>summary{font-size:11px;padding:17px 22px 17px 0;color:#5e7377;font-weight:550}.inputchecks.haswarnings{border-color:#ddceaa;background:#fffcf4}.inputchecks.haswarnings>summary{color:#8c7546}#checkscount{font-size:9px;float:right;font-weight:400;line-height:1.6;margin-left:12px}#checksbody{font-size:11px;line-height:1.8;color:#7f734e;padding:0 0 15px}#checksbody ul{margin:0 0 12px;padding-left:17px}#checksbody p{margin:0}#checksbody .checkscope{font-size:10px;color:#92918a;margin-top:10px}body.invalid .inputchecks{display:none}.savednote{line-height:1.7}.entryhelp{margin-top:9px}.inputstep .advanced{margin-top:19px}
@media(max-width:760px){.intro{display:none}main{padding-top:15px}.flowsteps{gap:8px;margin-bottom:22px}.flowsteps button{min-height:46px;font-size:12px}.flowprogress{font-size:11px;margin-bottom:11px}.inputstep{min-height:0}.inputstep h3{font-size:23px}.stepintro{font-size:12px;margin-bottom:21px}.flowactions{margin-top:23px}.flowactions .calculate{min-height:53px}.flowactions>button:first-child{min-width:73px}.inputstep .field{margin-bottom:20px}.inputstep .row .field{margin-bottom:18px}.flowerror{font-size:13px}.flowwarnings{font-size:12px}.flowwarnings p{font-size:11px}.flowwarnings strong{font-size:12px}.usesaved{min-height:45px;font-size:12px}.inputchecks{padding:0 17px}.inputchecks>summary{font-size:12px}#checksbody{font-size:12px}#checksbody .checkscope{font-size:11px}.flowactions .calculate{position:relative}.mobiletabs{margin-bottom:16px}}
@media print{.inputchecks{break-inside:avoid}.inputchecks>summary{font-size:10px;padding:12px 20px 12px 0}#checksbody{font-size:9px}#checksbody .checkscope{font-size:8px}}


.field #seathelp{display:inline-block;margin-top:9px;padding:7px 10px;background:var(--khaki-pale);color:var(--navy);border-left:3px solid var(--khaki);border-radius:4px;font-size:12px;font-weight:650;line-height:1.5}

.roofchoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.roofchoices button{min-height:76px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;text-align:left;padding:14px;border:1px solid #d8dddf;border-radius:8px;background:white;color:var(--navy)}.roofchoices strong{font-size:17px;font-weight:650}.roofchoices small{font-size:11px;color:#8b9399}.roofchoices button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:white}.roofchoices button[aria-pressed="true"] small{color:#d0bf93}.roofchoices button[aria-invalid="true"]{border:2px solid #b65b42}@media(max-width:760px){.roofchoices button{min-height:83px;padding:16px}.roofchoices strong{font-size:19px}.roofchoices small{font-size:12px}}
.rafterspanfield{padding:13px;background:#f6f5ef;border:1px solid #e5e0d2;border-radius:8px}.spanlabel{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.spanlabel label{margin:0}.spanlabel button{border:0;background:transparent;color:#8a764d;font-size:10px;font-weight:600;min-height:32px;padding:3px 0 3px 8px;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.spanlabel button{min-height:42px;font-size:11px}.rafterspanfield{padding:12px}.spanlabel{margin-top:-5px}}
/* A dimensioned cross-section for checking the entered setup. */
.framepanel{padding:20px;background:#fcfcf9}.framepanel .sectionhead{margin-bottom:0}.framepanel .sectionhead h2{font-size:15px}#framezoom{border:1px solid #ddd8ca;border-radius:6px;background:#f4f0e5;color:#776644;min-height:38px;padding:8px 10px;font-size:10px;font-weight:600}.frameviewport{max-width:100%;overflow:auto;overscroll-behavior-x:contain}.frameviewport svg{display:block;width:100%;height:auto}.frameviewport.enlarged svg{min-width:900px}.frame-rafter{fill:#dfd5b8;stroke:#14283f;stroke-width:1.8}.frame-mirror{fill:#ece7d8;stroke:#84919d;stroke-width:1.5}.frame-fascia{fill:#ede9df;stroke:#a8a899;stroke-width:1}.frame-wall{fill:#e0e4e7;stroke:#8594a1;stroke-width:1.4}.frame-unconfirmed{fill:none;stroke-dasharray:6 5}.frame-other{fill:none;stroke:#98a5b1;stroke-width:2;stroke-dasharray:8 7}.frame-beam{fill:none;stroke:#14283f;stroke-width:2.2}.frame-dim{stroke:#93a1af;stroke-width:1.2;fill:none}.frame-reference{stroke:#bdc6cc;stroke-width:1;stroke-dasharray:5 6}.frame-label{fill:#74828f;font-size:13px;letter-spacing:1px}.frame-pitch{fill:#14283f;font-size:23px;font-weight:650}.frame-dimtext{fill:#14283f;font-size:17px;font-weight:500}.framevalues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:1px 0 17px;border-top:1px solid #e2e3df;padding-top:16px}.framevalues dt{font-size:9px;line-height:1.5;color:#84909c}.framevalues dd{font-size:14px;font-weight:600;color:#14283f;margin:5px 0 0;font-variant-numeric:tabular-nums}.framelegend{display:flex;gap:15px;flex-wrap:wrap;color:#818a92;font-size:9px;line-height:1.7}.framelegend i{display:inline-block;width:12px;height:6px;background:#dfd5b8;border:1px solid #14283f;vertical-align:middle;margin-right:6px}.framenote{font-size:10px;line-height:1.7;color:#92989d;margin:10px 0 0}body.invalid .framepanel{display:none}@media(max-width:1100px){.framevalues{grid-template-columns:1fr 1fr}}@media(max-width:760px){.framepanel{padding:17px 12px}.framepanel .sectionhead{padding:0 4px}.framepanel .sectionhead h2{font-size:14px}#framezoom{min-height:44px;font-size:11px}.frame-label{font-size:17px}.frame-dimtext{font-size:21px}.framevalues{grid-template-columns:1fr 1fr;padding:15px 5px 0;margin-bottom:14px;gap:15px}.framevalues dt{font-size:10px}.framevalues dd{font-size:17px}.framelegend{font-size:10px;padding:0 5px}.framenote{font-size:11px;padding:0 5px}}@media print{#framezoom{display:none}.frameviewport{overflow:visible}.frameviewport svg,.frameviewport.enlarged svg{min-width:0!important;max-height:240px;width:100%}.framepanel{padding:14px;break-inside:avoid}.framevalues{grid-template-columns:repeat(4,1fr);gap:10px;padding-top:10px;margin-bottom:8px}.framevalues dt{font-size:8px}.framevalues dd{font-size:11px}.frame-label{font-size:13px}.frame-dimtext{font-size:17px}.framelegend,.framenote{font-size:8px}}

.brand-sub{letter-spacing:.5px;font-size:11px;text-transform:none}@media(max-width:760px){.brand{gap:8px;font-size:18px;letter-spacing:1.6px;flex-wrap:wrap;position:relative;padding-bottom:12px}.brand .logo{margin-bottom:-10px}.brand-sub{display:block;position:absolute;left:39px;top:25px;border:0;margin:0;padding:0;font-size:8px;letter-spacing:.3px}.printbutton{font-size:10px;padding:8px 10px}}
.jobdetails{margin:0 0 19px;border-bottom:1px solid #e2e3df}.jobdetails>summary{padding:0 22px 17px 0;font-size:11px;font-weight:600;color:#5b6c7c}.jobdetails>summary>span{font-size:9px;color:#9a9d98;font-weight:400;margin-left:8px}.jobdetailsbody{padding-bottom:18px}.jobdetailsbody .helpnote{font-size:10px}.jobdetails textarea{width:100%;min-height:72px;padding:11px 12px;resize:vertical;border:1px solid #d7dbdd;border-radius:7px;background:white;color:var(--navy);font:inherit;font-size:14px;line-height:1.6;outline:none}.jobdetails textarea:focus{border-color:#64758a;box-shadow:0 0 0 3px #14283f0a}.jobheader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-top:3px solid var(--khaki)}.jobheader>div:first-child{min-width:0}.jobkicker{font-size:9px;letter-spacing:1px;color:#8d7e59;font-weight:600;margin:0 0 12px}.jobkicker span{letter-spacing:0;font-size:9px;font-weight:400;margin-left:5px}.jobheader h2{font-size:20px;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.4px}#sheetjobaddress{font-size:11px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.8;color:#82909c;margin:8px 0 0}.jobdatestamp{white-space:nowrap;text-align:right;padding-top:1px}.jobdatestamp>span{display:block;font-size:9px;color:#929aa1;margin-bottom:7px}.jobdatestamp time{font-size:11px;font-weight:550;color:#52677b}@media(max-width:760px){.jobdetails>summary{font-size:12px;min-height:44px;display:flex;align-items:flex-start;padding-top:4px}.jobdetails textarea{font-size:16px}.jobheader{padding:17px;gap:12px}.jobheader h2{font-size:19px}.jobdatestamp time{font-size:10px}.jobdatestamp>span{font-size:8px}#sheetjobaddress{font-size:12px}}@media(max-width:359px){.jobheader{display:block}.jobdatestamp{margin-top:14px;text-align:left}.jobdatestamp>span{display:inline;margin-right:8px}.jobheader h2{font-size:19px}}@media print{.results:before{content:none!important}.jobheader{padding:14px 17px;break-inside:avoid}.jobheader h2{font-size:19px}.jobkicker{font-size:10px;margin-bottom:8px}#sheetjobaddress{font-size:10px}.jobdatestamp time{font-size:11px}.jobdatestamp>span{font-size:9px}}

.cutnotice{font-size:10px;line-height:1.8;color:#8b9194;margin:17px 0 0}.cutnotice a{color:#82704b;text-underline-offset:3px}.disclaimer{padding:21px 23px;border-top:3px solid var(--khaki);scroll-margin-top:80px}.disclaimer h2{font-size:14px;font-weight:650;outline:none}.disclaimer p{font-size:11px;line-height:1.85;color:#7c8791;margin:13px 0 0}.disclaimer .testpattern{background:#f2eee1;border-radius:6px;color:#746647;padding:13px 15px}.disclaimer .testpattern strong{color:var(--navy);font-weight:650}@media(max-width:760px){.cutnotice{font-size:11px}.disclaimer{padding:19px 17px}.disclaimer p{font-size:12px;line-height:1.85}.disclaimer h2{font-size:15px}}@media print{.disclaimer{display:block!important;break-inside:avoid;padding:15px 17px}.disclaimer h2{font-size:12px}.disclaimer p{font-size:9px;line-height:1.7;color:#4c5d6d;margin-top:10px}.disclaimer .testpattern{padding:10px 12px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Prominent job identification, with fields ready to fill in. */
.jobdetails{background:var(--khaki-pale);border:1px solid #d7cbaa;border-left:4px solid var(--navy);border-radius:9px;margin-bottom:24px;padding:0 15px}
.jobdetails>summary{color:var(--navy);font-size:15px;font-weight:750;padding:16px 22px 16px 0;min-height:52px}
.jobdetails>summary>span{display:inline-block;background:#fff9;color:#5d655f;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:500}
.jobdetailsbody{padding:0 0 16px}.jobdetailsbody label{font-size:12px;font-weight:650;color:var(--navy)}
.jobheader{background:#eee9dd;border:1px solid #d7cbaa;border-left:5px solid var(--navy);border-top:1px solid #d7cbaa;padding:24px}
.jobheader h2{font-size:28px;font-weight:750;letter-spacing:-.5px;line-height:1.25}
#sheetjobaddress{font-size:16px;font-weight:550;color:var(--navy);line-height:1.55;margin-top:10px}
.jobkicker{color:#665a3e;font-size:10px;margin-bottom:13px}.jobkicker span{color:#665a3e;font-size:10px}
.jobdatestamp>span{color:#536272;font-size:10px}.jobdatestamp time{color:var(--navy);font-size:12px;font-weight:650}
@media(max-width:760px){.jobdetails{padding:0 13px}.jobdetails>summary{font-size:15px;align-items:center;padding-top:15px;flex-wrap:wrap;gap:5px}.jobdetails>summary>span{margin-left:0}.jobheader{padding:20px 17px;flex-direction:column;gap:16px}.jobheader h2{font-size:26px}#sheetjobaddress{font-size:16px}.jobdatestamp{padding:0;text-align:left;margin:0}.jobdatestamp>span{display:inline;margin-right:8px}.jobdatestamp time{font-size:12px}}
@media print{.jobheader{padding:16px 20px;background:#eee9dd;print-color-adjust:exact;-webkit-print-color-adjust:exact;display:flex;flex-direction:row}.jobheader h2{font-size:25px}#sheetjobaddress{font-size:14px}.jobdatestamp>span{display:block;margin-right:0}}

.unitcontrol{display:grid;gap:6px;min-width:180px}.unitcontrol label{font-size:11px;font-weight:650;color:var(--navy)}.unitcontrol select{min-height:44px;border:1px solid #b7a67a;border-radius:7px;background:#fff;color:var(--navy);padding:9px 12px;font-size:14px;font-weight:600}.unitcontrol>span{font-size:10px;color:#68717a}.entryunitsnote{font-size:11px;line-height:1.6;color:#68717a;margin:0 0 16px}@media(max-width:760px){.resultheading{flex-wrap:wrap}.unitcontrol{width:100%;grid-template-columns:1fr 1fr;align-items:center}.unitcontrol select{font-size:16px}.unitcontrol>span{grid-column:1/-1}}@media print{.unitcontrol{min-width:0}.unitcontrol select{border:0;padding:0;min-height:0;appearance:none;background:none}.unitcontrol label{display:none}}

/* Clear, prominent navigation for the three input steps. */
.flowsteps{gap:8px;padding:7px;background:#eee9dd;border:1px solid #d8cba9;border-radius:12px;margin-bottom:25px}
.flowsteps button{min-width:0;min-height:60px;padding:10px 5px;gap:6px;border:1px solid #b8ac8c;border-bottom-width:3px;border-radius:8px;background:#fffdf7;color:var(--navy);font-size:14px;font-weight:750;line-height:1.2}
.flowsteps b{display:inline-grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#e5dcc5;color:var(--navy);font-size:12px;font-weight:800}
.flowsteps button.complete{background:#e2d7b9;border-color:#b6a274;color:var(--navy)}
.flowsteps button.complete b{background:#c6b382;color:var(--navy)}
.flowsteps button[aria-current="step"]{background:var(--navy);border-color:var(--navy);border-bottom-color:#b7a67a;color:#fff;box-shadow:0 3px 7px #14283f24}
.flowsteps button[aria-current="step"] b{background:#d6c79e;color:var(--navy)}
@media(hover:hover){.flowsteps button:not([aria-current="step"]):hover{background:#d8cba9;border-color:#8e7a49}}
@media(max-width:380px){.flowsteps{gap:6px;padding:6px}.flowsteps button{flex-direction:column;gap:6px;min-height:72px;font-size:14px;padding:9px 3px}}

.measurementhelp{margin-top:8px}.measurementhelp>summary{width:max-content;margin-left:auto;padding:12px 21px 12px 8px;color:#627080;font-size:11px;font-weight:550;min-height:44px;display:flex;align-items:center}.measurementhelp>summary:after{font-size:15px}.measurementhelpbody{padding:4px 14px 15px;background:#f5f3ec;border:1px solid #e2dccd;border-radius:8px}.measurementhelpbody h4{font-size:12px;font-weight:700;color:var(--navy);margin:16px 0 6px}.measurementhelpbody p{font-size:12px;line-height:1.7;color:#536272;margin:0}@media print{.measurementhelp{display:none}}

.printpage{display:contents}.printonly{display:none}.jobheader{order:0}.resultheading{order:1}.referencewarning{order:2}.framepanel{order:3}.inputchecks{order:4}.metrics{order:5}.drawing{order:6}.detailpanel{order:7}.inputrecap{order:8}.formulas{order:9}.validation{order:10}.disclaimer{order:11}
@media print{
 @page{size:auto;margin:12mm}
 body[data-mobile-view="setup"] .results,body[data-mobile-view="sheet"] .results{display:block!important}
 .printpage{display:block}.printreviewpage{break-before:page}.printonly{display:block}
 .printreviewheading{padding:0 0 10px;border-bottom:2px solid #14283f;margin-bottom:10px;font-size:12px}.printreviewheading span{display:block;font-size:10px;margin-top:5px}
 .printcutpage>.panel,.printreviewpage>.panel,.printcutpage>.metrics{margin-bottom:10px;box-shadow:none}
 .jobheader{padding:12px 16px}.jobheader h2{font-size:23px}#sheetjobaddress{font-size:12px;line-height:1.4}.jobkicker{margin-bottom:7px}
 .metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}
 .metric,.metric:first-child,.metric:last-child{display:block!important;grid-column:auto!important;min-height:0;padding:9px 11px;border:1px solid #ccd0d4;break-inside:avoid}
 .metric .value,.metric:first-child .value,.metric:last-child .value{font-size:16px!important;letter-spacing:0!important;line-height:1.35;white-space:normal}
 .metric .letter{font-size:11px;margin-bottom:5px}.metric small{font-size:9px;line-height:1.35;margin-top:4px}
 .drawing,.detailpanel{padding:12px 14px}.drawing .sectionhead,.detailpanel .sectionhead{margin-bottom:8px}.drawingmeta{margin-bottom:0}
 #drawing svg,.drawingscroll.enlarged #drawing svg{display:block;width:100%!important;height:auto!important;max-height:none!important;min-width:0!important}
 .drawing .legend{padding-top:6px;margin-top:0;font-size:8px}.drawing .drawingmeta{font-size:8px}
 .detailviews{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px}
 .detailviews svg{display:block;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:hidden!important}
 .detailviews svg text{font-size:12px!important}.detailviews svg text.dim-value{font-size:13px!important}.detailviews svg text.dim-badge-letter{font-size:14px!important}
 #secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:8px;padding-top:8px;margin-top:5px}#secondary b{font-size:11px}
 .patternreminder{font-size:9px;line-height:1.5;border-top:1px solid #ccd0d4;padding-top:7px;color:#14283f;margin:5px 0 0}
 .framepanel{padding:12px}.frameviewport svg{display:block;max-height:210px!important;width:100%!important}.framepanel .sectionhead{margin-bottom:3px}.framevalues{margin-bottom:5px;padding-top:6px}.framevalues dd{font-size:10px}.framenote{margin-top:5px}
 .inputrecap{padding:10px 14px}.inputrecap summary{font-size:11px;padding:0 0 8px}.inputrecap dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.inputrecap dd{font-size:10px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
 .inputchecks{padding:0 12px}.inputchecks>summary{padding:8px 20px 8px 0}#checksbody{font-size:9px}
 .disclaimer{padding:10px 14px}.disclaimer h2{font-size:11px}.disclaimer p{font-size:8px;line-height:1.5;margin-top:7px}.disclaimer .testpattern{padding:7px 9px}
 summary:after{display:none!important}.referencewarning{display:none!important}
}

@media print{
 .printpage+.printpage{break-before:page}
 .printsummarypage>.panel,.printsummarypage>.metrics,.printdiagrampage>.panel{margin-bottom:12px}
 .printdiagrampage .drawing{border:0;border-radius:0;padding:6px 0 12px}
 .printdiagrampage .detailpanel{border:0;border-top:1px solid #ccd0d4;border-radius:0;padding:14px 0}
 .printframepage .framepanel{border:0;border-radius:0;padding:12px 0}
 .printframepage .frameviewport svg{max-height:none!important;height:auto!important}
 .printframepage .framevalues{padding-top:15px;margin-top:10px}.printframepage .framevalues dd{font-size:13px}
 .printframepage .framenote{font-size:9px;line-height:1.6;margin-top:10px}
}

/* Always-visible unit choices above the cut sheet. */
.unitcontrol{order:2;display:block;min-width:0;width:100%;padding:18px 20px;border:2px solid #b7a67a;border-radius:12px;background:#eee9dd;box-shadow:0 2px 8px #14283f08}
.unitsheading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.unitsheading h2{font-size:16px;font-weight:750}.unitsheading>span{font-size:11px;color:#526170;text-align:right;line-height:1.5}
.unitbuttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.unitbuttons button{min-width:0;min-height:50px;padding:10px 8px;border:1px solid #a99b7a;border-radius:8px;background:#fff;color:#14283f;font-size:15px;font-weight:700;line-height:1.3}.unitbuttons button[aria-pressed="true"]{background:#14283f;border-color:#14283f;color:#fff;box-shadow:inset 0 -3px #b7a67a}.unitcontrol p{font-size:11px;color:#526170;line-height:1.5;margin:10px 0 0}
@media(hover:hover){.unitbuttons button[aria-pressed="false"]:hover{background:#e2d7b9}}
@media(max-width:760px){.unitcontrol{padding:15px 12px}.unitsheading{display:block;margin-bottom:12px}.unitsheading h2{font-size:17px}.unitsheading>span{display:block;text-align:left;margin-top:5px}.unitbuttons{gap:6px}.unitbuttons button{font-size:13px;min-height:54px;padding:8px 5px}}
@media print{.unitcontrol{display:block;padding:0 0 8px;border:0;border-radius:0;background:none;box-shadow:none;margin-bottom:6px}.unitsheading{display:block;margin:0}.unitsheading h2,.unitbuttons,.unitcontrol p{display:none}.unitsheading>span{display:block;font-size:10px;text-align:left}}

/* Official Tru Cut identity. */
header{height:auto;min-height:108px;gap:18px;padding-top:12px;padding-bottom:12px}.brand{gap:15px;min-width:0;letter-spacing:0}.brandlogo{display:block;width:76px;height:76px;object-fit:contain;flex:none;border-radius:15px}.brandcopy{display:flex;flex-direction:column;gap:4px;min-width:0}.brandcopy strong{font-size:28px;font-weight:750;line-height:1.1;letter-spacing:.2px}.brandtagline{font-size:15px;font-weight:550;color:#e0c694;line-height:1.3}.brandcompany{font-size:11px;line-height:1.4;color:#e4e8ed;font-weight:400;letter-spacing:0}.printbutton{flex:none}.sheetbrand{display:flex;align-items:center;gap:11px;margin-bottom:13px}.sheetbrand img{display:block;border-radius:8px;flex:none}.sheetbrand .jobkicker{margin:0;font-size:15px;letter-spacing:0;font-weight:750;color:#14283f}.sheetbrand .jobkicker span{display:block;font-size:10px;line-height:1.5;margin:3px 0 0;color:#526170;letter-spacing:0}.printbrandlogo{float:left;margin-right:10px;border-radius:7px}footer small{display:block;margin-top:4px;font-size:10px;line-height:1.5}
@media(max-width:760px){header{min-height:91px;padding:12px 4%;gap:10px}.brand{gap:10px}.brandlogo{width:59px;height:59px;border-radius:12px}.brandcopy{gap:3px}.brandcopy strong{font-size:23px}.brandtagline{font-size:12px}.brandcompany{font-size:9px;max-width:190px}.printbutton{width:44px;min-width:44px;height:44px;padding:11px;justify-content:center}.printbutton>span{display:none}.printbutton svg{width:20px;height:20px}.sheetbrand .jobkicker span{font-size:10px}}
@media(max-width:359px){.brandlogo{width:50px;height:50px}.brandcompany{max-width:145px}.brandcopy strong{font-size:21px}.brandtagline{font-size:11px}}
@media print{.sheetbrand{margin-bottom:9px;gap:9px}.sheetbrand img{width:38px;height:38px}.sheetbrand .jobkicker{font-size:13px}.sheetbrand .jobkicker span{font-size:8px}.printreviewheading{min-height:48px}.printreviewheading:after{content:"";display:block;clear:both}}
/* Nameplates use the original lettering, clipped from the supplied logo. */
.brandwordmark{display:block;width:180px;height:auto;max-width:100%;border-radius:4px}.sheetbrand img.sheetwordmark{display:block;width:120px;height:auto;border-radius:3px;margin:0 0 5px}.sheetbrand .jobkicker{line-height:1}.sheetbrand .jobkicker span{line-height:1.5}
@media(max-width:760px){.brandwordmark{width:140px}.sheetbrand img.sheetwordmark{width:112px}}
@media(max-width:359px){.brandwordmark{width:124px}}
@media print{.sheetbrand img.sheetwordmark{width:100px;height:auto;margin-bottom:3px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.sheetbrand{margin-bottom:14px}.sheetbrand>img{width:96px;height:96px;border-radius:17px;object-fit:contain}@media(max-width:760px){.sheetbrand>img{width:84px;height:84px;border-radius:14px}}@media print{.sheetbrand>img{width:64px;height:64px;border-radius:11px}.sheetbrand{margin-bottom:9px}}
.sheetexportbar{order:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sheetexportbar button{min-height:48px;padding:12px 20px;border:1px solid #14283f;border-radius:8px;background:#14283f;color:#fff;font-weight:700;font-size:14px}.sheetexportbar button span{margin-left:12px;color:#d6c79e;font-size:18px}.sheetexportbar button:disabled{opacity:.65;cursor:progress}.sheetexportbar>span{font-size:11px;line-height:1.6;color:#68717a;flex:1;min-width:180px}@media(max-width:760px){.sheetexportbar{gap:7px}.sheetexportbar button{width:100%;display:flex;justify-content:space-between;align-items:center}.sheetexportbar>span{font-size:11px}}@media print{.sheetexportbar{display:none!important}}

/* Focused phone setup; tablet and print layouts retain their existing design. */
@media screen and (max-width:600px){
 main{padding:12px 12px 32px}.workspace{gap:12px}
 header .brandlogo{width:48px;height:48px}header .brandwordmark{width:126px;height:auto}header .brandcompany{display:none}header .brandtagline{font-size:12px}header{padding-left:14px;padding-right:14px}
 .mobiletabs{top:6px;margin-bottom:12px}.mobiletabs button{font-size:15px;min-height:48px}
 .inputs{padding:18px 16px;border-radius:16px}.inputs>.sectionhead{display:none}
 #form{display:flex;flex-direction:column}#form>.entryunitsnote{font-size:12px;margin:0 0 14px;line-height:1.5}
 #form>.jobdetails{order:2;margin-top:20px}#form>.entryhelp{order:3}
 .flowprogress{margin-top:0}.flowprogress>span:last-child{display:none}
 .flowsteps{margin-bottom:22px;padding:5px;gap:6px}.flowsteps button{font-size:14px;min-height:52px}
 .inputstep h3{font-size:24px;line-height:1.25}.stepintro{font-size:13px;line-height:1.5}
 .inputstep label{font-size:15px;font-weight:650}.inputstep .field p{font-size:12px;line-height:1.5}
 .inputstep input,.inputstep select{font-size:18px;min-height:54px;border-radius:9px}
 .inputstep .row{display:grid;grid-template-columns:1fr;gap:0}
 .roofchoices button{min-height:82px}.roofchoices strong{font-size:19px}.roofchoices small{font-size:13px}
 .rafterspanfield{padding:14px;border-radius:12px}.spanlabel{gap:10px}#editrafterspan{min-height:44px;min-width:66px}
 .flowactions{position:sticky;bottom:0;z-index:15;background:#fff;padding:12px 0 calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 16px #ffffffed;margin-top:14px}
 .flowactions .calculate{font-size:17px;min-height:56px}.flowactions>button:first-child{font-size:15px}
 .savednote{font-size:12px}.jobdetails>summary{font-size:14px;min-height:52px}
 .results .panel{border-radius:14px}.results .sectionhead h2{font-size:17px}
 .disclosurebody p{font-size:14px;line-height:1.6}
}

.sheetexportbar{flex-wrap:wrap}#savepdf,#openpdf{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-radius:8px;background:#14283f;color:white;text-decoration:none;font-weight:700}#openpdf{background:#eee9dd;color:#14283f}#savepdf[hidden],#openpdf[hidden]{display:none}

/* Prominent input labels across all three setup steps. */
@media screen{.inputstep label{font-size:14px;font-weight:700;color:#14283f}}
@media screen and (max-width:600px){.inputstep label{font-size:16px}}
@media screen{
 .inputstep h3{font-size:24px;font-weight:700}
 .inputstep input,.inputstep select{font-size:17px;font-weight:600;color:#14283f}
 .inputstep .advanced>summary{font-size:14px;font-weight:650;color:#14283f}
 .flowsteps button{font-weight:750}
}
/* A prominent, collapsed job card at the start of phone setup. */
@media screen and (max-width:600px){
 #form>.jobdetails{order:-1;margin:0 0 22px;padding:0 16px;background:#14283f;border:2px solid #b7a67a;border-radius:12px;box-shadow:0 3px 8px #14283f15}
 .jobdetails>summary{min-height:72px;padding:18px 28px 18px 0;font-size:18px;line-height:1.35;font-weight:750;color:#fff;gap:8px}
 .jobdetails>summary::after{color:#dbc69b;font-size:24px}
 .jobdetails>summary>span{background:#e9dfc6;color:#14283f;font-size:11px;font-weight:650;padding:4px 8px;border-radius:5px}
 .jobdetails[open]{background:#eee9dd}
 .jobdetails[open]>summary{color:#14283f}
 .jobdetails[open]>summary::after{color:#14283f}
 .jobdetailsbody label{font-size:15px;font-weight:700}
 .jobdetailsbody input,.jobdetailsbody textarea{font-size:17px;min-height:52px}
 .jobdetails>summary:focus-visible{outline:3px solid #dbc69b;outline-offset:4px;border-radius:5px}
}

#sharepdf{min-height:52px;padding:12px 20px;border:2px solid #b7a67a;border-radius:8px;background:#14283f;color:#fff;font-size:16px;font-weight:700}#sharepdf[hidden]{display:none}@media screen and (max-width:600px){.sheetexportbar{gap:12px}.sheetexportbar>a,.sheetexportbar>button{width:100%;justify-content:center;text-align:center}#sharepdf{order:-1}#pdfstatus{width:100%;font-size:14px;line-height:1.5}}
.languagebar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:18px}.languagebar label{font-weight:700;color:#14283f;font-size:14px}.languagebar select{max-width:280px;width:auto;min-height:44px;font-size:15px;background:white;border:1px solid #b7a67a;border-radius:8px;padding:8px 34px 8px 12px;color:#14283f}
.flowsteps{padding:7px;gap:8px;background:#eee9dd;border:2px solid #b7a67a;border-radius:13px}.flowsteps button{flex-direction:column;gap:8px;min-height:100px;padding:10px 5px;border:2px solid #c5b794;border-radius:9px;font-size:16px;font-weight:750;color:#14283f;background:white;box-shadow:none;line-height:1.2}.flowsteps button b{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:22px;font-weight:800;background:#e9dfc6;color:#14283f}.flowsteps button[aria-current="step"]{background:#14283f;border-color:#14283f;color:white;box-shadow:0 4px 0 #b7a67a}.flowsteps button[aria-current="step"] b{color:#14283f;background:#dbc69b}.flowsteps button.complete{border-color:#9d8b61;background:#f6f2e8;color:#14283f}.flowprogress{color:#14283f;font-size:14px}.flowprogress span:first-child{font-size:16px;font-weight:800;color:#14283f}.flowsteps button:focus-visible{outline:3px solid #8a703b;outline-offset:3px}
@media screen and (max-width:600px){.languagebar{justify-content:space-between;margin:0 0 12px}.languagebar select{max-width:74%;font-size:15px}.flowsteps button{min-height:98px;font-size:15px}.flowsteps button b{width:36px;height:36px;font-size:22px}.flowprogress span:first-child{font-size:17px}.flowactions .calculate{font-size:15px}.roofchoices{gap:8px}.roofchoices strong{font-size:17px}.inputstep .field label{line-height:1.4}}
@media print{.languagebar{display:none!important}}

[hidden].heightdependency,[hidden]#heightfield,[hidden]#pitchfield{display:none!important}.calculationmode{padding:14px;background:#eee9dd;border:1px solid #d8cbaa;border-radius:10px}.heightpitch{font-weight:750!important;color:#14283f!important;font-size:17px!important;line-height:1.5}.heightdependency{background:#eee9dd;border-left:3px solid #14283f;border-radius:6px;padding:12px;font-size:13px;line-height:1.6;color:#14283f}#heighthelp{line-height:1.6}

.pitchsummary{padding:14px 16px;background:#eee9dd;border:1px solid #b7a67a;border-radius:9px;color:#14283f;font-size:16px;line-height:1.5;font-weight:700}.pitchsummary[hidden]{display:none}#heightlumberpitch{display:block;margin-top:6px;font-size:16px}

#tailfacefield[hidden]{display:none!important}#tailfacefield{padding:14px;background:#eee9dd;border:1px solid #d8cbaa;border-radius:9px}#tailfacehelp{line-height:1.6}#heightpitch,#heightlumberpitch,.pitchsummary{overflow-wrap:anywhere}

.pitchfraction{font-weight:750!important;color:#14283f!important;font-size:14px!important;line-height:1.5!important}

.sheetexportbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sheetexportbar #exportpdf{min-width:190px;min-height:52px;font-size:16px}.pdfhelp{width:100%;font-size:13px}.pdfhelp>summary{display:inline-block;cursor:pointer;color:#5d6e7e;padding:10px 0;min-height:44px}.pdfhelp>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:#f3f0e7;border-radius:8px}.pdfhelp p{flex-basis:100%;margin:0;font-size:12px;line-height:1.6;color:#627080}.pdfhelp #openpdf,.pdfhelp #printbackup{min-height:44px;padding:10px 14px;border:1px solid #b7a67a;border-radius:7px;background:white;color:#14283f;font-size:14px;text-decoration:none}.pdfhelp #openpdf[hidden]{display:none}#exportpdf:disabled{opacity:.65;cursor:wait}@media(max-width:600px){.sheetexportbar #exportpdf{width:100%;min-height:56px}.sheetexportbar #pdfstatus{width:100%;font-size:14px;line-height:1.6}.pdfhelp>summary{font-size:13px}.pdfhelp>div{align-items:stretch}.pdfhelp #openpdf,.pdfhelp #printbackup{width:100%;text-align:center}}@media print{.pdfhelp{display:none!important}}

.sheetexportbar #sharepdf{order:0;min-height:52px;min-width:160px;padding:12px 20px;font-size:16px;border:1px solid #b7a67a;border-radius:8px;background:#eee9dd;color:#14283f;font-weight:700}.sheetexportbar #sharepdf[hidden]{display:none!important}@media(max-width:600px){.sheetexportbar #sharepdf{width:100%;min-height:56px}}

/* RafterCut family branding */
.brandparent{display:block;font-size:13px;font-weight:500;color:#e0c694;line-height:1.3}.brandcopy strong{white-space:nowrap}@media(max-width:760px){.brandparent{font-size:12px}.brandcopy strong{font-size:23px}}

@media print{.reviewpanel{display:none!important}}

.mobiledimensions{display:none}

#detail .detail-dimension{fill:none;stroke:#657789;stroke-width:1.3}#detail .dimensionlabel{font-weight:600}

@media print{.sitechrome{display:none!important}}

@media print{.sheetworkflow{display:none!important}}

@media print{
 .printdiagrampage{break-inside:avoid;page-break-inside:avoid}
 .printdiagrampage #drawing svg,.printdiagrampage .drawingscroll.enlarged #drawing svg{max-height:290px!important}
 .printdiagrampage .detailviews svg{max-height:180px!important}
}

/* Title treatment for interface labels; explanatory sentences retain their case. */
.mobiletabs button,h1,h2,h3,label,legend,summary,dt,
.metric small,.calcmodeheading,.jobdatestamp>span,
.reviewactions button,.drawingactions button,#framezoom,
#flownext,#exportpdf,#sharepdf,.calcmodechoices button,
.unitcontrol button,.tailchoices strong{text-transform:capitalize}
