/* The approved truss workspace; all overrides stay on this calculator. */
.truss-page{background:#f4f8f8}
.truss-page .header-inner{height:72px}
.truss-page .container,.truss-page .calc-container{width:calc(100% - 48px);max-width:1640px}
.truss-page .calc-container{padding-block:24px 32px}
.truss-page .calc-heading{gap:24px;margin-bottom:24px}
.truss-page .calc-heading>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.truss-page .calc-heading h1{font-size:34px;letter-spacing:-1.2px}
.truss-page .calc-heading p{font-size:13px;line-height:1.5;color:var(--muted)}
.truss-page .calc-heading>p{max-width:310px}
.truss-page .calc-layout{grid-template-columns:330px minmax(0,1fr);gap:20px}
.truss-page .calc-panel{padding:0 18px 16px;border-color:#d9e4e4;border-radius:8px;position:sticky;inset-block-start:16px;max-height:calc(100dvh - 32px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bccfca transparent}
.truss-page .parameter-section{border-color:#e1eaea}
.truss-page .parameter-section>summary{display:flex;align-items:center;gap:12px;padding:18px 20px 18px 0;font-size:14px;line-height:1.45;min-height:62px}
.truss-page .parameter-section>summary:after{content:'';width:7px;height:7px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(45deg);inset-inline-end:2px;inset-inline-start:auto;top:25px}
.truss-page .parameter-section[open]>summary:after{transform:rotate(225deg);top:29px}
.truss-page .section-number{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border-radius:50%;background:#6b8d87;color:#fff;font-size:13px;font-weight:500}
.truss-page .parameter-section[open] .section-number{background:var(--ink)}
.truss-page .parameter-content{padding-block-end:18px}
.truss-page .parameter-content>label,.truss-page .calc-fields label,.truss-page #truss-snow-fields>label,.truss-page .truss-quantity>label{display:block;font-size:12px;font-weight:500;line-height:1.45;color:var(--ink)}
.truss-page .parameter-content>label:first-of-type{margin-block-start:0}
.truss-page #truss-snow-fields>label{margin-block-start:16px}
.truss-page .calc-fields{gap:16px 12px;margin-block-start:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.truss-page .calc-panel input:not([type=range]):not([type=checkbox]),.truss-page .calc-panel select{background:#fcfdfd;border-color:#ccdada;border-radius:5px;font-size:15px;line-height:1.35;min-height:42px;margin-block-start:6px;padding:9px 11px}
.truss-page .calc-panel select{font-size:13px;padding-inline-end:6px}
.truss-page .calc-panel input[readonly]{background:#f0f5f3!important}
.truss-page .calc-panel .field-hint{font-size:11px;line-height:1.6;margin-block-start:10px}
.truss-page .slider-label{font-size:12px!important;gap:0}
.truss-page .slider-label input{cursor:text;height:auto}
.truss-page .slider-label output{display:none}
.truss-page .dimension-help{margin-block-start:16px;color:var(--muted)}
.truss-page .dimension-help>summary{cursor:pointer;font-size:11px;min-height:28px;padding-block:4px}
.truss-page .truss-quantity{padding-block-start:18px}
.truss-page .truss-quantity input{max-width:150px}
.truss-page #reset-parameters{font-size:12px;margin-block-start:8px}
.truss-page .parameter-error{font-size:12px;line-height:1.6}
.truss-page .model-stage{min-height:0;background:#f0f6f5;border-color:#d9e4e4;border-radius:8px;container-type:inline-size;overflow:clip}
.truss-page .stage-toolbar{padding:16px 16px 8px;display:block}
.truss-page .canopy-types legend{font-size:14px;margin-block-end:10px}
.truss-page .canopy-type-list{gap:8px;padding:3px 2px 8px}
.truss-page .canopy-types label{flex:1 0 122px}
.truss-page .canopy-types label>span{padding:9px 6px;min-height:76px;border-color:#c8dada;border-radius:5px;gap:7px}
.truss-page .canopy-types svg{width:40px;height:29px}
.truss-page .canopy-types strong{font-size:12px;line-height:1.3;font-weight:500}
.truss-page .truss-tools{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:10px 16px;border-block:1px solid #e0e9e7;background:#f7faf9}
.truss-page .view-buttons{padding:2px;flex-shrink:0}
.truss-page .view-buttons button{font-size:12px;padding:6px 11px;min-height:34px}
.truss-page .analysis-toolbar{flex:0 0 auto;display:flex;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap;padding:0;font-size:11px;min-width:0}
.truss-page .analysis-toolbar>label:not(.analysis-check){display:flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0}
.truss-page .analysis-toolbar select{font-size:11px;min-height:38px;max-width:100%}
.truss-page .analysis-check{gap:5px;min-height:38px}
.truss-page .analysis-check input{width:15px;height:15px;margin:0}
.truss-page #deformation-scale{width:125px}
.truss-page .stage-actions{margin-inline-start:auto}
.truss-page .stage-actions{gap:8px;flex-shrink:0}
.truss-page .stage-actions button{width:38px;height:38px}
.truss-page .analysis-status{font-size:11px;min-height:26px;padding:4px 16px;line-height:1.5;background:#eaf2ef}
.truss-page .canopy-canvas{flex:none;height:clamp(260px,calc(100dvh - 640px),420px);min-height:0}
.truss-page #structure-error{margin:10px 16px}
.truss-page .analysis-legend{margin:0 16px;padding:10px 12px;border-color:#dce8e6;border-radius:6px}
.truss-page .legend-label{font-size:11px;gap:12px;flex-wrap:wrap}
.truss-page .analysis-legend p{font-size:10px;line-height:1.5;margin-block-start:7px}
.truss-page .stress-gradient{height:8px}
.truss-page .truss-workspace-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:4px 16px 10px}
.truss-page .truss-workspace-footer>p{font-size:10px;line-height:1.6;color:var(--muted);max-width:320px}
.truss-page .truss-workspace-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.truss-page .truss-workspace-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;font-size:11px;line-height:1.4;padding:9px 10px;border:1px solid #cddeda;border-radius:5px;background:#fff;text-decoration:none;text-align:center;color:var(--ink)}
.truss-page .truss-workspace-actions button:hover{background:#e7f0ec;border-color:#91b0a5}
.truss-page .truss-workspace-actions button svg{width:16px;height:16px;stroke-width:1.7}
.truss-page #calc-status{font-size:12px;padding:0 16px 10px;overflow-wrap:anywhere}
.truss-page #calc-status:empty{display:none}
.truss-page .truss-scene-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:8px 16px}
.truss-page .stage-help{flex:1 1 300px;font-size:10px;line-height:1.5;padding:0;margin:0}
.truss-page .truss-detail-panel{background:#fff;border-color:#d9e4e4;border-radius:8px;margin-block-start:16px;padding:0 20px;scroll-margin-block-start:20px}
.truss-page .truss-detail-panel>summary{font-size:15px;line-height:1.4;font-weight:600;cursor:pointer;padding-block:18px;min-height:58px}
.truss-page .truss-detail-panel[open]{padding-block-end:22px}
.truss-page .snow-heading,.truss-page .bill-heading{margin-block:8px 18px}
.truss-page .snow-heading h2,.truss-page .bill-heading h2{font-size:20px;letter-spacing:-.5px}
.truss-page .bill-heading p,.truss-page .snow-heading p{font-size:12px}
.truss-page .snow-stats span{font-size:12px}
.truss-page .snow-stats strong{font-size:24px}
.truss-page .member-inspector{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.truss-page .member-inspector>label{font-size:12px}
.truss-page .member-inspector select{font-size:12px;min-height:42px}
.truss-page .member-inspector>div{font-size:13px;padding:16px;min-width:0}
.truss-page .member-inspector dl{grid-template-columns:minmax(0,1fr)}
.truss-page .member-inspector dl>div{gap:12px;flex-wrap:wrap}
.truss-page .member-inspector dd{white-space:normal;overflow-wrap:anywhere}
.truss-page .bill-footnote{font-size:11px;line-height:1.7}
.truss-page #snow-source{text-decoration:underline;text-underline-offset:3px}
.truss-page .model-stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px;margin-block:0 18px;gap:16px;background:#f6faf8}
.truss-page .model-stats span{font-size:11px}
.truss-page .model-stats strong{font-size:16px;overflow-wrap:anywhere}
.truss-page .bill-table{font-size:13px;min-width:520px}
.truss-page .bill-table th{font-size:11px}
.truss-page .text-button{font-size:12px}
.truss-page .model-stage:fullscreen{border-radius:0;overflow-y:auto;min-height:100dvh}
.truss-page .model-stage:fullscreen .canopy-canvas{flex:1 0 240px;height:auto}
.calc-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:20px;font-size:12px;color:var(--muted)}
@container(max-width:850px){.truss-page .truss-tools{gap:10px}.truss-page .stage-actions{margin-inline-start:auto}.truss-page .truss-workspace-footer>p{max-width:none}}
@media(max-width:1120px){.truss-page .calc-layout{grid-template-columns:300px minmax(0,1fr);gap:16px}.truss-page .calc-heading>div{display:block}.truss-page .calc-heading>div p{margin-block-start:7px}.truss-page .calc-heading>p{max-width:260px}.truss-page .calc-heading h1{font-size:30px}.truss-page .canopy-canvas{height:310px}.truss-page .model-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.truss-page .calc-layout{display:flex;flex-direction:column;gap:16px}.truss-page .calc-right{display:contents}.truss-page .calc-panel{width:100%;order:2;position:static;max-height:none;overflow:visible}.truss-page .model-stage{width:100%;order:1}.truss-page .truss-detail-panel{width:100%;order:3;margin-block-start:0}.truss-page .calc-heading{align-items:flex-start}.truss-page .parameter-content{max-width:650px}.truss-page .calc-heading>p{display:none}}
@media(max-width:620px){.truss-page .container,.truss-page .calc-container{width:calc(100% - 28px)}.truss-page .header-inner{height:68px}.truss-page .calc-container{padding-block-start:20px}.truss-page .brand strong{font-size:18px}.truss-page .calc-nav{font-size:11px;gap:4px}.truss-page .calc-nav a{padding:6px 8px}.truss-page .calc-heading{margin-block-end:20px}.truss-page .calc-heading h1{font-size:28px;letter-spacing:-.8px}.truss-page .calc-heading p{font-size:12px}.truss-page .stage-toolbar{padding:12px 10px 6px}.truss-page .canopy-types label{flex-basis:116px}.truss-page .canopy-types legend{font-size:13px}.truss-page .truss-tools{padding:8px 10px;gap:8px}.truss-page .view-buttons button{font-size:11px;padding-inline:9px}.truss-page .analysis-toolbar{font-size:11px;gap:6px 10px}.truss-page .analysis-status{padding-inline:10px;font-size:10px}.truss-page .canopy-canvas{height:245px}.truss-page .analysis-legend{margin-inline:10px;padding:10px}.truss-page .legend-label{font-size:10px}.truss-page .truss-workspace-footer{padding-inline:10px}.truss-page .truss-workspace-actions{gap:8px}.truss-page .truss-workspace-actions button{flex:1 1 120px;font-size:12px}.truss-page .truss-scene-controls{padding-inline:10px}.truss-page .stage-help{font-size:10px}.truss-page .calc-panel{padding-inline:16px}.truss-page .calc-panel input:not([type=range]):not([type=checkbox]){font-size:16px;min-height:44px}.truss-page .calc-panel select{font-size:14px;min-height:44px}.truss-page .member-inspector{grid-template-columns:minmax(0,1fr)}.truss-page .truss-detail-panel{padding-inline:16px}.truss-page .bill-table{font-size:12px}.truss-page .model-stage:fullscreen .canopy-canvas{flex:1 0 200px;height:auto}}
@media(prefers-reduced-motion:reduce){.truss-page{scroll-behavior:auto}}

/* Type choices live in the parameter panel; on phones they lead the model. */
.truss-page .calc-panel>.canopy-types{padding-block:18px 10px;border-block-end:1px solid #e1eaea}
.truss-page .calc-panel .canopy-type-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:3px 2px 8px;overflow:visible}
.truss-page .calc-panel .canopy-types label{min-width:0}
.truss-page .calc-panel .canopy-types label>span{min-height:80px;padding:8px 4px;gap:6px}
.truss-page .calc-panel .canopy-types svg{width:34px;height:25px}
.truss-page .calc-panel .canopy-types strong{font-size:10px;line-height:1.4}
@media(min-width:901px){.truss-page .calc-panel{max-height:calc(100dvh - 180px)}}
@media(max-width:900px){.truss-page .calc-panel{display:contents}.truss-page .calc-panel>.canopy-types{width:100%;order:1;border:1px solid #d9e4e4;border-radius:8px;background:#fff;padding:14px 16px 8px}.truss-page .calc-panel .canopy-type-list{display:flex;overflow-x:auto;gap:8px;padding:3px 2px 8px}.truss-page .calc-panel .canopy-types label{flex:1 0 122px}.truss-page .calc-panel .canopy-types strong{font-size:12px}.truss-page .model-stage{order:2}.truss-page .truss-parameter-body{width:100%;order:3;background:#fff;border:1px solid #d9e4e4;border-radius:8px;padding:0 18px 16px}.truss-page .truss-detail-panel{order:4}}

/* Compact scale floats over the model; result cards are removed. */
.truss-page .truss-scene{position:relative;height:clamp(320px,calc(100dvh - 390px),620px);min-width:0}
.truss-page .truss-scene .canopy-canvas{height:100%;min-height:0}
.truss-page .truss-scene .analysis-legend{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;width:68px;padding:9px 5px;margin:0;background:transparent;border:0;border-radius:5px;pointer-events:none;z-index:2}
.truss-page .truss-scene .analysis-legend[hidden]{display:none}
.truss-page .truss-scene .analysis-legend>span{font-size:10px;line-height:1.4;text-align:center;color:var(--ink);overflow-wrap:anywhere}
.truss-page .truss-scene .stress-gradient{width:10px;height:150px;margin:0;border-radius:3px;background:linear-gradient(to top,#2462b4 0%,#28a8c6 25%,#45b97d 50%,#efc747 75%,#d74938 100%)}
.truss-page .model-stage:fullscreen> :not(.truss-scene){flex-shrink:0}
.truss-page .model-stage:fullscreen .truss-scene{flex:1 0 280px;height:auto;min-height:240px}
.truss-page .model-stage:fullscreen .truss-scene .canopy-canvas{position:absolute;inset:0}
@media(max-width:1120px){.truss-page .truss-scene{height:420px}}
@media(max-width:620px){.truss-page .truss-scene{height:300px}.truss-page .truss-scene .analysis-legend{inset-inline-end:6px;width:54px;padding:7px 3px;gap:5px}.truss-page .truss-scene .analysis-legend>span{font-size:9px}.truss-page .truss-scene .stress-gradient{height:115px;width:8px}}
