@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.m-1{margin:.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.table-header-group{display:table-header-group}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-width:1px}.pt-1{padding-top:.25rem}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.3125rem;--leading-tight: 1.25;--leading-normal: 1.45;--app-bg: #f2efe8;--surface: #fffefa;--surface-raised: #ffffff;--surface-sunken: #f8f4ea;--surface-muted: #fbfaf7;--surface-elevated: #f7f3ea;--text-primary: #24211c;--text-secondary: #514a40;--text-muted: #71695e;--text-faint: #8a8278;--text-on-dark: #f7f4eb;--border: #ded6c8;--border-strong: #cfc6b8;--border-soft: #e8e1d7;--chrome-bg: #2a3139;--chrome-bg-active: #1c3339;--chrome-border: #5e8584;--accent: #1f6d78;--accent-strong: #174f57;--accent-border: #1e5f69;--accent-soft: #e8f3f2;--accent-ink: #126e82;--chart-max: #b5502a;--chart-min: #2c6b9e;--chart-grid: #e4dfd4;--chart-axis: #a89f92;--warning: #9a6b12;--warning-soft: #fff3cd;--warning-border: #d9aa75;--danger: #8a4b15;--danger-soft: #f8ebe0;--success: #365451;--control-height-sm: 28px;--control-height: 34px;--control-height-lg: 42px;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(36, 33, 28, .06);--shadow-md: 0 4px 12px rgba(36, 33, 28, .1);--shadow-lg: 0 12px 32px rgba(36, 33, 28, .16);--z-canvas-overlay: 6;--z-popover: 20;--z-modal: 40;--canvas-toolbar-height: 38px;font-family:var(--font-sans);background:var(--app-bg);color:var(--text-primary);font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-bg);font-size:var(--text-sm);line-height:var(--leading-normal)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;grid-template-columns:var(--sidebar-width, 232px) 6px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:22px;padding:18px 14px;background:#244048;color:#f7f4eb;min-height:0;overflow:hidden}.brand-block{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 8px}.brand-block strong,.brand-block span{display:block;line-height:1.2}.brand-block span{color:#cddbd9;font-size:var(--text-sm)}.section-list{display:grid;gap:6px;flex:1 1 auto;align-content:start;min-height:0;overflow-y:auto;scrollbar-width:thin}.section-tree{display:grid;gap:4px}.section-heading{display:flex;align-items:center;gap:2px;min-width:0}.section-heading .section-button{flex:1 1 auto;min-width:0}.section-heading-actions{display:flex;flex:0 0 auto;align-items:center;margin-left:auto}.section-create{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto;min-width:24px;height:24px;margin-left:0;padding:0 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a9c0be;cursor:pointer;font-size:10px;white-space:nowrap}.section-create:hover,.section-create:focus-visible{border-color:#79a7a4a6;background:#1c3339b8;color:#fff;outline:none}.section-create:disabled{opacity:.4;cursor:default}.section-create:disabled:hover{border-color:transparent;background:transparent;color:#a9c0be}.section-child-rename{width:100%;min-width:3.5rem;padding:0 4px;border:1px solid #5e8584;border-radius:3px;background:#0f2428;color:#fff;font:inherit}.section-button{display:flex;align-items:center;gap:10px;min-height:var(--control-height-lg);padding:0 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text-on-dark);font-size:var(--text-md);font-weight:600;text-align:left}.section-disclosure{margin-left:auto;transition:transform .14s ease}.section-disclosure.open{transform:rotate(90deg)}.section-sublist{display:grid;gap:3px;margin:0 4px 3px 12px;padding-left:8px;border-left:1px solid rgba(205,219,217,.3)}.section-subgroup{display:grid;gap:3px}.section-subgroup+.section-subgroup{margin-top:4px}.section-subgroup-label{padding:2px 7px 0;overflow:hidden;color:#a9c0be;font-size:var(--text-2xs);font-weight:700;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.section-child-button{display:grid;gap:1px;width:100%;min-width:0;padding:5px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#e4eeec;font-size:var(--text-xs);text-align:left}.section-child-button span,.section-child-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-child-button small{color:#a9c0be;font-size:var(--text-2xs)}.section-child-label{display:flex;flex-wrap:wrap;align-items:center;min-width:0}.section-child-label-part{display:inline-flex;align-items:center;gap:5px;min-width:0}.section-child-label-part>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-child-label-sep{white-space:pre}.status-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;box-sizing:border-box}.status-dot--pass{background:#2da160}.status-dot--fail{background:#d1424f}.status-dot--warn{background:#d0a02f}.status-dot--unchecked{background:#fff;border:1px solid rgba(138,148,146,.75)}.status-dot--excluded{background:transparent;border:1px solid rgba(138,148,146,.55)}.section-child-button:hover,.section-child-button:focus-visible{border-color:#79a7a4a6;background:#1c3339b8;color:#fff;outline:none}.section-child-button--selected{border-color:#79a7a4d9;background:#1c3339e0;color:#fff}.section-amalgamated-labels{display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-width:0}.section-amalgamated-labels .section-child-button--chip{width:auto;flex:0 1 auto}.section-child-button--pending{border-style:dashed;color:#cedddb}.section-member-tree{display:grid;gap:1px;min-width:0}.section-member-row{display:flex;gap:2px;min-width:0}.section-member-row>.section-child-button{flex:1 1 auto;min-width:0}.section-member-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto;min-width:24px;padding:0 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a9c0be;cursor:pointer;font-size:10px;white-space:nowrap}.section-member-toggle:hover,.section-member-toggle:focus-visible{border-color:#79a7a4a6;background:#1c3339b8;color:#fff;outline:none}.section-member-toggle .section-disclosure{margin-left:0}.section-member-list{display:grid;gap:1px;margin:1px 2px 4px 12px;padding-left:7px;border-left:1px solid rgba(205,219,217,.3)}.section-member-list .section-child-button{display:flex;align-items:center;gap:6px;padding:3px 7px}.section-context-menu{position:fixed;z-index:40;display:grid;min-width:12.5rem;padding:4px;border:1px solid rgba(121,167,164,.65);border-radius:6px;background:#1c3339;box-shadow:0 8px 20px #00000059}.section-context-menu button{display:block;width:100%;padding:6px 10px;border:0;border-radius:4px;background:transparent;color:#e4eeec;font-size:var(--text-xs);text-align:left}.section-context-menu button:hover,.section-context-menu button:focus-visible{background:#2a4a50;color:#fff;outline:none}.section-button:hover:not(:disabled),.section-button.active{background:#1c3339;border-color:#5e8584;color:#fff}.section-button:disabled{opacity:.42;cursor:not-allowed;color:#a8bab8}.sidebar-resize-handle{display:flex;align-items:center;justify-content:center;min-height:0;border-right:1px solid #1c3339;background:#244048;color:#a9c0be;cursor:col-resize;touch-action:none}.sidebar-resize-handle:hover,.sidebar-resize-handle:focus-visible{background:#1c3339;color:#e4eeec;outline:none}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;min-height:40px;background:#fbfaf7;border-bottom:1px solid #ded7c9}.topbar-trailing{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-save-status{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-leading{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.topbar-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .5rem;margin:0;min-width:0;font-size:clamp(var(--text-lg),1.4vw,var(--text-xl));font-weight:700;letter-spacing:0;line-height:1.25}.topbar-title{color:#24211c}.topbar-title-sep{color:#a89f92;font-weight:400}.run-action{flex-shrink:0;min-height:var(--control-height);padding:0 14px;font-size:var(--text-sm)}.canvas-run-action{min-height:var(--control-height-sm);padding:0 12px;font-size:var(--text-sm);box-shadow:none}.canvas-dock-toolbar{display:flex;flex-direction:column;justify-content:center;flex-shrink:0;height:var(--canvas-toolbar-height);padding:5px 8px;border-bottom:1px solid #e2dbcf;background:#fbfaf7;color:#5b554c;font-size:var(--text-xs)}.canvas-dock-row{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.canvas-dock-slot{display:flex;align-items:center;flex:1 1 auto;flex-wrap:nowrap;gap:4px 6px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.canvas-dock-actions{display:flex;align-items:center;flex:0 0 auto;gap:6px;margin-left:auto;padding-left:6px;border-left:1px solid #e8e1d5}.canvas-dock-display-group{display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:4px 6px;padding-left:6px;border-left:1px solid #e8e1d5}.canvas-dock-toolbar .segmented-controls button,.canvas-dock-toolbar .icon-text-button,.canvas-dock-toolbar .inline-field select,.canvas-dock-toolbar .toggle-control{min-height:var(--control-height-sm)}.canvas-dock-toolbar .compact-segments button{min-height:var(--control-height-sm);padding:0 7px;font-size:var(--text-xs)}.canvas-dock-toolbar .toolbar-combo-field{flex:0 0 auto;min-width:150px}.canvas-dock-toolbar .toolbar-range-control{flex:0 0 auto;min-width:130px}.canvas-dock-toolbar .inline-field.compact,.canvas-dock-toolbar .toggle-control,.canvas-dock-toolbar .load-placement-label{flex:0 0 auto;white-space:nowrap}.canvas-floating-stats{position:absolute;bottom:8px;right:8px;z-index:var(--z-canvas-overlay);display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem .55rem;max-width:calc(100% - 16px);padding:4px 8px;border:1px solid #e2dbcf;border-radius:8px;background:#fbfaf7f0;box-shadow:0 2px 10px #24211c1f;color:#5b554c;font-size:var(--text-xs);pointer-events:auto}.canvas-stats-count{white-space:nowrap}.canvas-overlay-slot--hidden{display:none!important}.canvas-maximize-toggle{width:auto;min-width:var(--control-height-sm);min-height:var(--control-height-sm);padding:0 8px;font-size:var(--text-xs);font-weight:650;white-space:nowrap}.canvas-toolbar-group-label{color:var(--text-muted);font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.truss-workspace{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px;min-height:0;overflow:hidden;padding:10px}.truss-workspace--solo{grid-template-columns:minmax(0,1fr)}.truss-workspace--sheet{grid-template-rows:auto;align-items:start;overflow:visible;padding:0}.truss-workspace--sheet .truss-dock{position:sticky;top:0;align-self:start}.member-workspace-main{min-width:0}.truss-main-column{display:grid;grid-template-rows:var(--truss-canvas-row, clamp(320px, 42vh, 640px)) auto minmax(0,1fr);gap:0;min-height:0;min-width:0;overflow:hidden;border:1px solid #d8d0c1;background:#fffefa}.truss-canvas-zone{min-height:0;overflow:hidden;border:none;border-bottom:1px solid #e2dbcf}.truss-canvas-zone .canvas-with-popover{flex:1;height:auto;min-height:0}.truss-canvas-resize-handle{display:flex;align-items:center;justify-content:center;height:10px;border-bottom:1px solid #e2dbcf;background:#f6f2e9;color:#b1a692;cursor:row-resize;touch-action:none}.truss-canvas-resize-handle:hover,.truss-canvas-resize-handle:focus-visible{background:#ece5d7;color:#6f6656;outline:none}.app-shell.canvas-maximized{grid-template-columns:minmax(0,1fr);min-height:100vh;height:100vh}.app-shell.canvas-maximized .sidebar,.app-shell.canvas-maximized .sidebar-resize-handle,.app-shell.canvas-maximized .topbar,.app-shell.canvas-maximized .truss-dock,.app-shell.canvas-maximized .truss-canvas-resize-handle,.app-shell.canvas-maximized .truss-tab-content{display:none}.app-shell.canvas-maximized .workspace{grid-template-rows:minmax(0,1fr)}.app-shell.canvas-maximized .truss-workspace{grid-template-columns:minmax(0,1fr);gap:0;padding:0;min-height:0;height:100%}.app-shell.canvas-maximized .truss-main-column{grid-template-rows:minmax(0,1fr);border:none}.app-shell.canvas-maximized .truss-canvas-zone{min-height:0;height:100%}.truss-tab-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px}.truss-tab-content>.workspace-panel,.truss-tab-content>.panel-stack{flex:none;min-height:-moz-min-content;min-height:min-content;overflow:visible}.truss-tab-content.loads-tab-content{padding:12px 16px}.truss-tab-content .panel-stack.loads-panel-stack{flex:1;min-height:0}.workspace-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.workspace-panel-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:10px;min-height:calc(var(--control-height) + 9px);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.workspace-panel-title{display:flex;align-items:center;gap:8px;margin:0;min-width:0;font-size:var(--text-lg);font-weight:700;letter-spacing:0;white-space:nowrap}.workspace-panel-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.workspace-panel-toolbar .icon-text-button,.workspace-panel-toolbar select{min-height:var(--control-height)}.workspace-panel-toolbar .inline-field.compact{grid-template-columns:auto minmax(120px,auto);gap:6px;white-space:nowrap}.workspace-panel-status{color:#7a7263;font-size:var(--text-xs);white-space:nowrap}.workspace-panel-body{display:flex;flex-direction:column;flex:none;min-height:-moz-min-content;min-height:min-content;min-width:0;overflow:visible}.workspace-panel-body .design-panel,.workspace-panel-body .combo-builder,.workspace-panel-body .loads-panel,.workspace-panel-body .truss-tab-columns,.workspace-panel-body .sections-browse-layout,.workspace-panel-body .connections-panel-columns{flex:none;height:auto;min-height:auto;overflow:visible}.workspace-panel-body--fill,.workspace-panel-body--flush{display:flex;flex-direction:column;flex:none;min-height:-moz-min-content;min-height:min-content}.truss-dock{display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;border:1px solid #d8d0c1;background:#fffefa}.truss-dock-panel-wrap{display:flex;flex-direction:column;flex:1 0 auto;min-height:-moz-min-content;min-height:min-content}.truss-dock-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.truss-dock-panel-header{flex-shrink:0;padding:10px 12px 8px;border-bottom:1px solid #ebe5da;background:#fbfaf7}.truss-dock-panel-header h3{margin:0;font-size:var(--text-sm);font-weight:700;color:#4a443c;letter-spacing:.01em}.truss-dock-panel-body{flex:1;min-height:0;overflow:auto;padding:10px 12px 12px}.truss-dock-resize-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:8px;cursor:row-resize;color:#9a9287;background:linear-gradient(to bottom,#ebe5da,#e2dbcf);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.truss-dock-resize-handle:hover{background:linear-gradient(to bottom,#ddd4c4,#d4cbbd);color:#5e8584}.truss-dock .building-plan-legend{font-size:var(--text-xs)}.truss-dock .building-plan{gap:8px}.eyebrow{margin:0;color:#6d665b;font-size:var(--text-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,640px)}.topbar-leading>div{min-width:0}.status-cluster{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;flex-shrink:0}.hash-pill,.state-pill{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 8px;border-radius:6px;border:1px solid #d4cbbd;background:#f8f4ea;font-size:var(--text-xs);white-space:nowrap}.state-pill.ok{border-color:#8fb89f;color:#23613d}.state-pill.warning{border-color:#d9aa75;color:#8a4b15}.editor-grid{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;padding:16px;gap:16px}.editor-grid.wide-panel{grid-template-columns:minmax(0,1fr)}.editor-grid.wide-panel .drawing-surface{display:none}.control-surface,.drawing-surface{min-height:0;border:1px solid #d8d0c1;background:#fffefa}.control-surface{position:relative;overflow:auto;padding:16px}.control-surface--fill{display:flex;flex-direction:column;overflow:auto;container-type:inline-size;container-name:workspace}.control-surface--fill>.workspace-panel{flex:1;min-height:0}.control-surface--fill .workspace-panel-body{flex:1;min-height:0;overflow:hidden}.control-surface--fill .module-page{flex:1;min-height:0;max-width:none}.panel-stack.loads-panel-stack{flex:1;min-height:0;gap:16px}.drawing-surface{display:flex;flex-direction:column;min-height:0;min-width:0}.truss-view-mode{grid-template-columns:repeat(3,minmax(52px,auto))}.toolbar-combo-field{flex:0 1 200px;min-width:140px}.toolbar-diagram-segments{flex:0 1 auto}.toolbar-range-control{flex:0 1 auto;min-width:140px}.compact-segments{grid-template-columns:repeat(4,minmax(48px,auto))}.load-kind-segments{grid-template-columns:repeat(3,minmax(52px,auto))}.compact-segments button{min-height:26px;padding:0 7px;font-size:var(--text-xs)}.toggle-control,.range-control,.release-row label{display:inline-flex;align-items:center;gap:4px;color:#514a40;font-size:var(--text-xs)}.range-control input{width:88px}.dual-range{position:relative;display:flex;align-items:center;flex:1 1 120px;min-width:96px;height:20px}.dual-range-track,.dual-range-fill{position:absolute;height:4px;border-radius:var(--radius-pill);pointer-events:none}.dual-range-track{left:0;right:0;background:var(--field-border, #cfc7b8)}.dual-range-fill{left:var(--low-pct);right:calc(100% - var(--high-pct));background:var(--accent-strong, #1f6d78)}.dual-range-input{position:absolute;left:0;width:100%;margin:0;height:20px;background:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:none}.dual-range-input.on-top{z-index:1}.dual-range-input:focus-visible{outline:none}.dual-range-input::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:13px;height:13px;border-radius:50%;border:1px solid var(--accent-strong, #1f6d78);background:var(--surface, #fff);cursor:ew-resize;pointer-events:auto}.dual-range-input::-moz-range-thumb{width:13px;height:13px;border-radius:50%;border:1px solid var(--accent-strong, #1f6d78);background:var(--surface, #fff);cursor:ew-resize;pointer-events:auto}.dual-range-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-soft, #d8ecef)}.dual-range-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-soft, #d8ecef)}.dual-range-input::-moz-range-track{background:none}.canvas-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}.canvas-coordinate-legend{position:absolute;left:12px;bottom:12px;z-index:var(--z-canvas-overlay);pointer-events:none;color:#1f6d78}.canvas-coordinate-legend__origin{display:block;width:64px;height:64px;overflow:visible}.canvas-coordinate-legend__origin line,.canvas-coordinate-legend__origin polyline{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.canvas-coordinate-legend__origin circle{fill:currentColor}.canvas-coordinate-legend__label{fill:currentColor;font-family:inherit;font-size:10px;font-weight:650;letter-spacing:.02em;paint-order:stroke;stroke:#fffefaeb;stroke-width:3px;stroke-linejoin:round}.support-type-readout{margin:0 0 10px;font-size:var(--text-sm);color:#5c574f;line-height:1.35}.canvas-with-popover{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:row}.canvas-stage{position:relative;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.truss-3d-viewer{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:#f4f6f7}.truss-3d-loading{display:grid;flex:1;min-height:0;place-items:center;background:#f4f6f7;color:#5c6468;font-size:var(--text-sm)}.truss-3d-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.truss-3d-canvas:active{cursor:grabbing}.truss-3d-hint,.truss-3d-mode-badge,.truss-3d-plane-button{position:absolute;z-index:var(--z-canvas-overlay);border:1px solid rgba(105,113,117,.28);border-radius:999px;background:#ffffffe0;color:#4b5255;box-shadow:0 2px 10px #202b3014;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-xs)}.truss-3d-hint,.truss-3d-mode-badge{pointer-events:none}.truss-3d-plane-button{top:12px;left:12px;min-height:var(--control-height-sm);padding:4px 10px;cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:650}.truss-3d-plane-button:hover{border-color:#5e8584;background:#ebf6f5f5;color:#1f6d78}.truss-3d-hint{left:12px;bottom:12px;padding:6px 10px}.truss-3d-mode-badge{top:12px;right:12px;padding:5px 9px;font-weight:650}.truss-3d-axes-legend{position:absolute;right:12px;bottom:12px;z-index:var(--z-canvas-overlay);display:grid;gap:2px;padding:6px 10px;border:1px solid rgba(105,113,117,.28);border-radius:8px;background:#ffffffe0;box-shadow:0 2px 10px #202b3014;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;font-size:var(--text-xs);line-height:1.25}.truss-3d-axes-legend__title{font-size:var(--text-2xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#6a7276}.truss-3d-axes-legend__x{color:#c23b2e;font-weight:650}.truss-3d-axes-legend__y{color:#2f7d46;font-weight:650}.truss-3d-axes-legend__z{color:#2a6f9b;font-weight:650}.load-placement-label{flex:0 0 auto;font-size:var(--text-sm);color:#5b554c;font-weight:600}.load-placement-popover{position:absolute;right:14px;top:14px;z-index:var(--z-popover);width:min(320px,calc(100% - 28px));display:grid;gap:10px;padding:12px 14px;border:1px solid #d4a574;border-radius:8px;background:#fffdf8;box-shadow:0 8px 28px #24211c24}.load-placement-popover-header{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:start}.load-placement-popover-header strong{grid-column:1;font-size:var(--text-md)}.load-placement-popover-header span{grid-column:1;font-size:var(--text-sm);color:#71695e}.load-placement-case{grid-column:1;font-size:var(--text-xs);color:#b55323;font-weight:600}.load-placement-popover-header .icon-button{grid-column:2;grid-row:1 / span 3}.primary-action.compact{min-height:var(--control-height-sm);padding:5px 12px;font-size:var(--text-xs)}.icon-text-button.active{border-color:#b55323;background:#f8ebe0;color:#743817}.purlin-canvas svg text,.wall-elevation-frame svg text,.bracing-elevation-frame svg text,svg.bracing-elevation text{font-family:var(--font-sans)}.purlin-canvas svg text.diagram-caption,.wall-elevation-frame svg text.diagram-caption,.bracing-elevation-frame svg text.diagram-caption,svg.bracing-elevation text.diagram-caption{font-size:var(--text-md)}.purlin-canvas svg text.diagram-secondary,.wall-elevation-frame svg text.diagram-secondary,.bracing-elevation-frame svg text.diagram-secondary,svg.bracing-elevation text.diagram-secondary{font-size:var(--text-xs)}.vrml-viewer{display:flex;flex-direction:column;min-width:0;height:clamp(360px,46vh,620px);overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--app-bg)}.vrml-viewer--fullscreen{height:100%;border:0;border-radius:0}.vrml-toolbar{height:auto;min-height:var(--canvas-toolbar-height);border-bottom:1px solid var(--border-soft);border-radius:var(--radius) var(--radius) 0 0}.vrml-toolbar .canvas-dock-row,.vrml-toolbar .canvas-dock-slot{flex-wrap:wrap;overflow:visible;row-gap:4px}.vrml-viewer--fullscreen .vrml-toolbar{border-radius:0}.segmented-controls.vrml-tool-segments{grid-template-columns:repeat(2,minmax(64px,auto))}.segmented-controls.vrml-view-segments{grid-template-columns:repeat(4,minmax(46px,auto))}.vrml-toolbar .segmented-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:var(--control-height-sm);padding:0 8px;font-size:var(--text-xs);white-space:nowrap}.vrml-toolbar-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.vrml-stage{position:relative;flex:1;min-height:0;min-width:0}.vrml-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.vrml-canvas-host--measuring{cursor:crosshair}.vrml-canvas{display:block;width:100%;height:100%}.vrml-dimension-label{position:absolute;z-index:var(--z-canvas-overlay);transform:translate(-50%,-50%);padding:1px 6px;border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:#fffefaf2;color:var(--accent-strong);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;white-space:nowrap;pointer-events:none}.vrml-legend{position:absolute;top:8px;left:8px;z-index:var(--z-canvas-overlay);display:flex;flex-direction:column;gap:6px;width:232px;max-height:calc(100% - 16px);padding:8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fbfaf7f2;box-shadow:var(--shadow-md);overflow-y:auto;scrollbar-width:thin}.vrml-legend header{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.vrml-legend header strong{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--text-secondary)}.vrml-legend header small,.vrml-legend-note{color:var(--text-faint);font-size:var(--text-2xs)}.vrml-legend-note{margin:0;line-height:var(--leading-normal)}.vrml-legend ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.vrml-legend-row{display:flex;align-items:center;gap:7px;width:100%;padding:4px 5px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left}.vrml-legend-row:hover,.vrml-legend-row:focus-visible{border-color:var(--border-strong);background:var(--surface-raised);outline:none}.vrml-legend-row--off{color:var(--text-faint)}.vrml-legend-row--off .vrml-swatch{opacity:.3}.vrml-legend-row--off .vrml-legend-copy strong{text-decoration:line-through}.vrml-swatch{flex:0 0 auto;width:12px;height:12px;border:1px solid rgba(36,33,28,.28);border-radius:3px}.vrml-legend-copy{display:grid;flex:1 1 auto;min-width:0}.vrml-legend-copy strong{font-size:var(--text-xs);font-weight:650}.vrml-legend-copy small{color:var(--text-muted);font-size:var(--text-2xs);font-family:var(--font-mono)}.vrml-legend-reset{justify-content:center;min-height:var(--control-height-sm)}.vrml-measure-hint{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:var(--z-canvas-overlay);display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--accent-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--text-xs);white-space:nowrap;pointer-events:none}.vrml-stats{font-family:var(--font-mono)}.vrml-clip-readout{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap}.vrml-clip-slab{display:flex;align-items:center;gap:6px;flex:1 1 260px;min-width:200px}.vrml-clip-field{width:62px;min-width:0;padding:2px 4px;border:1px solid var(--field-border, #cfc7b8);border-radius:var(--radius-sm, 4px);background:var(--surface, #fff);color:var(--text-strong, #2c2a26);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.vrml-clip-field::-webkit-outer-spin-button,.vrml-clip-field::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.vrml-clip-field{-moz-appearance:textfield}.segmented-controls.vrml-lock-segments{grid-template-columns:repeat(5,minmax(30px,auto));flex:0 0 auto}.vrml-lock-segments button{min-height:26px;padding:0 6px;font-size:var(--text-xs)}.vrml-measure-live{font-family:var(--font-mono);font-weight:600}.vrml-measure-live:not(:empty):before{content:" · ";font-weight:400;opacity:.6}.vrml-source{display:grid;gap:4px;min-width:0}.vrml-source-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vrml-spin{animation:vrml-spin .9s linear infinite}@keyframes vrml-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.vrml-spin{animation:none}}.vrml-page{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;overflow:hidden;background:var(--app-bg)}.vrml-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface-muted)}.vrml-page-header h1{display:inline-flex;align-items:center;gap:8px;margin:0;min-width:0;font-size:var(--text-lg);font-weight:700}.vrml-page-body{min-height:0;padding:10px}.vrml-page-body .vrml-viewer{height:100%}.vrml-page-empty{display:grid;place-items:center;height:100%;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);text-align:center;padding:24px}.vrml-page-empty p{margin:0;max-width:34rem}.truss-canvas-keyplan{position:relative;z-index:1;flex:0 0 auto;align-self:flex-start;display:flex;flex-direction:column;gap:0;max-width:70%;max-height:100%;padding:6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-right-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.truss-canvas-keyplan__close{position:absolute;top:8px;right:8px;z-index:8;width:auto;min-width:28px;padding-inline:6px;height:28px;background:#fffefaf0;box-shadow:var(--shadow-sm)}.truss-canvas-keyplan__body{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.keyplan-resize{position:absolute;z-index:2;touch-action:none;background:transparent;transition:background .12s ease}.keyplan-resize:hover,.keyplan-resize:focus-visible{background:#1f6d7859;outline:none}.keyplan-resize--x{top:0;right:0;width:6px;height:100%;cursor:col-resize}.keyplan-resize--y{left:0;bottom:0;width:100%;height:6px;cursor:row-resize}.keyplan-resize--xy{right:0;bottom:0;z-index:3;width:14px;height:14px;cursor:nwse-resize;border-bottom-right-radius:var(--radius-lg)}.canvas-selection-inspector{position:absolute;top:8px;right:8px;z-index:var(--z-canvas-overlay);display:flex;flex-direction:column;gap:6px;width:300px;max-width:calc(100% - 16px);max-height:calc(100% - 52px);padding:8px 10px 10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fbfaf7f7;box-shadow:var(--shadow-md);overflow:hidden}.canvas-selection-inspector header{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-selection-inspector header strong{font-size:var(--text-xs);font-weight:700;color:var(--text-secondary)}.canvas-selection-inspector__body{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.panel-stack{display:grid;gap:14px}.truss-tab-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;min-height:0;min-width:0;flex:1}.truss-tab-columns.results-tab-columns{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr))}.table-wrap th{white-space:normal;vertical-align:bottom}[data-testid=results-joint-forces-card] .table-wrap td{white-space:normal}.truss-tab-card{display:grid;gap:10px;min-height:0;min-width:0;padding:12px;border:1px solid #e0d8ca;border-radius:6px;background:#fffdf8;align-content:start}.truss-tab-card h3,.truss-tab-card h4{margin:0;color:#3c3730;font-size:var(--text-md);letter-spacing:0}.truss-tab-card--span-2{grid-column:span 2}.truss-tab-card--full{grid-column:1 / -1}.truss-tab-card .panel-title{margin:0}.panel-title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg);letter-spacing:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field,.inline-field,.load-row{display:grid;gap:6px;color:#5b554c;font-size:var(--text-sm)}.inline-field.compact{grid-template-columns:auto 90px;align-items:center}.field input,.field select,.inline-field select,.load-row input,.combo-grid-wrap input,.combo-grid-wrap select,.support-row select,.support-row button{width:100%;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);padding:0 10px}.field input[type=checkbox],.design-config-grid .field input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0;padding:0;accent-color:var(--accent);flex:none}.field.checkbox-field,.field:has(>input[type=checkbox]){display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:var(--control-height)}.design-config-grid .field.checkbox-field,.design-config-grid .field:has(>input[type=checkbox]){grid-column:1 / -1}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.input-with-unit em,.load-row em{color:#786f63;font-style:normal;font-size:var(--text-sm)}.load-row{grid-template-columns:74px minmax(0,1fr) 106px;align-items:center}.primary-action,.export-grid button,.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height-lg);border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent);color:#fff;font-size:var(--text-sm);font-weight:650}.icon-text-button{min-height:var(--control-height);padding:0 10px;border-color:#cfc6b8;background:#fffefa;color:#2e514f;font-size:var(--text-sm)}.icon-text-button.danger{border-color:#d6a18b;color:#9b3e1d}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:34px;padding-inline:6px;white-space:nowrap;height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fffefa;color:#2e514f}.primary-action:disabled{cursor:not-allowed;border-color:#b9b2a7;background:#d3ccc1;color:#71695e}.table-wrap{overflow:auto;border:1px solid #ded6c8;border-radius:6px}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th,td{padding:8px 9px;border-bottom:1px solid #e8e1d7;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#f3eee3;color:#514a40;font-weight:700}tr:last-child td{border-bottom:0}.table-note{display:block;padding:7px 9px;color:#6d665b;font-size:var(--text-xs)}.table-expand{display:block;width:100%;padding:7px 9px;border:0;border-top:1px solid #e8e1d7;background:#faf6ed;color:#4a5f7a;font-size:var(--text-xs);font-weight:600;text-align:left;cursor:pointer}.table-expand:hover{background:#f3eee3;color:#2f4a66}.issue-list{display:grid;gap:6px}.issue-list span,.assumption-band,.empty-state{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #d9aa75;border-radius:6px;background:#fff7ea;color:#7d4617;font-size:var(--text-sm)}.issue-list.neutral span{border-color:#c6d4d1;background:#f0f7f5;color:#315760}.empty-state{border-color:#d8d0c1;background:#f8f4ea;color:#625b51}.export-grid{display:grid;gap:10px}.tool-palette{display:flex;flex-wrap:nowrap;align-items:center;flex:0 0 auto;min-width:0;gap:4px}.tool-palette button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:4px;min-height:var(--control-height-sm);padding:0 6px;border:1px solid #cfc6b8;border-radius:6px;background:#fffefa;color:#365451;font-size:var(--text-xs);white-space:nowrap}.tool-palette button.active{border-color:#1f6d78;background:#e8f3f2;color:#174f57;font-weight:700}.tool-palette-label{line-height:1}.support-type-select{flex:0 0 auto;grid-template-columns:auto minmax(0,auto);align-items:center;margin-left:2px;white-space:nowrap}.support-type-select select{width:auto;min-height:var(--control-height-sm);font-size:var(--text-xs)}.geometry-import-panel .import-hint{margin:0;color:#625b51;font-size:var(--text-sm);line-height:1.45}.geometry-import-panel .import-actions{display:flex;flex-wrap:wrap;gap:8px}.geometry-import-panel .import-preview{display:grid;gap:10px}.geometry-import-panel .import-preview-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.geometry-import-panel .import-file-label{color:#514a40;font-size:var(--text-sm);word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inspector-block,.builder-pane{display:grid;gap:10px;padding:12px;border:1px solid #e0d8ca;border-radius:6px;background:#fffdf8}.inspector-block h3,.builder-pane h3{margin:0;color:#3c3730;font-size:var(--text-md);letter-spacing:0}.member-selection-summary{gap:8px;border-color:#c9d8d6;background:#f8fcfb}.member-selection-summary+.inspector-block{margin-top:10px}.member-selection-summary-header strong{display:block;font-size:var(--text-md)}.member-selection-summary-header span{display:block;font-size:var(--text-xs);color:#71695e}.member-selection-summary-grid{gap:6px}.member-results-row-continued dt{visibility:hidden}.member-results-combo{color:#1a7a72!important;font-weight:600}.member-results-grid{margin:0;display:grid;gap:6px}.member-results-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:8px;align-items:baseline;font-size:var(--text-sm)}.member-results-row dt{margin:0;color:#5c574f;font-weight:600}.member-results-row dd{margin:0;color:#24211c;text-align:right}.compact-form{gap:8px}.tag-line,.calc-preview,.zoom-readout{color:#6d665b;font-size:var(--text-sm)}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip-list button{min-height:var(--control-height-sm);border:1px solid #cfc6b8;border-radius:999px;background:#f8f4ea;color:#365451;font-size:var(--text-xs)}.detail-list{display:grid;gap:7px;margin:0;font-size:var(--text-sm)}.detail-list div,.inline-details div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.detail-list dt{color:#71695e}.detail-list dd{margin:0;color:#24211c;overflow-wrap:anywhere}.inspector-actions,.toolbar-row,.release-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.frame-edit-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:8px}.frame-edit-row .field{flex:1;min-width:96px}.frame-edit-row input{width:100%;min-width:0}.node-split-block{margin-top:8px;padding-top:8px;border-top:1px solid #e4ded2}.node-split-members{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 6px}.node-merge-row .field{flex:1;min-width:88px}.node-merge-row input{width:100%;min-width:0}.multi-member-inspector .field{grid-column:1 / -1}.multi-member-inspector select{width:100%;min-width:0}.multi-member-inspector .link-button{padding:0;border:0;background:none;color:var(--accent-ink, #1a7a72);font:inherit;text-decoration:underline;cursor:pointer}.support-list{display:grid;gap:7px}.segmented-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.segmented-controls.toolbar-diagram-segments{grid-template-columns:repeat(4,minmax(48px,auto))}.segmented-controls button{min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fffefa;color:#365451}.segmented-controls button.active{border-color:#1f6d78;background:#e8f3f2;color:#174f57;font-weight:700}.manual-load-list{display:grid;gap:7px}.support-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,1.1fr) 36px;gap:6px;align-items:center}.manual-load-row{grid-template-columns:minmax(0,1fr) 36px}.manual-load-row span{overflow-wrap:anywhere;font-size:var(--text-sm)}.support-row button:first-child{color:#315760;text-align:left}.snap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;font-size:var(--text-sm)}.snap-grid label:not(.field){display:inline-flex;align-items:center;gap:5px;min-height:var(--control-height)}.grid-step{grid-column:1 / -1}.combo-builder{display:flex;flex-direction:column;gap:14px;min-height:0;flex:1}.combo-builder>.design-set-controls,.combo-builder>.inspector-block{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}.combo-builder>.design-set-controls .pane-heading{display:flex;align-items:center;gap:8px;flex:0 1 auto}.combo-builder>.design-set-controls .preset-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;flex:1 1 auto;min-width:0;grid-template-columns:none}.combo-builder>.design-set-controls .preset-row select{width:min(420px,100%);max-width:420px;flex:0 1 420px}.combo-preset-bar{display:grid;gap:10px;padding:12px;border:1px solid #e0d8ca;border-radius:6px;background:#fffdf8}.combo-pack-field select{min-height:var(--control-height);max-width:420px;border:1px solid #cfc6b8;border-radius:6px;background:#fff;color:#24211c;padding:0 10px}.combo-psi-row{min-width:0}.combo-psi-row .design-config-grid{align-items:end}.combo-psi-field{display:grid;gap:4px;min-width:72px;max-width:420px;font-size:var(--text-xs)}.combo-psi-field input{min-height:var(--control-height);width:100%;max-width:420px}.combo-psi-hint{align-self:center}.combo-builder .preset-row-list .preset-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:-moz-max-content;width:max-content;max-width:100%;grid-template-columns:none}.combo-builder .preset-row-list .preset-row>span{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:#e8f3f2;color:#365451;font-size:var(--text-sm);font-weight:650}.combo-builder .table-wrap{overflow-x:auto}.combo-builder .combo-matrix-table .combo-id-input,.combo-builder .combo-matrix-table .combo-label-input{max-width:420px}.combo-preset-details{border:1px solid #d8d0c1;border-radius:6px;padding:8px 10px;background:#fffefa}.combo-preset-details summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-weight:650;font-size:var(--text-sm);color:#365451}.combo-preset-details summary::-webkit-details-marker{display:none}.combo-preset-chevron{transition:transform .15s ease}.combo-preset-details[open] .combo-preset-chevron{transform:rotate(180deg)}.combo-category-pane h3{margin:0 0 .35rem}.combo-category-table{width:100%;font-size:var(--text-md)}.combo-category-cases{display:flex;flex-wrap:wrap;gap:.35rem}.combo-category-cases span{padding:.1rem .4rem;border-radius:4px;background:var(--surface-elevated, rgba(255, 255, 255, .06));font-family:var(--font-mono, monospace);font-size:var(--text-sm)}.combo-expansion-warning{color:var(--warning, #c9a227)}.combo-expanded-pane{min-width:0;min-height:0;overflow:auto}.sections-layout{display:grid;grid-template-columns:190px minmax(430px,1fr) minmax(300px,.8fr);gap:14px;min-height:0}.sections-browse-layout{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(180px,.65fr) minmax(0,1.4fr);gap:16px;min-height:min(720px,calc(100vh - 200px));min-width:0;flex:1}.sections-browse-sidebar{display:flex;flex-direction:column;gap:10px;min-height:0;padding:14px;border:1px solid #e2e6ea;border-radius:10px;background:#f8f9fb}.sections-filter-field{display:grid;gap:4px;font-size:var(--text-sm);color:#5c6773}.sections-filter-field select,.sections-filter-field input{width:100%;padding:7px 9px;border:1px solid #d0d6dc;border-radius:6px;background:#fff;color:#2a3139;font-size:var(--text-md)}.sections-filter-field select:focus,.sections-filter-field input:focus{outline:2px solid #b8d4d9;border-color:#7aa8b0}.sections-list-meta{margin:0;font-size:var(--text-xs);color:#6b7580}.sections-list{display:grid;gap:4px;margin:0;padding:0;list-style:none;flex:1;min-height:120px;overflow-y:auto}.sections-list button{display:grid;gap:2px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:#fff;color:#2a3139;text-align:left;cursor:pointer}.sections-list button:hover{border-color:#d0d6dc;background:#fff}.sections-list button.active{border-color:#6a9aa3;background:#e8f2f4}.sections-list-id{font-size:var(--text-2xs);color:#7a8490;font-family:ui-monospace,Consolas,monospace}.sections-list-label{font-size:var(--text-sm);font-weight:500}.sections-list-count{font-size:var(--text-xs);color:#7a8490}.sections-in-use-sidebar h4{margin:0;font-size:var(--text-sm);font-weight:600;color:#4a5560}.sections-in-use-group{display:flex;flex-direction:column;gap:8px;min-height:0}.sections-in-use-group+.sections-in-use-group{padding-top:10px;border-top:1px solid #e2e6ea}.section-diagram-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.sections-library-panel{width:min(960px,100%);max-height:calc(100vh - 48px)}.sections-library-body{flex:1;min-height:0;padding:0}.sections-library-layout{min-height:min(620px,calc(100vh - 140px));padding:16px}.sections-library-hint{display:grid;place-content:center;text-align:center;color:#6b7580}.sections-empty{padding:12px 8px;color:#6b7580;font-size:var(--text-sm)}.sections-browse-main{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:16px 18px;border:1px solid #e2e6ea;border-radius:10px;background:#fff;overflow:auto}.sections-empty-main{display:grid;place-items:center;min-height:280px;color:#6b7580}.sections-detail-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.sections-detail-header h3{margin:0;font-size:var(--text-xl);font-weight:600;color:#2a3139}.sections-detail-sub{margin:4px 0 0;font-size:var(--text-sm);color:#6b7580;font-family:ui-monospace,Consolas,monospace}.sections-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sections-assign-wrap{position:relative}.sections-assign-notice{align-self:center;padding:3px 10px;border-radius:999px;background:#e8f4ee;border:1px solid #bfe3cf;color:#1e7a45;font-size:var(--text-sm);white-space:nowrap}.sections-assign-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-popover);display:grid;gap:2px;min-width:168px;padding:6px;border:1px solid #d0d6dc;border-radius:8px;background:#fff;box-shadow:0 8px 20px #1e28321a}.sections-assign-menu button{padding:7px 10px;border:none;border-radius:5px;background:transparent;color:#2a3139;font-size:var(--text-sm);text-align:left;cursor:pointer}.sections-assign-menu button:hover:not(:disabled){background:#eef2f5}.sections-assign-menu button:disabled{opacity:.45;cursor:not-allowed}.sections-detail-grid{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:20px;align-items:start}.section-diagram{margin:0}.sections-hybrid-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .12))}.sections-hybrid-block .sections-detail-header{margin-bottom:10px}.hybrid-section-drawing{width:100%;height:auto;max-height:260px;color:var(--text-muted, #6b7280)}.section-diagram svg{width:100%;max-width:300px;height:auto;display:block;border:1px solid #e2e6ea;border-radius:8px}.section-diagram figcaption{margin-top:6px;font-size:var(--text-xs);color:#6b7580;text-align:center}.sections-props-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.sections-props-table th{width:38%;padding:6px 10px 6px 0;color:#5c6773;font-weight:500;text-align:left;vertical-align:top}.sections-props-table td{padding:6px 0;color:#2a3139;white-space:normal;overflow-wrap:anywhere}.sections-props-doc{font-size:var(--text-sm);word-break:break-word}.sections-edit-form h4{margin:0 0 10px;font-size:var(--text-lg)}.sections-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sections-edit-hint{margin:8px 0 0;font-size:var(--text-xs);color:#6b7580}.sections-materials-block{padding-top:8px;border-top:1px solid #e8ecf0}.sections-materials-block summary{cursor:pointer;font-weight:600;color:#4a5560}.secondary-action{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #c8d0d8;border-radius:6px;background:#f4f6f8;color:#3d4a56;font-size:var(--text-sm);cursor:pointer}.secondary-action:hover:not(:disabled){background:#e8ecf0}.secondary-action:disabled{opacity:.5;cursor:not-allowed}.section-builder-overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0f172073;padding:24px}.modal-panel{width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fffefa;border:1px solid var(--border, #ded6c8);border-radius:12px;box-shadow:0 18px 48px #0f17202e;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border, #ded6c8)}.modal-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg)}.modal-body{display:flex;flex-direction:column;gap:12px;padding:14px 18px 18px;overflow-y:auto}.truss-input-toolbars{display:grid;gap:8px;margin-bottom:12px}.truss-input-toolrow{display:grid;grid-template-columns:94px minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.truss-input-toolrow__label{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:9px 11px;border-right:1px solid var(--border-soft);background:var(--surface-muted)}.truss-input-toolrow__label strong,.truss-input-toolrow__label span{display:block}.truss-input-toolrow__label strong{color:var(--text-primary);font-size:var(--text-sm)}.truss-input-toolrow__label span{color:var(--text-muted);font-size:var(--text-2xs)}.truss-input-toolrow__controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;padding:7px}.truss-input-toolgroup{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;min-width:0;padding:2px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-muted)}.truss-input-toolgroup button,.truss-input-place-load,.truss-input-toolbar-open{min-height:var(--control-height-sm);padding:0 7px;border:1px solid transparent;border-radius:calc(var(--radius) - 1px);background:transparent;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.truss-input-toolgroup button:hover:not(:disabled),.truss-input-place-load:hover:not(:disabled),.truss-input-toolbar-open:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.truss-input-toolgroup button.active,.truss-input-place-load.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.truss-input-toolgroup button:disabled,.truss-input-place-load:disabled{cursor:not-allowed;opacity:.45}.truss-input-toolgroup--checks{gap:7px;padding:5px 7px}.truss-input-toolgroup--checks label{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.truss-input-toolgroup--checks input{margin:0}.truss-input-toolbar-field{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-height-sm);padding:2px 6px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap}.truss-input-toolbar-field>span:first-child{font-weight:650}.truss-input-toolbar-field select,.truss-input-toolbar-field input{min-height:var(--control-height-sm);padding:3px 6px;border:1px solid var(--border-strong);border-radius:calc(var(--radius) - 1px);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-xs)}.truss-input-toolbar-field--case select{width:min(220px,30vw)}.truss-input-toolbar-field--support select{width:132px}.truss-input-toolbar-field--step .number-with-unit input{width:58px}.truss-input-zoom-readout{min-width:38px;padding:0 4px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:center}.truss-input-place-load{border-color:var(--accent-border);background:var(--surface-raised);color:var(--accent-strong)}.truss-input-toolbar-open{margin-left:auto;border-color:var(--border-strong);background:var(--surface-raised);color:var(--accent-strong)}.truss-input-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px;align-items:start}.truss-input-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.truss-input-card--sections,.truss-input-card--loads{grid-row:span 2}.truss-input-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.truss-input-card-header>span{display:inline-flex;align-items:center;gap:7px;font-size:var(--text-md);font-weight:650}.truss-card-open,.truss-inline-link{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:0;background:transparent;color:var(--accent);font-size:var(--text-xs);font-weight:650}.truss-card-open:hover,.truss-inline-link:hover{color:var(--accent-strong);text-decoration:underline}.truss-input-primary{font-size:var(--text-lg)}.truss-input-meta,.truss-input-hint{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.truss-section-summary-list,.truss-load-case-list{display:flex;flex-direction:column;gap:6px}.truss-section-summary,.truss-load-case-list button{display:grid;align-items:center;width:100%;min-width:0;padding:9px 10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-muted);color:var(--text-primary);text-align:left}.truss-section-summary{grid-template-columns:minmax(0,1fr) auto;gap:10px}.truss-section-summary:hover,.truss-load-case-list button:hover{border-color:var(--accent-border);background:var(--accent-soft)}.truss-section-summary>span:first-child,.truss-load-case-list button>span{min-width:0}.truss-section-summary strong,.truss-section-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truss-section-summary small,.truss-load-case-list small,.truss-restraint-grid small{color:var(--text-muted);font-size:var(--text-2xs)}.truss-section-grade{padding:2px 6px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs)}.truss-load-width-field,.truss-restraint-grid label{display:flex;align-items:center;justify-content:space-between;gap:12px}.number-with-unit{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-xs)}.number-with-unit input{width:108px;height:var(--control-height);padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised)}.truss-load-case-list button{grid-template-columns:62px minmax(0,1fr) auto;gap:8px}.truss-load-case-list button>strong{font-family:var(--font-mono);font-size:var(--text-xs)}.truss-restraint-grid{display:flex;flex-direction:column;gap:8px}.truss-restraint-grid label>span:first-child strong,.truss-restraint-grid label>span:first-child small{display:block}.truss-combination-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.truss-combination-summary span{padding:10px 8px;border-radius:var(--radius);background:var(--surface-sunken);color:var(--text-muted);text-align:center;font-size:var(--text-xs)}.truss-combination-summary strong{display:block;color:var(--text-primary);font-size:var(--text-lg)}.truss-detail-modal-panel{width:min(1500px,calc(100vw - 48px));height:min(920px,calc(100vh - 48px))}.truss-detail-modal-body{padding:12px}.truss-detail-modal-body>.workspace-panel{flex:1;min-height:0}.truss-detail-modal-body>.workspace-panel>.workspace-panel-header{min-height:38px;padding:0 0 10px;border-bottom:1px solid var(--border-soft)}.truss-detail-modal-body>.workspace-panel>.workspace-panel-header .workspace-panel-title{display:none}.truss-detail-modal-body>.workspace-panel>.workspace-panel-header .workspace-panel-toolbar{width:100%;justify-content:flex-end}.truss-detail-modal-body>.workspace-panel>.workspace-panel-body{padding:10px 0 0}.truss-result-alert{padding:10px;border:1px solid var(--warning-border);border-radius:var(--radius);color:var(--danger);font-size:var(--text-sm)}.truss-results-detail{min-width:0;min-height:0;overflow:auto;padding:12px}.truss-results-detail>.workspace-panel>.workspace-panel-header{min-height:36px}.truss-results-detail:not([data-result-view=export])>.workspace-panel>.workspace-panel-header{display:none}@media (max-width: 980px){.truss-input-toolrow{grid-template-columns:82px minmax(0,1fr)}.truss-input-toolbar-field--case select{width:min(240px,45vw)}.truss-input-dashboard{grid-template-columns:1fr}.truss-input-card--sections,.truss-input-card--loads{grid-row:auto}}@media (max-width: 700px){.truss-input-toolrow{grid-template-columns:1fr}.truss-input-toolrow__label{flex-direction:row;align-items:baseline;justify-content:flex-start;border-right:0;border-bottom:1px solid var(--border-soft)}.truss-input-toolbar-field--case select{width:min(260px,54vw)}.truss-input-toolbar-open{margin-left:0}}.wind-calculator-panel{width:min(640px,100%)}.loads-panel{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}.loads-panel .loads-layout{min-height:min(460px,calc(100vh - 280px))}.loads-case-pane-header,.loads-add-form-header,.loads-case-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.loads-case-pane-header h3,.loads-case-header h3,.loads-add-form-header h4{margin:0}.loads-case-meta{flex:1;max-width:360px}.loads-actions-row{flex-wrap:wrap}.loads-new-case,.loads-add-form,.loads-add-launch{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fffefa}.loads-add-launch,.loads-add-form{display:grid;gap:10px}.loads-add-kind-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.case-load-section{display:grid;gap:8px;margin-top:10px}.case-load-section h4{margin:0;font-size:var(--text-sm);color:#5a5348;font-weight:600}.loads-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:none;background:none;color:inherit;text-align:left;cursor:pointer}.loads-section-toggle span{font-size:var(--text-xs);color:#1f6d78}.manual-load-row{grid-template-columns:minmax(0,1fr) auto}.manual-load-row-actions{display:inline-flex;gap:2px}.loads-diagram-footer{display:grid;gap:8px}.loads-combinations-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:#1f6d78;font-size:var(--text-md);cursor:pointer;text-align:left}.loads-combinations-link:hover{text-decoration:underline}.section-builder-panel{width:min(1320px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fffefa;border:1px solid var(--border, #ded6c8);border-radius:12px;box-shadow:0 18px 48px #0f17202e;overflow:hidden}.section-builder-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 18px;border-bottom:1px solid var(--border)}.section-builder-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--text-lg)}.section-builder-header-fields{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1 1 auto;min-width:0}.section-builder-name-input{flex:0 1 260px;min-width:140px;padding:6px 10px;border:1px solid var(--border, #ded6c8);border-radius:6px;background:#fff;font-size:var(--text-md);font-weight:600}.section-builder-header-fields select{padding:6px 8px;border:1px solid var(--border, #ded6c8);border-radius:6px;background:#fff;font-size:var(--text-sm)}.section-builder-header-note{flex:1 1 8rem;min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--text-xs);color:#6b7580}.section-builder-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.section-builder-body{display:flex;flex-direction:column;gap:14px;padding:16px 20px 20px;min-height:0;overflow:hidden;flex:1}.section-builder-toolbar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}.section-builder-tool-group{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;padding-right:8px;border-right:1px solid #e8e1d7}.section-builder-toolbar .preset-field select{min-width:190px}.section-builder-shape-panel{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem 1rem;padding:.65rem 1rem;border:1px solid #e6ebf1;border-radius:8px;background:#f8fafc}.section-builder-shape-panel--full{flex:1 1 100%;align-items:start;flex-direction:column}.section-builder-shape-panel-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%}.section-builder-shape-panel-header strong{font-size:var(--text-md)}.section-builder-shape-panel-header .section-builder-help{flex:1 1 auto;font-size:var(--text-sm)}.section-builder-shape-panel-actions{display:flex;flex-wrap:wrap;gap:.5rem}.section-builder-import-message{margin:0;width:100%;color:var(--text-muted, #5f6b7a);font-size:var(--text-md)}.section-builder-shape-error{margin:0;width:100%;color:#b42318;font-size:var(--text-sm)}.section-builder-shape-menu-wrap{position:relative}.section-builder-shape-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:var(--z-popover);display:grid;gap:2px;min-width:168px;max-height:min(320px,50vh);overflow:auto;padding:6px;border:1px solid #d0d6dc;border-radius:8px;background:#fff;box-shadow:0 8px 20px #1e28321a}.section-builder-shape-menu button{padding:7px 10px;border:none;border-radius:5px;background:transparent;color:#2a3139;font-size:var(--text-sm);text-align:left;cursor:pointer}.section-builder-shape-menu button:hover{background:#eef2f5}.section-builder-shape-panel .primary-action.subtle{padding:.45rem .75rem;font-size:var(--text-md)}.section-builder-toolbar button.active{background:var(--accent-soft, #e6f3f5);color:var(--accent, #126e82)}.section-builder-toolbar button:disabled{opacity:.55;cursor:not-allowed}.section-builder-workspace{display:grid;grid-template-columns:minmax(250px,.52fr) minmax(0,1.45fr) minmax(280px,.95fr);gap:14px;min-height:480px;flex:1;min-width:0}.section-builder-left-rail{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.section-builder-left-rail .section-builder-parts-list{flex:1}.section-builder-add-controls{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border, #ded6c8);border-radius:8px;background:#fffefa}.section-builder-add-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.section-builder-add-buttons>button,.section-builder-add-buttons .section-builder-shape-menu-wrap>button{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid #cfc6b8;border-radius:6px;background:#fffefa;color:#2e514f;font-size:var(--text-sm);font-weight:600}.section-builder-add-buttons>button.active,.section-builder-add-buttons .section-builder-shape-menu-wrap>button.active{background:var(--accent-soft, #e6f3f5);color:var(--accent, #126e82);border-color:var(--accent, #126e82)}.section-builder-shape-panel--rail{flex-direction:column;align-items:stretch;gap:8px;padding:10px}.section-builder-shape-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.section-builder-cheatsheet{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-popover);display:grid;gap:6px;width:max(340px,26vw);max-width:420px;padding:10px 12px;border:1px solid #d0d6dc;border-radius:8px;background:#fff;box-shadow:0 8px 20px #1e28321a}.section-builder-cheatsheet-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px;font-size:var(--text-xs);color:#3c4650}.section-builder-cheatsheet-keys{font-weight:650;color:#126e82}.section-builder-parts-list{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:12px 14px;border:1px solid var(--border, #ded6c8);border-radius:8px;background:#fffefa;overflow:hidden}.section-builder-parts-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-builder-parts-header h3{margin:0;font-size:var(--text-lg)}.section-builder-parts-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0;flex:1}.section-builder-part-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center;border:1px solid #e8e1d7;border-radius:6px;background:#fff}.section-builder-part-row.selected{border-color:#126e82;box-shadow:0 0 0 1px #126e8240}.section-builder-part-row.hidden-part{opacity:.55}.section-builder-part-row.subtract-op .section-builder-op-badge{background:#fff4e8;color:#9a5a16}.section-builder-part-select{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:8px 10px;border:none;background:transparent;text-align:left;cursor:pointer}.section-builder-part-select--editing{cursor:default}.section-builder-part-z{flex:0 0 auto;width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:#f3eee3;color:#514a40;font-size:var(--text-xs);font-weight:700}.section-builder-part-info{display:flex;flex-direction:column;gap:2px;min-width:0}.section-builder-part-name{font-size:var(--text-sm);font-weight:600;color:#2f2a24;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-builder-part-meta{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:#6d665b}.section-builder-op-badge{padding:1px 6px;border-radius:999px;font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#e6f3f5;color:#126e82}.section-builder-material-badge{font-weight:600;color:#5c5348}.section-builder-composite-note{margin-top:.35rem}.warning-text.composite-warning{border-left:3px solid #c47a12;padding-left:.5rem}.section-builder-part-rename{width:100%;padding:2px 6px;border:1px solid #ded6c8;border-radius:4px;font-size:var(--text-sm)}.section-builder-part-actions{display:flex;flex-wrap:wrap;gap:2px;padding:4px 6px 4px 0}.section-builder-part-actions .icon-text-button.danger{color:#b42318}.section-builder-parts-hint,.section-builder-parts-empty{margin:0;font-size:var(--text-xs);color:#8a8278}.section-builder-op-toggle.add{color:#126e82}.section-builder-op-toggle.subtract{color:#9a5a16}.section-builder-canvas{min-height:360px;border:1px solid var(--border, #ded6c8);border-radius:8px;background:#fafbfd;overflow:hidden;display:flex;flex-direction:column;min-width:0}.section-builder-canvas-shell{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.section-builder-canvas-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;border-bottom:1px solid #e8e1d7;background:#fffefa}.section-builder-canvas-grid{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:#514a40}.section-builder-canvas-grid select{padding:3px 6px;border:1px solid #ded6c8;border-radius:4px;font-size:var(--text-sm);background:#fff}.section-builder-preview-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.01em;color:#0f766e;background:#0f766e1f;border:1px solid rgba(15,118,110,.28)}.section-builder-preview-badge--loading{color:#64748b;background:#64748b1a;border-color:#64748b38}.section-builder-preview-badge--error{display:inline-block;color:#b91c1c;background:#b91c1c14;border-color:#b91c1c4d;max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-builder-canvas-hint{margin-left:auto;font-size:var(--text-xs);color:#8a8278}.section-builder-canvas-readout{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:#0f766e;white-space:nowrap}.section-builder-canvas-readout+.section-builder-canvas-hint{margin-left:12px}.section-builder-draw-panel{display:flex;flex-direction:column;gap:10px}.section-draw-input{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #e8e1d7;border-radius:8px;background:#fffefa}.section-draw-input-modes{display:inline-flex;gap:4px}.section-draw-input-modes button{flex:1;padding:4px 8px;font-size:var(--text-xs);border:1px solid #d8d0c4;border-radius:6px;background:#fff;cursor:pointer}.section-draw-input-modes button.active{border-color:#0f766e;background:#e6f4f2;color:#0f766e;font-weight:600}.section-draw-input-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.section-draw-input-actions{display:flex;flex-wrap:wrap;gap:6px}.section-builder-canvas-stage{position:relative;flex:1;min-height:280px}.section-builder-canvas-overlay-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;color:#6d665b;pointer-events:none}.section-builder-canvas-overlay-empty p{margin:0;font-size:var(--text-md);font-weight:600;color:#514a40}.section-builder-canvas-overlay-empty span{font-size:var(--text-sm);max-width:30ch}.section-builder-inspector{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px 16px;border:1px solid var(--border, #ded6c8);border-radius:8px;background:#fffefa;isolation:isolate;overflow-y:auto}.section-builder-inspector h3{margin:0;font-size:var(--text-lg)}.section-builder-inspector-empty{display:grid;gap:6px}.section-builder-inspector-content{display:grid;gap:16px}.section-builder-inspector-section{display:grid;gap:8px}.section-builder-inspector-section-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 10px}.section-builder-inspector-section-header h4{margin:0;font-size:var(--text-md)}.section-builder-inspector-subtitle{margin:0;font-size:var(--text-sm);font-weight:700;color:#514a40}.section-builder-inspector-empty-hint{font-style:italic}.section-builder-inspector-actions{display:flex;flex-wrap:wrap;gap:6px}.section-builder-inspector-actions .secondary-action{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);padding:5px 8px}.section-builder-transform-list{display:grid;gap:8px}.section-builder-transform-row{display:grid;gap:6px;padding:8px;border:1px solid #e8e1d7;border-radius:6px;background:#faf8f4}.section-builder-transform-row-header{display:flex;align-items:center;gap:6px}.section-builder-transform-index{flex:0 0 auto;width:1.4rem;color:#6d665b;font-size:var(--text-sm);font-weight:700;text-align:center}.section-builder-transform-row-header select{flex:1;min-width:0;padding:4px 6px;border:1px solid #ded6c8;border-radius:4px;background:#fff;font-size:var(--text-sm)}.section-builder-transform-row-actions{display:flex;gap:2px}.section-builder-transform-fields{display:flex;flex-wrap:wrap;gap:8px 12px}.section-builder-transform-fields .inline-field{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm)}.section-builder-transform-fields .inline-field input,.section-builder-transform-fields .inline-field select{width:72px;padding:4px 6px;border:1px solid #ded6c8;border-radius:4px;background:#fff}.section-builder-transform-fields .inline-field em{color:#6d665b;font-style:normal;font-size:var(--text-xs)}.section-builder-vertex-table{max-height:180px}.section-builder-results{display:grid;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft);min-height:0;flex-shrink:0}.section-builder-results-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-builder-results-header h3{display:inline-flex;align-items:center;gap:8px;margin:0}.section-builder-dirty-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#fff4e5;border:1px solid #f0c27a;color:#9a5a16;font-size:var(--text-2xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.section-builder-auto-compute{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:#5a5348;white-space:nowrap}.section-builder-auto-compute input{margin:0}.section-builder-results .section-builder-backend-banner{margin:0;font-size:var(--text-sm)}.section-builder-results-scroll{overflow:auto;max-height:340px;padding-right:2px;display:grid;gap:12px}.section-builder-results-group{display:grid;gap:5px}.section-builder-results-group h4{margin:0;padding-bottom:2px;border-bottom:1px solid #efe9de;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6d665b}.section-builder-results-footnote{margin:0;font-size:var(--text-2xs);color:#8a8278}.section-builder-results-grid{gap:4px}.section-builder-results-grid .member-results-row{font-size:var(--text-xs)}.section-builder-results-warnings{display:grid;gap:4px}.sections-new-section{width:100%;justify-content:center}.section-builder-tool-group--end{margin-left:auto;border-right:none;padding-right:0}.section-builder-align-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.section-builder-align-grid .secondary-action{justify-content:center;padding-inline:6px;font-size:var(--text-sm)}.section-builder-table-wrap{overflow:auto;max-height:240px;border:1px solid #ded6c8;border-radius:6px;background:#fff}.section-builder-table-wrap table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.section-builder-table-wrap th,.section-builder-table-wrap td{padding:9px 10px;border-bottom:1px solid #e8e1d7;text-align:left;white-space:nowrap;background:#fff}.section-builder-table-wrap th{position:sticky;top:0;z-index:2;background:#f3eee3;color:#514a40;font-weight:700}.section-builder-table-wrap tr:nth-child(2n) td{background:#faf8f4}.section-builder-table-wrap tr:last-child td{border-bottom:0}.section-builder-table-wrap input[type=number]{width:100%;min-width:72px;padding:4px 6px;border:1px solid #ded6c8;border-radius:4px;background:#fff}.section-builder-empty-cell{color:#6d665b;font-size:var(--text-sm);white-space:normal}.section-builder-hints{display:grid;gap:6px}.section-builder-help{margin:0;color:#5a5348;font-size:var(--text-sm)}.section-builder-backend-banner{margin:0 1rem 1rem;padding:.65rem .85rem;border-radius:8px;background:#fff1f0;border:1px solid #f5c2c0}.section-results{display:grid;gap:8px}.warning-text{margin:0;color:#9a5a16;font-size:var(--text-md)}.error-text{margin:0;color:#b42318;font-size:var(--text-md)}.inline-field{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--text-md)}.inline-field input{width:64px}.loads-layout,.combo-template-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.2fr) minmax(220px,.75fr);grid-template-rows:minmax(0,1fr);gap:16px;flex:1;min-height:min(680px,calc(100vh - 200px));min-width:0}.loads-layout>.builder-pane:first-child{grid-column:1;grid-row:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:hidden}.loads-layout>.load-editor-pane{grid-column:2;grid-row:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:hidden}.loads-layout>.loads-diagram-footer,.loads-layout>.builder-pane:last-child{grid-column:3;grid-row:1;min-height:0;min-width:0;padding:14px;overflow-y:auto}.load-editor-scroll{display:grid;gap:10px;flex:1;min-height:0;overflow-y:auto;padding-right:2px}.combo-template-layout{grid-template-columns:minmax(520px,1.4fr) minmax(340px,.8fr)}.case-list,.combo-card-grid,.section-apply-grid{display:grid;gap:8px}.case-list{flex:1 1 auto;min-height:120px;overflow-y:auto;padding-right:4px}.case-card,.combo-card{display:grid;gap:4px;width:100%;padding:9px 10px;border:1px solid #d8d0c1;border-radius:6px;background:#fffefa;color:#24211c;text-align:left}.case-card.active{border-color:#1f6d78;background:#e8f3f2}.case-card span,.case-card em{color:#71695e;font-size:var(--text-xs);font-style:normal}.case-card em{white-space:nowrap}.combo-card{padding:12px}.combo-card table select,.combo-card table input{width:100%;min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fff;color:#24211c;padding:0 8px}.preset-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,auto);gap:8px;align-items:center}.preset-row select{width:100%;min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fff;color:#24211c;padding:0 10px}.full-span{grid-column:1 / -1}.wind-mode-select{grid-template-columns:auto minmax(150px,1fr);align-items:center}.advanced-block{display:grid;gap:10px}.advanced-block summary{cursor:pointer;color:#365451;font-weight:650;font-size:var(--text-sm)}.combo-table-pane,.section-table-pane{min-width:0}.combo-grid-wrap input{min-width:70px;padding:0 6px}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.check-list,.segmented-list,.grade-list,.disabled-list{display:grid;gap:7px}.check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;color:#3f3931;font-size:var(--text-sm)}.check-row em,.disabled-list span,.grade-list span{color:#71695e;font-size:var(--text-xs);font-style:normal}.segmented-list button{min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fffefa;color:#365451;text-align:left}.segmented-list button.active,.selected-row td,.row-selected td{background:#e8f3f2}.table-wrap-interactive tbody tr{cursor:pointer}.table-wrap-interactive tbody tr:hover td{background:#f3f8f7}.section-table-pane tbody tr{cursor:pointer}.helper-text{margin:0;color:#71695e;font-size:var(--text-xs);line-height:1.35}.drawing-preview-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.01em;color:#0f766e;background:#0f766e1f;border:1px solid rgba(15,118,110,.28)}.drawing-preview-badge--applied{color:#475569;background:#4755691a;border-color:#47556938}.drawing-preview-badge--error{color:#b91c1c;background:#b91c1c14;border-color:#b91c1c4d}.drawing-preview-badge--imported{color:#8a4b15;background:#d9aa752e;border-color:#d9aa75}.imported-model-facts{display:grid;gap:10px;padding:10px 12px;border:1px solid #d9aa75;border-left-width:3px;border-radius:6px;background:#fdf7ee}.imported-model-facts .helper-text{margin:0}.imported-model-facts .detail-list div{grid-template-columns:82px minmax(0,1fr)}.parametric-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.parametric-actions .primary-action{flex:1 1 220px}.preset-group-list{display:grid;gap:10px}.preset-group{border:1px solid #d8d0c1;border-radius:6px;padding:8px 10px;background:#fffefa}.preset-group summary{display:grid;gap:2px;cursor:pointer;list-style:none}.preset-group summary span{color:#71695e;font-size:var(--text-xs)}.preset-row-list{display:grid;gap:6px;margin-top:8px}.preset-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:var(--text-sm)}.preset-row em{color:#71695e;font-style:normal;font-size:var(--text-xs)}.combo-tabs,.combo-bulk-actions{margin-bottom:8px}.combo-matrix-table{min-width:640px}.combo-matrix-table th.wind-col,.combo-matrix-table .wind-factor{background:#f4f8fb}.combo-matrix-table .combo-id-input,.combo-matrix-table .combo-label-input{min-width:90px;width:100%}.combo-disabled td{opacity:.55}.wind-generator-block h3{display:inline-flex;align-items:center;gap:6px;margin:0}.collapsible-section{padding:0;overflow:hidden}.collapsible-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;cursor:pointer;list-style:none}.collapsible-summary::-webkit-details-marker{display:none}.collapsible-summary:after{content:"Show";flex:0 0 auto;color:var(--text-faint);font-size:var(--text-xs);line-height:1}.collapsible-section[open]>.collapsible-summary:after{content:"Hide"}.collapsible-hint{color:#71695e;font-size:var(--text-xs);font-weight:500}.collapsible-body{display:grid;gap:10px;padding:0 12px 12px}.wind-generator-body{display:grid;gap:14px;padding:0 14px 14px}.wind-generator-actions{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.wind-generator-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.wind-calc-output{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;padding:12px;border:1px solid #c5ddd9;border-radius:8px;background:linear-gradient(180deg,#f2f9f8,#eef6f4)}.wind-calc-item{display:grid;gap:4px;padding:8px 10px;border:1px solid #e0d8ca;border-radius:6px;background:#fffefa}.wind-calc-label{color:#71695e;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.wind-calc-value{color:#174f57;font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25}.wind-generator-apply-row{gap:10px}.wind-generator-warnings{display:grid;gap:4px;padding:8px 10px;border:1px solid #e3b9b3;border-radius:6px;background:#fdf6f5}.wind-generator-warnings .danger-text{color:#a13c2f}.wind-class-helper .collapsible-body{display:grid;gap:10px}@media (max-width: 1280px){.wind-generator-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1200px) and (min-width: 981px){.truss-tab-columns,.design-panel,.joints-layout,.connections-panel-columns,.connections-standalone-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.truss-tab-card--span-2{grid-column:span 2}.sections-browse-layout{grid-template-columns:minmax(200px,.85fr) minmax(0,1fr)}.sections-browse-layout .sections-grades-sidebar{grid-column:1}.sections-browse-layout .sections-browse-main{grid-column:1 / -1}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.workspace{overflow:visible}.sidebar{position:static;padding:10px}.sidebar-resize-handle{display:none}.section-list{grid-template-columns:repeat(3,minmax(0,1fr))}.section-button{justify-content:center;font-size:var(--text-sm)}.editor-grid{grid-template-columns:1fr;grid-template-rows:auto}.truss-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.truss-workspace--solo{grid-template-rows:minmax(0,1fr)}.truss-dock{max-height:240px}.truss-main-column{grid-template-rows:var(--truss-canvas-row, clamp(260px, 34vh, 420px)) auto minmax(0,1fr)}.truss-tab-columns,.combo-builder,.loads-layout,.combo-template-layout,.sections-layout,.sections-browse-layout,.design-panel,.joints-layout,.connections-panel-columns,.connections-standalone-layout{grid-template-columns:1fr;grid-template-rows:auto}.truss-tab-card--span-2,.truss-tab-card--full{grid-column:1}.combo-builder,.loads-layout,.combo-template-layout,.sections-layout,.sections-browse-layout{grid-template-columns:1fr;grid-template-rows:auto}.sections-detail-grid{grid-template-columns:1fr}.loads-layout>.builder-pane:first-child,.loads-layout>.load-editor-pane,.loads-layout>.builder-pane:last-child{grid-column:1;grid-row:auto}.topbar{align-items:flex-start;flex-direction:column}}@media (max-width: 560px){.form-grid,.load-row{grid-template-columns:58px minmax(0,1fr)}.snap-grid,.preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.load-row em{grid-column:2}.wind-generator-form,.wind-calc-output{grid-template-columns:1fr}.toolbar-diagram-segments{width:100%}}.combo-coverage-warnings{margin-top:10px;padding:10px 12px;border:1px solid #d9aa75;border-radius:8px;background:#fdf6e9;font-size:var(--text-sm)}.combo-coverage-warnings strong{color:#8a4b15}.combo-coverage-warnings ul{margin:6px 0 0;padding-left:18px}.combo-coverage-warnings li{margin-bottom:3px}.design-panel{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1;min-height:0;overflow:hidden}.design-panel h4{margin:10px 0 4px;font-size:var(--text-md)}.design-panel .field sub,.design-panel .field sup,.design-panel .form-card__subhead sub,.design-panel .form-card__subhead sup{font-size:.75em;line-height:0}.design-config-grid.design-le-row{grid-template-columns:repeat(5,minmax(0,1fr))}.design-panel .design-limit-composite{display:flex;flex-direction:row;align-items:center;gap:8px}.design-panel .design-limit-composite>span{display:inline-flex;align-items:center;gap:8px;flex:none;white-space:nowrap}.design-panel .design-limit-composite input[type=number]{flex:1;min-width:0}.design-panel .table-wrap{overflow-x:auto}.design-panel .design-col-id{white-space:nowrap}.design-config{border:1px solid #d4cbbd;border-radius:8px;background:#faf7f0;padding:10px 12px}.design-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 14px;align-items:end}.design-config-grid .field.site-address-field{grid-column:1 / -1;min-width:0}.site-address-row{display:flex;align-items:stretch;gap:6px;min-width:0}.site-address-row .wind-site-autocomplete{flex:1 1 auto;min-width:0}.site-calculator-actions{margin:8px 0 4px}.site-loads-heading{margin:12px 0 6px;font-size:var(--text-sm);font-weight:700}.design-config-grid .field{font-size:var(--text-sm);display:flex;flex-direction:column;gap:3px}.design-config-grid .field input[type=number]{width:100%;padding:4px 6px;border:1px solid #d4cbbd;border-radius:6px;background:#fff}.design-actions{display:flex;gap:10px;align-items:center}.design-actions .primary-button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid #1f6f4a;background:#2b8a5c;color:#fff;font-weight:600}.design-error{padding:10px 12px;border:1px solid #d98b85;border-radius:8px;background:#fdeeec;color:#8f2b23;font-size:var(--text-sm)}.design-warnings{margin:0;padding:10px 12px 10px 28px;border:1px solid #d9aa75;border-radius:8px;background:#fdf6e9;font-size:var(--text-sm)}.design-summary{margin:0;font-size:var(--text-sm);color:#4c463c}.design-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.design-table th,.design-table td{border:1px solid #ddd5c8;padding:5px 8px;text-align:left}.design-table thead th{background:#efe9dd}.design-table td.num,.design-check-table td.num,.design-check-table th.num{text-align:right;font-variant-numeric:tabular-nums}.design-row-fail td{background:#fdeeec}.design-row-governing td{background:#f2f6ff;font-weight:600}.design-detail-row>td{background:#faf7f0;padding:10px 12px}.design-detail{display:flex;flex-direction:column;gap:10px}.design-capacities{margin:0;font-size:var(--text-sm);color:#4c463c}.design-combo strong{font-size:var(--text-sm)}.design-combo strong small{font-weight:400;color:#6d665a}.design-check-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);margin-top:4px}.design-check-table th,.design-check-table td{border:1px solid #e2dbcf;padding:3px 7px}.design-check-table thead th{background:#f3eee4}.design-pill{display:inline-block;border-radius:10px;padding:1px 10px;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.design-pill.pass{background:#d9f2e2;color:#156038}.design-pill.fail{background:#fbdcdc;color:#8f1d1d}.design-pill.na{background:#eae4d9;color:#6d665a}.design-pill.warn{background:var(--warning-soft);color:var(--warning)}.design-util{font-variant-numeric:tabular-nums;font-weight:600}.design-util.ok{color:#1f6f4a}.design-util.warn{color:#9a6b12}.design-util.over{color:#a02c24}.purlin-loads{display:grid;gap:12px}.purlin-loads>h3{margin:0;font-size:var(--text-md);color:#3c3730}.purlin-spans{display:grid;gap:8px}.purlin-span-row{display:grid;grid-template-columns:auto repeat(6,minmax(72px,1fr)) auto;gap:8px 10px;align-items:end;padding:10px 12px;border:1px solid #ded7c9;border-radius:6px;background:#fbfaf7}.purlin-span-index{align-self:center;min-width:3.2rem;font-size:var(--text-sm);font-weight:700;color:#1f6d78}.purlin-span-row .field,.purlin-point-load-row .field{font-size:var(--text-xs);gap:3px}.purlin-span-row .field input[type=number],.purlin-point-load-row .field input[type=number],.purlin-point-load-row .field select{width:100%;min-height:var(--control-height);padding:4px 6px;border:1px solid #ded7c9;border-radius:6px;background:#fff;font-variant-numeric:tabular-nums}.purlin-span-remove,.purlin-point-remove{align-self:end;min-width:34px;padding:0}.purlin-point-loads{padding:10px 12px;border:1px dashed #ded7c9;border-radius:6px;background:#faf7f0}.purlin-point-loads h4{margin:0 0 8px;font-size:var(--text-sm);font-weight:600;color:#71695e;letter-spacing:.01em}.purlin-point-load-list{display:grid;gap:6px}.purlin-point-load-row{display:grid;grid-template-columns:auto repeat(4,minmax(68px,1fr)) auto;gap:8px 10px;align-items:end;padding:8px 10px;border:1px solid #e8e1d7;border-radius:6px;background:#fffefa}.purlin-point-index{align-self:center;min-width:1.6rem;font-size:var(--text-xs);font-weight:600;color:#8a8278}.purlin-loads-actions{padding-top:2px}.purlin-loads-actions .primary-action.compact{margin-left:auto}.beam-envelope{margin:6px 0 0;padding:8px 10px 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--text-secondary)}.beam-envelope-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.beam-envelope-legend{display:inline-flex;align-items:baseline;gap:12px;margin-left:auto;font-weight:500;font-variant-numeric:tabular-nums}.beam-envelope-key:before{content:"";display:inline-block;width:12px;height:0;margin-right:5px;vertical-align:middle;border-top:2px solid currentColor}.beam-envelope-key--max{color:var(--chart-max)}.beam-envelope-key--min{color:var(--chart-min)}.beam-envelope-empty{margin:6px 0;font-size:var(--text-xs);color:var(--text-muted)}.beam-envelope-svg{display:block;width:100%;height:auto;font-variant-numeric:tabular-nums}.beam-envelope-grid{stroke:var(--chart-grid);stroke-width:1}.beam-envelope-baseline{stroke:var(--chart-axis);stroke-width:1}.beam-envelope-support{stroke:var(--chart-axis);stroke-width:1;stroke-dasharray:2 4;stroke-opacity:.55}.beam-envelope-support-mark{fill:var(--chart-axis)}.beam-envelope-tick,.beam-envelope-station{fill:var(--text-muted);font-size:9.5px}.beam-envelope-axis-title{fill:var(--text-faint);font-size:9.5px;font-weight:600}.beam-envelope-area{stroke:none;fill-opacity:.12}.beam-envelope-area--max{fill:var(--chart-max)}.beam-envelope-area--min{fill:var(--chart-min)}.beam-envelope-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.beam-envelope-line--max{stroke:var(--chart-max)}.beam-envelope-line--min{stroke:var(--chart-min)}.beam-envelope-peak--max{fill:var(--chart-max)}.beam-envelope-peak--min{fill:var(--chart-min)}.beam-envelope-peak-label{font-size:9.5px;font-weight:700}.beam-envelope-peak-label--max{fill:var(--chart-max)}.beam-envelope-peak-label--min{fill:var(--chart-min)}@media (max-width: 980px){.purlin-span-row{grid-template-columns:repeat(3,minmax(0,1fr))}.purlin-span-index{grid-column:1 / -1}.purlin-span-remove{grid-column:-2 / -1;justify-self:end}.purlin-point-load-row{grid-template-columns:repeat(2,minmax(0,1fr))}.purlin-point-index{grid-column:1 / -1}.purlin-point-remove{grid-column:-2 / -1;justify-self:end}}.connections-mode{display:inline-flex;width:-moz-max-content;width:max-content;border:1px solid #cfc6b6;border-radius:8px;overflow:hidden}.connections-mode button{border:none;background:#f7f3ea;padding:6px 16px;font-size:var(--text-sm);font-weight:600;color:#4c463c}.connections-mode button.active{background:#244048;color:#f7f4eb}.joints-toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.joints-toolbar .inline-field input,.joints-toolbar .inline-field select{min-width:0}.joints-toolbar .inline-field input[type=number]{width:64px}.joints-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.connections-panel-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;flex:1;min-height:0}.connections-panel-columns>.connections-mode,.connections-panel-columns>.design-config--full,.connections-panel-columns>.connections-notes,.connections-panel-columns>.joints-layout,.connections-panel-columns>.connections-standalone-layout{grid-column:1 / -1}.connections-standalone-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;grid-column:1 / -1}.joints-filter-row{display:flex;gap:6px;margin-bottom:8px}.joints-chip{border:1px solid #cfc6b6;background:#f7f3ea;border-radius:999px;padding:2px 12px;font-size:var(--text-xs);color:#4c463c}.engine-chip{border:1px solid #cfc6b6;background:#f7f3ea;border-radius:999px;padding:1px 8px;margin-left:6px;font-size:var(--text-2xs);white-space:nowrap;color:#4c463c}.joints-chip.active{background:#244048;border-color:#244048;color:#f7f4eb}.joints-table tbody tr,.joint-member-row{cursor:pointer}.joints-table tbody tr.selected td{background:#e7eef0}.joints-table th button,.joints-members-table th button{border:none;background:none;padding:0;font:inherit;font-weight:600;display:inline-flex;align-items:center;gap:3px;cursor:pointer;color:inherit}.joint-badge,.joint-pin{margin-left:5px;vertical-align:-1px;color:#4c6b74}.joint-pin{color:#9a6b12}.joint-mz-warn{margin-left:5px;vertical-align:-1px;color:#9a6b12}.joint-role{color:#6d665a;font-size:var(--text-xs);margin-left:4px}.joint-combo{color:#6d665a;font-weight:400}.joint-expander{width:auto;min-width:22px;padding-inline:6px;color:#6d665a}.joint-detail{border:1px solid #ddd5c8;border-radius:10px;background:#fffdf8;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}.joint-detail-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.joint-detail-header h3{margin:0;font-size:var(--text-lg)}.joint-detail-header .tag-line{margin:0}.joint-detail-nav{margin-left:auto;display:inline-flex;gap:4px}.joint-nav-button{border:1px solid #cfc6b6;background:#f7f3ea;border-radius:6px;padding:3px 6px;line-height:0;color:#4c463c}.joint-carrier-field select{max-width:260px}.joint-override-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.joint-override-row .inline-field input[type=number]{width:64px}.joint-link-button{border:none;background:none;padding:0;font-size:var(--text-sm);font-weight:600;color:#24505c;text-decoration:underline;cursor:pointer}.joint-capped-note{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--text-sm);color:#9a6b12}.indicative-watermark{border:2px solid #b58a2c;background:#fff3cd;color:#7a5b00;font-weight:700;letter-spacing:.03em;text-align:center;padding:8px 12px;margin:8px 0;font-size:var(--text-md)}.joints-stale{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:6px 10px;border:1px solid #ecd9a8;border-radius:8px;background:#fdf3dd;font-size:var(--text-sm);color:#7a5a12}.joint-anchor-card{border:1px solid #ddd5c8;border-radius:8px;background:#faf7f0;padding:8px 12px}.joint-anchor-card .tag-line{margin:4px 0 0}.joint-anchor-title{margin:0;font-size:var(--text-sm);font-weight:600;color:#37414b;display:flex;align-items:center;gap:6px}.gusset-diagram{margin:10px 0 4px;border:1px solid #dfe4ea;border-radius:10px;padding:8px 10px 4px;background:#fdfdfc;color:#37414b}.gusset-diagram figcaption{margin:2px 0 6px}.gusset-interface{border:1px solid #e2e0d8;border-radius:10px;padding:8px 12px 10px;margin:10px 0;background:#fffefb}.gusset-interface h4{margin:0 0 4px;font-size:var(--text-md);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gusset-summary{font-size:var(--text-xs);font-weight:500;color:#5a6b82}.gusset-checks-table td{vertical-align:top}.gusset-clause{white-space:nowrap;font-size:var(--text-xs);color:#24505c;font-weight:600}.gusset-working{margin-top:2px;font-size:var(--text-xs);color:#4a5568;overflow-wrap:anywhere}.gusset-working code{font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-2xs);background:#f4f6f8;border-radius:4px;padding:1px 4px;display:inline-block}.gusset-note{margin-top:2px;font-size:var(--text-2xs);color:#9a6b12}.import-register-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);margin-top:8px}.import-register-table th,.import-register-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border, #2a2f3a);white-space:nowrap}.import-register-table .link-button{background:none;border:none;padding:0;color:var(--accent, #4c9aff);cursor:pointer;font:inherit;text-decoration:underline}.import-register-detail td{white-space:normal}.import-register-detail ul{margin:4px 0;padding-left:16px;font-size:var(--text-xs)}.import-register-detail li{margin:2px 0}.check-status{display:inline-block;min-width:40px;font-weight:700;font-size:var(--text-2xs);letter-spacing:.04em}.check-status.check-pass{color:#2da160}.check-status.check-warn{color:#b58a2c}.check-status.check-fail{color:#d1424f}.check-status.check-info{color:#6b7684}.wind-site-lookup .toolbar-row{align-items:center;gap:8px}.wind-site-address-input{flex:1 1 220px;min-width:180px}.wind-site-autocomplete{position:relative;flex:1 1 220px;min-width:180px;display:flex}.wind-site-autocomplete .wind-site-address-input{flex:1 1 auto;width:100%}.wind-site-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:var(--z-popover);margin:0;padding:4px;list-style:none;background:#fffdf8;border:1px solid var(--border, #ded6c8);border-radius:6px;box-shadow:0 8px 22px #24211c29;max-height:230px;overflow-y:auto}.wind-site-suggestion{display:block;width:100%;padding:6px 8px;border:0;border-radius:4px;background:none;text-align:left;font-size:var(--text-sm);line-height:1.35;color:inherit}.wind-site-suggestion.active,.wind-site-suggestion:hover{background:var(--accent-soft, #e6f3f5);color:var(--accent, #126e82)}.wind-site-attribution{font-size:var(--text-2xs);opacity:.75}.truss-library-block h3,.transfer-block h3,.truss-lib-row{display:flex;align-items:center;gap:6px}.truss-lib-row button{width:auto;min-width:30px;padding-inline:6px;height:28px;flex:none}.truss-lib-summary{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:var(--text-sm)}.truss-lib-summary em{color:#71695e;font-style:normal;font-size:var(--text-xs)}.truss-badge{border-radius:999px;padding:1px 8px;font-size:var(--text-2xs);font-weight:700}.stale-badge{background:#f6e3c5;color:#8a5a12;border:1px solid #e2c186}.loaded-badge{background:#e8f3f2;color:#174f57;border:1px solid #9fc5c0}.keyplan-badge{background:#eaf0e4;color:#3d5423;border:1px solid #b9cca4;margin-left:6px}.auto-transfer-list{margin:4px 0 0;padding-left:18px;display:grid;gap:2px;font-size:var(--text-xs);color:#52493d}.auto-transfer-list strong{font-weight:700}.auto-transfer-note{color:#8a5a12}.transfer-group{border:1px solid #e3dccd;border-radius:8px;padding:8px;display:grid;gap:6px;background:#fbf8f1}.transfer-group-head{grid-template-columns:minmax(0,1fr) 36px}.transfer-group-head span{font-size:var(--text-sm);overflow-wrap:anywhere}.transfer-placement-row{grid-template-columns:minmax(0,1fr) 30px;padding-left:10px}.transfer-placement-row span{font-size:var(--text-xs);color:#52493d}.transfer-issue{color:#8a5a12;display:inline-flex;align-items:center;gap:5px}.transfer-include-row label{display:inline-flex;gap:5px;align-items:center;font-size:var(--text-sm)}.transfer-case-chips button.active{border-color:#1f6d78;background:#e8f3f2;color:#174f57;font-weight:700}.transfer-preview table{font-size:var(--text-xs)}.transfer-add .collapsible-body{display:grid;gap:10px}.transfer-block .segmented-controls.compact-segments{grid-template-columns:repeat(2,minmax(0,1fr))}.ifc-panel{gap:12px}.ifc-panel .import-actions .primary-action{padding:0 16px}.ifc-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ifc-summary .import-file-label{font-size:var(--text-xs);color:#7a7267}.ifc-filter-pill{cursor:pointer;font:inherit}.ifc-filter-pill.active{background:#f6e3cd;font-weight:700}.ifc-grade-banner span{align-items:flex-start;line-height:1.45}.ifc-filters{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.ifc-filters .inline-field{margin-left:0}.ifc-filters .inline-field select,.ifc-filters .inline-field input{width:170px}.ifc-filters .inline-field input{width:100%;min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fff;color:#24211c;padding:0 10px}.ifc-table-scroll{max-height:46vh;overflow:auto;border:1px solid #e2dbcf;border-radius:8px}.ifc-table-scroll thead th{position:sticky;top:0;z-index:1;background:#f8f4ea}.ifc-row-open>td{background:#f2ede1}.ifc-action-cell{text-align:right;white-space:nowrap;vertical-align:middle}.ifc-action-cell>*+*{margin-left:8px}.ifc-action-cell>*{vertical-align:middle}.ifc-blocked-reason{font-size:var(--text-2xs);color:#8a4b15;cursor:help}.ifc-register-split{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:12px;align-items:start}.ifc-register-split.collapsed{grid-template-columns:minmax(0,1fr)}.ifc-register-split>[data-testid=ifc-key-plan]{position:sticky;top:8px}@media (max-width: 1400px){.ifc-register-split{grid-template-columns:minmax(0,1fr)}.ifc-register-split>[data-testid=ifc-key-plan]{position:static}}.ifc-tick-cell{width:26px;text-align:center}.ifc-group-toggle{display:inline-flex;align-items:center;gap:3px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.ifc-group-count{font-size:var(--text-2xs);color:var(--text-muted);border:1px solid #e2dbcf;border-radius:999px;padding:0 5px}.ifc-row-member>td:first-child+td{padding-left:22px;color:var(--text-secondary)}.ifc-row-member>td{background:#fbf8f1}.ifc-row-focused>td{box-shadow:inset 0 0 0 1px #2e86e48c}.ifc-section-cell{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-2xs)}.ifc-width-input{width:74px;font-size:var(--text-xs);padding:2px 4px}.ifc-width-input.manual{border-color:#2e86e4;font-weight:650}.ifc-registered-cell{text-align:center}.ifc-load-dialog h4{margin:12px 0 6px;font-size:var(--text-sm)}.ifc-support-scroll{max-height:300px;overflow:auto;border:1px solid #e2dbcf;border-radius:8px}.ifc-support-scroll thead th{position:sticky;top:0;z-index:1;background:#f8f4ea}.ifc-support-scroll .import-register-table{margin-top:0}.ifc-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.ifc-note{white-space:normal;line-height:1.45}.ifc-section-list{margin:0;padding-left:16px;font-size:var(--text-xs);line-height:1.5}.ifc-register-wide{width:-moz-max-content;width:max-content;min-width:100%}.ifc-register-wide th,.ifc-register-wide td{padding:5px 7px;white-space:nowrap}.ifc-disposition-cell{white-space:nowrap;vertical-align:middle}.ifc-disposition-cell>*+*{margin-left:5px}.ifc-disposition-cell>*{vertical-align:middle}.ifc-disposition-cell select{font-size:var(--text-xs);padding:2px 4px}.ifc-disposition-qty{width:52px;font-size:var(--text-xs);padding:2px 4px}.ifc-disposition-reason{width:130px;font-size:var(--text-xs);padding:2px 4px}.ifc-disposition-included{color:#2f5d3a}.ifc-disposition-excluded{color:#8a4b15}.ifc-disposition-deferred{color:#6b5a2a}@media (max-width: 1100px){.ifc-dialog-grid{grid-template-columns:minmax(0,1fr)}}.markdown-view{max-height:62vh;overflow:auto;padding-right:8px;font-size:var(--text-sm);line-height:1.55}.markdown-view h2{margin:18px 0 8px;font-size:var(--text-lg)}.markdown-view h3,.markdown-view h4,.markdown-view h5{margin:14px 0 6px;font-size:var(--text-md)}.markdown-view p{margin:0 0 8px}.markdown-view blockquote{margin:0 0 8px;padding:6px 10px;border-left:3px solid #d8cdb8;background:#f8f4ea}.markdown-view pre{overflow-x:auto;padding:8px;background:#f8f4ea;border-radius:6px}.markdown-view table{font-size:var(--text-xs)}.markdown-view .table-wrap{overflow-x:auto;margin-bottom:10px}.purlin-canvas{display:grid;gap:12px;padding:14px 16px;border:1px solid #d8d0c1;border-radius:8px;background:#fffefa;color:#514a40;overflow:hidden;place-items:stretch}.purlin-canvas svg{width:100%;height:auto}.purlin-canvas svg text{font-size:9px;font-weight:500;letter-spacing:0}.purlin-canvas svg .purlin-canvas-text{font-size:9px;font-weight:600}.purlin-lap-zone line{stroke:#7a5cc4;stroke-width:4;stroke-linecap:square}.purlin-lap-zone text{fill:#60449f}.purlin-canvas-transfer text{font-weight:700}.purlin-transfer-load-row{background:#f2f8f6}.purlin-transfer-load-row td:first-child{box-shadow:inset 3px 0 #0f8a72}.helper-text.warn{color:#8a5a12}.purlin-workspace-tools{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(150px,.55fr) minmax(280px,1.6fr) auto auto auto;gap:8px;align-items:end}.purlin-run-manager{display:grid;gap:8px;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-muted)}.purlin-canvas-config{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7px}.purlin-canvas-config-section{min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}.purlin-canvas-config-section>summary{padding:6px 8px;color:var(--text-primary);font-size:var(--text-xs);font-weight:700;cursor:pointer}.purlin-canvas-config-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:0 7px 7px}.purlin-load-additions{grid-template-columns:repeat(4,minmax(0,1fr))}.purlin-config-wide{grid-column:span 2}.purlin-canvas-config-fields>label:not(.purlin-inline-check):not(.checkbox-field){display:grid;gap:3px;min-width:0;color:var(--text-muted);font-size:var(--text-2xs)}.purlin-canvas-config-fields input[type=number],.purlin-canvas-config-fields select{width:100%;min-width:0;height:27px;padding:0 6px;border:1px solid var(--border-strong);border-radius:5px;background:#fff;color:var(--text-primary);font-size:var(--text-xs)}.purlin-inline-check{display:inline-flex;align-items:center;align-self:end;gap:5px;min-height:27px;color:var(--text-muted);font-size:var(--text-2xs);line-height:1.25;white-space:normal}.purlin-canvas-config-fields>.checkbox-field{display:flex;align-items:flex-start;gap:5px;margin:0;color:var(--text-muted);font-size:var(--text-2xs);line-height:1.35}.purlin-config-warning{margin:0 7px 7px;color:var(--warning-text, #7a4b00);font-size:var(--text-2xs);line-height:1.35}.purlin-project-load-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 7px 6px;padding:5px 7px;border-radius:5px;background:var(--accent-soft);color:var(--text-muted);font-size:var(--text-2xs)}.purlin-project-load-strip .text-action{flex:0 0 auto;font-size:var(--text-2xs)}.purlin-header-result{min-width:50px;justify-content:center}.purlin-design-summary{display:grid;gap:9px}.purlin-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.purlin-summary-heading>div{display:flex;align-items:baseline;gap:8px}.purlin-summary-heading span:not(.design-pill){color:var(--text-muted);font-size:var(--text-xs)}.purlin-summary-facts{display:flex;flex-wrap:wrap;gap:5px}.purlin-summary-facts span{padding:3px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:var(--text-2xs)}.purlin-resolved-details{margin-top:10px;border-top:1px solid var(--border)}.purlin-resolved-details>summary{padding:7px 0;color:var(--text-muted);font-size:var(--text-xs);font-weight:650;cursor:pointer}.purlin-run-fields{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(150px,.8fr) auto auto auto;gap:8px;align-items:end}.purlin-run-fields .inline-field{margin:0}.purlin-run-fields input{width:100%;min-height:var(--control-height);padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary)}.optional-field{color:var(--text-faint);font-weight:400}.purlin-run-library{display:flex;flex-wrap:wrap;gap:6px}.purlin-run-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}.purlin-run-panel,.purlin-run-group-note{color:var(--text-muted);font-size:var(--text-2xs)}.purlin-run-panel{font-weight:700}.purlin-run-labels{display:inline-flex;flex-wrap:wrap;gap:3px}.purlin-run-label{min-height:24px;padding:2px 7px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-xs)}.purlin-run-label:hover,.purlin-run-label.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.purlin-workspace-tools .inline-field{margin-left:0}.purlin-workspace-tools input[type=number],.purlin-workspace-tools select{width:100%;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);padding:0 8px}.purlin-canvas-load-select{display:grid;gap:4px;min-width:0;color:#5b554c;font-size:var(--text-sm)}.purlin-load-visibility{display:inline-flex;align-items:center;gap:4px}.purlin-load-visibility .icon-text-button{white-space:nowrap}.purlin-force-toggle{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-height);padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);white-space:nowrap}.purlin-force-toggle input{margin:0}.purlin-span-hit{cursor:pointer;outline:none}.purlin-span-hit:hover,.purlin-span-hit:focus,.purlin-span-hit.active{color:var(--accent-ink)}.purlin-span-inline-editor{width:100%;height:28px}.purlin-span-inline-editor input{box-sizing:border-box;width:100%;height:27px;padding:2px 5px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:var(--text-primary);font:650 var(--text-xs) var(--font-sans);text-align:center}.purlin-selected-span{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:7px 10px;border-radius:6px;background:var(--accent-soft);color:var(--text-primary);font-size:var(--text-xs)}.purlin-selected-span .icon-text-button{margin-left:auto}.purlin-support-handle{cursor:ew-resize;outline:none}.purlin-support-handle:hover,.purlin-support-handle:focus,.purlin-support-handle.dragging{color:var(--accent-ink)}.purlin-supports{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.purlin-supports-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:var(--text-xs)}.purlin-supports-head label{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.purlin-supports-head .icon-text-button{margin-left:auto}.purlin-supports-list{display:flex;flex-wrap:wrap;gap:6px 12px}.purlin-support-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;background:var(--accent-soft);font-size:var(--text-xs)}.purlin-support-row label{display:flex;align-items:center;gap:5px;white-space:nowrap}.purlin-supports input[type=number]{width:82px}.purlin-support-issues{margin:0;color:var(--danger, #b42318);font-size:var(--text-xs)}.purlin-canvas-assumption{max-width:760px}.purlin-force-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px;border-top:1px solid var(--border)}.purlin-force-grid--single{grid-template-columns:minmax(0,1fr)}.purlin-force-diagram{min-width:0;margin:0;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised)}.purlin-force-diagram figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;color:var(--text-muted);font-size:var(--text-xs)}.purlin-force-diagram figcaption strong{color:var(--text-primary)}.purlin-force-baseline{stroke:#7f776c;stroke-width:1}.purlin-force-support{stroke:#d7cfc1;stroke-width:.8;stroke-dasharray:3 3}.purlin-force-area{opacity:.16}.purlin-force-area--M{fill:#db7b3c}.purlin-force-area--V{fill:#338a9a}.purlin-force-area--D{fill:#6472bd}.purlin-force-line{fill:none;stroke-width:2}.purlin-force-line--M{stroke:#b55323}.purlin-force-line--V{stroke:#126e82}.purlin-force-line--D{stroke:#3c4a9c}.purlin-force-limit{stroke:#b03b3b;stroke-width:1.2;stroke-dasharray:6 4}.purlin-force-peak{fill:#3c4a9c}.purlin-force-diagram svg text{fill:var(--text-faint);font-size:var(--text-2xs)}.purlin-force-diagram svg text.purlin-force-limit-label{fill:#b03b3b;font-weight:650}.purlin-force-diagram svg text.purlin-force-peak-label{fill:#3c4a9c;font-weight:700}@media (max-width: 1200px){.purlin-canvas-config{grid-template-columns:1fr}.purlin-run-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.purlin-workspace-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.purlin-run-fields,.purlin-workspace-tools,.purlin-force-grid{grid-template-columns:1fr}.purlin-canvas-config-fields,.purlin-load-additions{grid-template-columns:repeat(2,minmax(0,1fr))}.purlin-selected-span .icon-text-button{margin-left:0}}.design-config-grid.purlin-imposed-cluster{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:end}.design-config-grid.purlin-imposed-cluster .field.checkbox-field{grid-column:auto}.purlin-span-row.compact{grid-template-columns:auto minmax(120px,200px) minmax(0,1fr) auto}.purlin-working{font-size:var(--text-xs);line-height:1.45;white-space:normal;color:#6d665b}.purlin-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.purlin-chip{display:grid;grid-template-columns:auto;gap:1px;min-width:120px;padding:7px 11px;border:1px solid #ded7c9;border-radius:8px;background:#fbfaf7}.purlin-chip strong{font-size:var(--text-xs);font-weight:700;letter-spacing:.01em}.purlin-chip span{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.purlin-chip em{font-size:var(--text-2xs);font-style:normal;color:#7a7263}.purlin-chip.ok{border-color:#9ec2a0;background:#f2f8f2;color:#24632c}.purlin-chip.warn{border-color:#d9aa75;background:#fdf6ec;color:#8a4b15}.purlin-chip.over{border-color:#cf8b82;background:#fdf0ee;color:#97281c}.walls-workspace{display:block}.wall-provenance-notes{position:relative;z-index:var(--z-popover);display:inline-flex;align-items:center}.wall-provenance-notes-trigger{width:auto;min-width:26px;padding-inline:6px;height:26px;min-height:26px;border-color:transparent;background:transparent;color:#315760}.wall-provenance-notes-trigger:hover,.wall-provenance-notes-trigger:focus-visible,.wall-provenance-notes.is-open .wall-provenance-notes-trigger{border-color:#c6d4d1;background:#f0f7f5}.wall-provenance-notes-popover{position:absolute;z-index:var(--z-popover);top:calc(100% + 6px);right:0;display:none;gap:8px;width:min(420px,76vw);max-height:min(360px,50vh);padding:10px 12px;overflow:auto;border:1px solid #c6d4d1;border-radius:8px;background:#f0f7f5;color:#315760;box-shadow:0 10px 28px #2e26182e;font-size:var(--text-sm);line-height:1.45;pointer-events:none}.wall-provenance-notes.is-open .wall-provenance-notes-popover{display:grid}.wall-provenance-notes.is-pinned .wall-provenance-notes-popover{pointer-events:auto}.wall-provenance-notes-popover p{margin:0}.wall-panel-menu{position:relative}.wall-panel-menu>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer}.wall-panel-menu>summary::-webkit-details-marker{display:none}.wall-panel-menu[open]>summary{border-color:var(--accent);color:var(--accent-ink)}.wall-panel-menu-count{min-width:18px;padding:1px 5px;border-radius:999px;background:var(--surface-muted);font-size:var(--text-2xs);text-align:center}.wall-panel-menu-popover{position:absolute;z-index:30;top:calc(100% + 6px);left:0;display:grid;gap:8px;width:min(440px,76vw);max-height:min(520px,70vh);padding:10px;overflow:auto;border:1px solid #cfc4b1;border-radius:8px;background:#fffefa;box-shadow:0 10px 28px #2e26182e}.wall-panel-menu-list{max-height:410px;overflow:auto}.wall-remeasure-notice{display:grid;gap:6px;justify-items:start;margin:0 0 10px;padding:8px 10px;border:1px solid #b9ac91;border-left-width:4px;border-radius:8px;background:#f9f5ea;font-size:var(--text-xs)}.wall-remeasure-notice p{margin:0}.wall-remeasure-notice ul{max-height:200px;margin:0;padding-left:18px;overflow:auto}.wall-remeasure-notice li{line-height:1.5}.wall-schedule-row{display:flex;align-items:center;gap:6px;padding:4px 5px;border:1px solid transparent;border-radius:6px}.wall-schedule-row.active{border-color:#b9ac91;background:#f7f2e6}.wall-schedule-row>button{width:auto;min-width:30px;padding-inline:6px;height:28px;flex:none}.wall-schedule-row .wall-panel-open{display:block;width:auto;min-width:0;height:auto;flex:1 1 auto;padding:4px;border:0;background:transparent;text-align:left}.wall-schedule-row .wall-panel-row-delete{display:grid;place-items:center}.wall-elevation-layout{display:grid;gap:10px;width:100%}.wall-elevation-inspector{display:grid;gap:8px;padding:8px 10px;border:1px solid var(--accent);border-radius:8px;background:#fff}.wall-elevation-inspector .wall-lintel-inline-editor{height:auto;box-shadow:none}.wall-elevation-inspector-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wall-elevation-inspector-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}.wall-elevation-inspector .wall-canvas-outcome{margin:0}.wall-elevation-frame{overflow:visible;display:flex;justify-content:center;align-items:center}.wall-elevation-frame svg{width:100%;height:auto}.wall-elevation-body{display:flex;align-items:stretch;flex:1;gap:18px;min-width:0;min-height:0}.wall-elevation-keyplan{display:flex;flex-direction:column;flex:0 1 clamp(300px,32%,480px);gap:6px;min-width:0;padding-right:18px;border-right:1px solid var(--border-soft)}.wall-elevation-keyplan header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.wall-elevation-keyplan header strong{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.wall-elevation-keyplan header small{color:var(--text-faint);font-size:var(--text-2xs)}.wall-elevation-stage{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;min-height:0}.wall-elevation-frame--workspace{min-height:340px;padding:10px 18px;border:1px solid #ddd4c5;border-radius:8px;background:#fffefa;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}.wall-elevation-toolbar{display:flex;justify-content:flex-end}.wall-elevation-frame--workspace .truss-3d-viewer,.wall-elevation-frame--workspace .truss-3d-loading{width:100%;height:420px;min-height:420px;border-radius:6px}.wall-elevation-frame--workspace svg{max-height:460px}.wall-structural-drawing{shape-rendering:geometricPrecision}.wall-canvas-edit-target{cursor:pointer;color:#6d665d;stroke:currentColor;stroke-width:1;outline:none}.wall-canvas-dimension{color:#82786b;stroke-width:1}.wall-canvas-callout>rect{fill:#fffefa;stroke:#d4cbbd;stroke-width:1}.wall-canvas-callout text{stroke:none;fill:currentColor}.wall-canvas-callout-kicker{font:700 var(--text-2xs) var(--font-sans);letter-spacing:.06em;text-transform:uppercase;opacity:.72}.wall-canvas-callout-title{font:650 var(--text-sm) var(--font-sans)}.wall-canvas-frame-summary{pointer-events:none}.wall-canvas-edit-target:hover,.wall-canvas-edit-target:focus,.wall-canvas-edit-target.active{color:var(--accent-ink)}.wall-canvas-edit-target:focus-visible{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent) 55%,transparent))}.wall-canvas-inline-editor{width:100%;height:30px}.wall-canvas-inline-editor input{box-sizing:border-box;width:100%;height:29px;padding:2px 5px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:var(--text-primary);font:650 var(--text-xs) var(--font-sans);text-align:center;font-variant-numeric:tabular-nums}.wall-lintel-target>rect,.wall-lintel-target>line{cursor:pointer}.wall-lintel-inline-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:4px;height:58px;padding:4px;border:1px solid var(--accent);border-radius:6px;background:#fffefa;box-shadow:0 4px 12px #2e261829}.wall-lintel-inline-editor label{display:grid;gap:1px;color:var(--text-secondary);font:600 var(--text-2xs) var(--font-sans);text-align:left}.wall-lintel-inline-editor input{height:30px}.wall-lintel-inline-editor button{align-self:end;height:30px;border:1px solid var(--border-strong);border-radius:5px;background:#fff;color:var(--danger)}.card-grid.wall-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wall-project-load-strip,.purlin-project-load-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs)}.wall-existing-loads,.purlin-pressure-additions{padding:6px 8px;border:1px solid var(--border-soft);border-radius:6px}.wall-existing-loads>summary,.purlin-pressure-additions>summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-xs);font-weight:650}.additional-load-editor{display:grid;gap:7px}.additional-load-list{display:grid;gap:5px}.additional-load-row{display:grid;grid-template-columns:minmax(100px,1.3fr) minmax(130px,1fr) 90px 90px auto;gap:6px;align-items:end}.additional-load-row label{display:grid;gap:3px;min-width:0;color:var(--text-secondary);font-size:var(--text-2xs);font-weight:650}.additional-load-row input,.additional-load-row select{width:100%;min-width:0}.additional-load-delete{width:auto;min-width:32px;padding-inline:6px}@media (max-width: 860px){.additional-load-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.additional-load-row .additional-load-delete{grid-column:3;grid-row:1}}@media (max-width: 900px){.wall-elevation-frame--workspace{min-height:260px;padding-inline:6px}.wall-elevation-body{flex-direction:column}.wall-elevation-keyplan{flex:none;padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid var(--border-soft)}.card-grid.wall-input-grid,.wall-elevation-inspector-fields,.wall-elevation-inspector-fields--three{grid-template-columns:minmax(0,1fr)}}.bracing-elevation-frame{max-height:280px;overflow:visible;display:flex;justify-content:center;align-items:center}.bracing-elevation-frame svg{max-height:280px;width:100%;height:auto}.design-config-grid.wall-quad-row{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 720px){.design-config-grid.wall-quad-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.topbar-project{color:#24211c;font-weight:700;white-space:nowrap}.project-number-field input{font-weight:700;letter-spacing:.02em}.bracing-demand-editor-legacy{display:none}.bracing-project-load-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.bracing-project-load-links .tag-line{margin:0 0 0 auto}@media (max-width: 760px){.bracing-project-load-links .tag-line{width:100%;margin-left:0}}.site-address-field>.wind-site-autocomplete{flex:0 0 auto;min-width:0}.project-main-column{grid-column:span 2}.project-main-column>.form-card{width:100%}.project-ifc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-ifc-table-scroll{overflow-x:auto;min-width:0}.project-ifc-jobs-table th,.project-ifc-jobs-table td{white-space:normal}@media (max-width: 900px){.project-main-column{grid-column:auto}.card-grid.project-ifc-grid{grid-template-columns:1fr}}.project-filters{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px}.project-filters .inline-field{margin-left:0}.project-filters .inline-field select,.project-filters .inline-field input{width:190px}.project-filters .inline-field input{min-height:var(--control-height);border:1px solid #cfc6b8;border-radius:6px;background:#fff;color:#24211c;padding:0 10px}.project-registry-scroll{max-height:48vh;overflow:auto;border:1px solid #e2dbcf;border-radius:8px}.project-registry-scroll thead th{position:sticky;top:0;z-index:1;background:#f7f3ea}.project-registry-group th{background:#f0eadc;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:#6d665b}.project-registry-note{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6d665b}.project-module-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 16px}.project-module-list li{display:flex;align-items:baseline;gap:8px;font-size:var(--text-sm)}.project-module-list code{color:#8a8175;font-size:var(--text-xs)}.building-plan{display:flex;flex-direction:column;gap:10px}.building-plan svg{background:#fbf9f4;border:1px solid #ded6c8;border-radius:8px;color:#24211c}.building-plan-stage{position:relative;min-width:0;overflow:hidden;border-radius:8px}.plan-opening-popover{position:absolute;z-index:5;display:flex;flex-direction:column;gap:6px;max-width:250px;padding:10px 12px;border:1px solid #ded6c8;border-radius:8px;background:#fffdf8;box-shadow:0 6px 18px #24211c2e}.plan-opening-popover .field{margin:0}.plan-opening-popover .inspector-actions{gap:6px}.building-plan-mark-hint{margin:4px 0 0}.building-plan-mark-opening[aria-pressed=true]{font-weight:600;color:#b23c1a}.building-plan-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;min-height:26px}.building-plan-zoom{display:inline-flex;align-items:center;gap:3px}.building-plan-zoom output{min-width:42px;text-align:center;color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.building-plan-toolbar--overlay{position:absolute;top:8px;right:42px;left:8px;z-index:6;justify-content:flex-start;flex-wrap:wrap;width:auto;min-height:0;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.building-plan-stage:hover>.building-plan-toolbar--overlay,.building-plan-stage:focus-within>.building-plan-toolbar--overlay{opacity:1;transform:translateY(0);pointer-events:auto}.building-plan-toolbar--overlay .building-plan-zoom{gap:2px;padding:2px;border:1px solid rgba(207,198,184,.9);border-radius:7px;background:#fffefaf0;box-shadow:var(--shadow-sm)}.building-plan-toolbar--overlay .icon-button,.building-plan-toolbar--overlay .icon-text-button{min-height:28px;height:28px;font-size:var(--text-xs)}.building-plan-toolbar--overlay .icon-button{width:auto;min-width:28px;padding-inline:6px}.building-plan-toolbar--overlay .building-plan-fit,.building-plan-toolbar--overlay .building-plan-locate{padding:0 7px;white-space:nowrap}.building-plan-toolbar--overlay .building-plan-locate{max-width:min(116px,45%);overflow:hidden;border-color:#d39a32;background:#fff9e7f5;color:#70470c;box-shadow:var(--shadow-sm);text-overflow:ellipsis}.building-plan-toolbar--overlay .building-plan-legend-wrap{margin-inline-start:0}.building-plan-toolbar--overlay .building-plan-legend-info{width:auto;min-width:28px;padding-inline:6px;height:28px;border:1px solid rgba(207,198,184,.9);background:#fffefaf0;box-shadow:var(--shadow-sm)}.building-plan-current-halo{stroke-opacity:.24;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1.5px rgba(146,88,0,.45))}.building-plan-current-halo--pulse{animation:building-plan-current-pulse .6s ease-in-out 3}@keyframes building-plan-current-pulse{0%,to{stroke-opacity:.24;filter:drop-shadow(0 0 1.5px rgba(146,88,0,.45))}50%{stroke-opacity:.95;filter:drop-shadow(0 0 5px rgba(245,158,11,.95))}}@media (hover: none){.building-plan-toolbar--overlay{opacity:1;transform:none;pointer-events:auto}}@media (prefers-reduced-motion: reduce){.building-plan-current-halo--pulse{animation:none;stroke-opacity:.8;stroke-dasharray:7 3;filter:none}}.card-grid.project-workspace-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"input" "building" "status" "model";align-items:start;flex:none;min-height:0}@container workspace (min-width: 900px){.card-grid.project-workspace-grid{grid-template-columns:minmax(280px,.85fr) minmax(400px,1.15fr);grid-template-areas:"input building" "status model"}}@container workspace (min-width: 1460px){.card-grid.project-workspace-grid{grid-template-columns:minmax(280px,330px) minmax(400px,1.15fr) minmax(300px,.72fr) minmax(420px,1.35fr);grid-template-areas:"input building status model";grid-template-rows:minmax(0,1fr);align-items:stretch;flex:1;min-height:0}.card-grid.project-workspace-grid>*,.card-grid.project-workspace-grid>.project-main-column>*{min-height:0;max-height:100%;overflow-y:auto;scrollbar-width:thin}.card-grid.project-workspace-grid [data-testid=project-vrml-card] .vrml-viewer{flex:1;height:auto;min-height:280px}}.card-grid.project-workspace-grid>[data-testid=project-details-card]{grid-area:input}.card-grid.project-workspace-grid>.project-main-column{display:contents}.card-grid.project-workspace-grid [data-testid=project-building]{grid-area:building}.project-status-stack{grid-area:status;display:flex;flex-direction:column;gap:14px;min-width:0}.project-status-stack>.form-card{flex:0 0 auto}.project-envelope-scroll{overflow-x:auto;scrollbar-width:thin}.project-envelope-scroll input[type=number]{width:100%;max-width:6.5rem}.card-grid.project-workspace-grid>[data-testid=project-vrml-card]{grid-area:model;display:flex;flex-direction:column}.project-registry-modal{width:min(1180px,94vw);max-height:90vh}.project-registry-modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.project-registry-modal-body .form-card__title{display:none}.project-registry-modal-body>.form-card{flex:1;min-height:0;overflow-y:auto;border:0;border-radius:0;padding:0;background:transparent}.project-registry-count-chip{display:inline-flex;align-items:center;min-width:1.4rem;height:1.15rem;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.project-address-one-line{grid-column:1 / -1}.project-load-launchers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-load-launcher{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d8d0c2;border-radius:8px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.project-load-launcher:hover,.project-load-launcher:focus-visible{border-color:var(--accent);background:#fbffff}.project-load-launcher>span:first-child{min-width:0;display:grid;gap:3px}.project-load-launcher small{overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.project-review-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;color:#786f62;font-size:var(--text-xs);font-weight:650}.project-review-badge.is-suggested{color:#b66518}.project-review-badge.is-confirmed{color:#167847}.project-load-chevron{color:var(--text-faint);font-size:22px}.project-load-dialog-backdrop{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#1e1a1559;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-load-dialog{width:min(1180px,96vw);max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #d7cfc1;border-radius:12px;background:#fcfaf6;box-shadow:0 22px 70px #2b23193d}.project-load-dialog>header,.project-load-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #e2dbcf;background:#fff}.project-load-dialog>footer{border-top:1px solid #e2dbcf;border-bottom:0}.project-load-dialog h2{margin:2px 0 0;font-size:17px}.project-load-dialog .eyebrow{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.project-load-dialog__body{min-height:0;overflow:auto;padding:14px 16px 24px}.project-load-dialog__body>details{border:0;background:transparent}.project-load-dialog__body>details[hidden]{display:none!important}.project-load-dialog__body>details>summary{display:none}.project-load-dialog__body>details>.collapsible-body{padding:0}.project-registry-pane .form-card__body{gap:8px}.project-registry-find input{width:100%;min-height:38px;padding:0 11px;border:1px solid #ccc3b5;border-radius:8px;background:#fff}.project-registry-board{display:grid;gap:12px}.project-registry-pages{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:var(--text-xs)}.project-registry-group{min-width:0}.project-registry-group h3{margin:0 0 6px;color:#6d665b;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.045em}.project-registry-group h3 span{color:var(--text-faint);font-weight:500}.project-registry-labels{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:5px}.project-registry-item{min-width:0}.project-registry-link{width:100%;min-height:35px;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #e1d9cc;border-radius:7px;background:#fff;color:#153f49;text-align:left;cursor:pointer}.project-registry-link:hover,.project-registry-link:focus-visible{border-color:var(--accent);background:#f5fbfb;text-decoration:underline}.project-registry-link.is-disabled{color:var(--text-muted);cursor:default}.registry-state-dot-wrap{flex:0 0 auto;line-height:0}.registry-state-dot{display:block;width:10px;height:10px;border:1.5px solid #aaa094;border-radius:50%;background:#fff}.registry-state-dot.is-pass{border-color:#167847;background:#25a965}.registry-state-dot.is-fail{border-color:#a83434;background:#d94c4c}.project-registry-label-copy{min-width:0;display:grid;gap:1px}.project-registry-label-copy strong,.project-registry-label-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-registry-label-copy small{color:var(--text-muted);font-size:10px}@media (max-width: 640px){.project-load-launchers{grid-template-columns:1fr}.project-load-dialog-backdrop{padding:8px}.project-load-dialog{max-height:97vh}}.building-plan-legend-wrap{position:relative;margin-inline-start:auto}.building-plan-legend{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:215px;max-width:280px;max-height:300px;overflow-y:auto;scrollbar-width:thin;padding:10px 12px;border:1px solid #d8d0c2;border-radius:8px;background:#fffefa;box-shadow:0 6px 18px #382f2229;font-size:var(--text-sm);color:#4c463c}.building-plan-legend span{display:inline-flex;align-items:center;gap:8px}.building-plan-legend i{width:16px;height:4px;border-radius:2px;display:inline-block;flex-shrink:0}.building-plan-legend-dashed{background:repeating-linear-gradient(to right,#6b655b 0 4px,transparent 4px 7px)}.building-plan-legend-note{color:var(--text-muted);font-size:var(--text-xs);white-space:pre-line}.building-plan-legend-info{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:22px;height:22px;padding:0 6px;margin:0;border:0;border-radius:6px;background:transparent;color:#6b655b;cursor:pointer;font-size:var(--text-xs);line-height:1;white-space:nowrap}.building-plan-legend-info:hover,.building-plan-legend-info:focus-visible,.building-plan-legend-info[aria-expanded=true]{color:#1f6d78;background:#eef0e9}.building-envelope{display:flex;flex-direction:column;gap:6px}.building-plan-compact svg{max-height:220px}.racking-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.racking-sheet-head h3{margin:0}.racking-hazard{margin:0;padding:8px 12px;border:1px solid #cfc6b8;border-left:4px solid #1f6d78;border-radius:6px;background:#fffefa;font-weight:650;color:#24211c}.racking-hazard.over{border-left-color:#b3392a;background:#fdf1ee;color:#8d2c1f}.racking-direction-chips{display:flex;flex-wrap:wrap;gap:8px}.racking-direction-chip{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #cfc6b8;border-radius:var(--radius);background:#fffefa;font-size:var(--text-sm);font-weight:650;color:#24211c}.racking-direction-chip.over{border-color:#cf8b82;background:#fdf0ee;color:#8d2c1f}.racking-sheet-working{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #e2dbcf;border-radius:6px;background:#fbf8f1}.racking-sheet-working .tag-line{margin:0;white-space:normal;line-height:1.5}.racking-run-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:12px}.racking-run-block h4.card-subtitle{margin:0 0 4px;font-size:var(--text-sm);font-weight:650}.bracing-run-input{width:6.5em;padding:2px 4px;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.bracing-ifc-chip{display:inline-block;margin-left:5px;padding:0 5px;border:1px solid #0f766e;border-radius:8px;background:#e6f2f0;font-size:var(--text-xs);font-weight:650;color:#0f766e;white-space:nowrap}.bracing-run-edited{color:#8a6b1f;font-size:var(--text-xs);white-space:nowrap}.bracing-direction-summary{flex-direction:column;align-items:stretch;gap:6px}.bracing-direction-summary .racking-direction-chip{display:block;font-weight:600;line-height:1.5}.bracing-howto-list{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:5px;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted, #55504a)}.bracing-howto-list strong{color:#24211c}.bracing-plan-box{min-width:0}.bracing-plan-size{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.bracing-plan-size .tag-line{margin:0}.racking-util{position:relative;display:inline-block;min-width:84px;height:18px;border:1px solid #ded6c8;border-radius:4px;background:#f4efe6;overflow:hidden;vertical-align:middle}.racking-util-fill{position:absolute;inset:0 auto 0 0;display:block}.racking-util-fill.ok{background:#bfe3c9}.racking-util-fill.warn{background:#f2ddb0}.racking-util-fill.over{background:#f0bcb2}.racking-util-text{position:relative;display:block;padding:0 6px;font-size:var(--text-xs);line-height:18px;font-variant-numeric:tabular-nums;color:#24211c}@page{size:A4 landscape;margin:10mm}@media print{body *{visibility:hidden}.racking-sheet,.racking-sheet *{visibility:visible}html,body{height:0;overflow:hidden}.app-shell,.workspace,.editor-grid,.control-surface{position:static;overflow:visible;height:auto;max-height:none}.racking-sheet{position:absolute;top:0;left:0;width:100%;border:0;padding:0;box-shadow:none;background:#fff}.no-print{display:none!important}.racking-sheet .building-plan svg{max-height:36mm}.racking-sheet .building-plan-stage{margin:0}.racking-sheet{gap:2mm}.racking-sheet p{margin:0;line-height:1.35}.racking-sheet .racking-hazard{font-size:9pt;padding:2px 8px}.racking-sheet .racking-direction-chip{font-size:8pt;padding:2px 8px}.racking-sheet .racking-run-tables{grid-template-columns:1fr 1fr;gap:4mm}.racking-sheet .racking-run-tables .design-table{font-size:6.5pt}.racking-sheet .racking-run-tables th,.racking-sheet .racking-run-tables td{padding:1px 3px}.racking-sheet .racking-run-block h4.card-subtitle{margin:0 0 1mm;font-size:7.5pt}.racking-sheet .racking-run-tables .bracing-run-input{border:0;padding:0;background:transparent;width:4.5em}.racking-sheet .building-plan-toolbar{display:none}.racking-sheet .table-wrap,.racking-sheet .building-plan-stage{overflow:visible}.racking-sheet .design-table{font-size:8.5pt}.racking-sheet .design-table,.racking-sheet .racking-direction-chips{-moz-column-break-inside:avoid;break-inside:avoid}}.connections-standalone-layout>.form-card{min-width:0}.loads-layout>.form-card.load-editor-pane{min-width:0}.design-config-grid>.sections-filter-field{min-width:0}.truss-results-workspace-body{min-height:0;padding:0}.truss-results-workspace{display:grid;min-height:0;min-width:0;grid-template-columns:290px minmax(0,1fr);height:100%}.truss-input-rail{min-height:0;overflow:auto;padding:16px;background:var(--surface-muted);border-right:1px solid var(--border)}.truss-quick-inputs{display:flex;flex-direction:column;gap:13px;font-size:var(--text-sm)}.truss-quick-inputs h3{margin:0;font-size:var(--text-sm)}.truss-quick-inputs dl{margin:0}.truss-quick-inputs dl>div{display:flex;justify-content:space-between;gap:10px}.truss-basic-loads{display:flex;flex-direction:column;gap:8px}.truss-basic-loads dd{font-weight:650;font-variant-numeric:tabular-nums}.truss-quick-inputs dd{margin:0;white-space:nowrap}.truss-quick-inputs dd span{font-weight:400;color:var(--text-muted)}.truss-wind-summary{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}.truss-wind-summary>span,.truss-wind-summary dl{font-size:var(--text-xs);color:var(--text-secondary)}.truss-wind-summary dl{display:grid;gap:4px}.truss-quick-field{display:grid;gap:6px}.truss-quick-field .number-with-unit{display:flex}.truss-quick-field input{width:100%;min-width:0;flex:1;padding:7px 9px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius)}.truss-quick-actions{display:flex;flex-direction:column;gap:7px}.truss-quick-actions button{width:100%;text-align:left;padding:9px 11px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--surface-raised);color:var(--accent);font-weight:600}.truss-quick-actions small,.truss-quick-model small{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.truss-quick-actions small{margin-bottom:5px}.truss-quick-model{display:grid;gap:7px;padding-top:12px;border-top:1px solid var(--border-soft)}.truss-quick-model>div{display:flex;flex-wrap:wrap;gap:6px}.truss-quick-model button{padding:5px 7px}.truss-result-pages{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.truss-page-tabs{display:flex;flex:0 0 auto;gap:22px;padding:0 18px;border-bottom:1px solid var(--border)}.truss-page-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 2px 10px;background:transparent;color:var(--text-muted);font-weight:600}.truss-page-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.truss-page-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.truss-overview{overflow:auto;padding:22px}.truss-run-heading h3{margin:0 0 5px;font-size:19px}.truss-run-notice{margin:12px 18px 0;color:var(--danger);font-size:var(--text-sm)}.truss-run-heading p{margin:0 0 22px;color:var(--text-muted);font-size:var(--text-sm)}.truss-overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.truss-overview-card{padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-overview-card h4{margin:0 0 16px;font-size:var(--text-sm);font-weight:500}.truss-overview-card>strong{font-size:24px;font-variant-numeric:tabular-nums}.truss-overview-card p{font-size:var(--text-xs);color:var(--text-muted);min-height:2.8em;line-height:1.4}.truss-overview-card button{padding:0;background:transparent;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:var(--text-xs)}.truss-overview-card--attention{border-color:var(--warning-border)}.truss-details-page{display:flex;flex-direction:column;min-height:0;flex:1}.truss-detail-picker{display:flex;gap:10px;align-items:center;padding:12px 16px;font-size:var(--text-sm);border-bottom:1px solid var(--border-soft)}.truss-detail-picker select{padding:6px 10px;max-width:100%}.truss-details-page .truss-results-detail{flex:1}.truss-detail-modal-body>.truss-page-tabs{margin-bottom:12px}.truss-design-details{display:grid;grid-template-columns:245px minmax(0,1fr);height:100%;min-height:0;background:var(--surface)}.truss-detail-nav{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--surface-muted)}.truss-detail-kind{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:6px;border-bottom:1px solid var(--border)}.truss-detail-kind button{padding:7px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary)}.truss-detail-kind button[aria-selected=true]{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.truss-detail-nav-scroll{min-height:0;overflow:auto;padding:9px}.truss-detail-nav-group{margin-bottom:13px}.truss-detail-nav-group h3{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 8px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.045em}.truss-detail-nav-group h3 span{font-variant-numeric:tabular-nums}.truss-detail-nav-group>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:6px 8px;border:0;border-left:3px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left}.truss-detail-nav-group>button:hover{background:var(--surface-raised)}.truss-detail-nav-group>button.active{border-left-color:var(--accent);background:var(--surface-raised);box-shadow:var(--shadow-xs)}.truss-detail-nav-group>button>span:first-child{display:grid;min-width:0}.truss-detail-nav-group>button strong{overflow:hidden;text-overflow:ellipsis}.truss-detail-nav-group>button small{color:var(--text-muted);font-size:10px}.truss-detail-nav-group .design-pill{flex:0 0 auto;font-size:9px}.truss-detail-report{min-width:0;min-height:0;overflow:auto}.truss-detail-report-actions{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.truss-detail-report-actions>span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:650}.truss-detail-report-actions>div{display:flex;flex-wrap:wrap;gap:6px}.truss-detail-report-actions button{padding:5px 8px;font-size:var(--text-xs)}.truss-member-report,.truss-joint-report{max-width:1180px;margin:0 auto;padding:20px 22px 48px}.truss-report-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.truss-report-heading .eyebrow{margin:0 0 3px;color:var(--accent);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.truss-report-heading h2{margin:0;font-size:27px}.truss-report-heading p:last-child{margin:5px 0 0;color:var(--text-muted);font-size:var(--text-sm)}.truss-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:16px 0}.truss-detail-metrics>div{display:grid;gap:5px;min-height:75px;padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-detail-metrics span,.truss-governing-check span{color:var(--text-muted);font-size:var(--text-xs)}.truss-detail-metrics strong{overflow-wrap:anywhere;font-size:var(--text-sm)}.truss-governing-check{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 16px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft)}.truss-governing-check>div{display:grid;align-content:start;gap:4px;min-width:0;padding:13px;border-right:1px solid var(--accent-border)}.truss-governing-check strong{font-size:17px}.truss-governing-check small{color:var(--text-secondary);line-height:1.35}.truss-report-section{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-report-section>h3,.truss-report-section-heading h3{margin:0 0 4px;font-size:15px}.truss-report-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.truss-report-section-heading label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--text-xs)}.truss-report-section-heading select{padding:5px 7px}.truss-force-diagrams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.truss-force-diagram,.truss-fastener-sketch{margin:0;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);overflow:hidden}.truss-force-diagram figcaption,.truss-fastener-sketch figcaption{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--border-soft);font-size:var(--text-xs)}.truss-force-diagram figcaption span,.truss-fastener-sketch figcaption span{color:var(--text-muted);font-variant-numeric:tabular-nums}.truss-force-diagram svg{display:block;width:100%;min-height:116px}.truss-force-diagram--empty p{min-height:96px;margin:0;padding:18px 10px;color:var(--text-muted);font-size:var(--text-xs)}.truss-force-diagram svg text,.truss-joint-sketch text{fill:var(--text-muted);font-size:10px}.truss-force-diagram .diagram-axis{stroke:var(--border-strong);stroke-width:1}.truss-force-diagram .diagram-area{fill:color-mix(in srgb,var(--accent) 17%,transparent)}.truss-force-diagram .diagram-line{fill:none;stroke:var(--accent);stroke-width:2.1;vector-effect:non-scaling-stroke}.truss-capacity-metrics{margin-bottom:0}.truss-report-section .design-detail{padding:5px 0 0}.truss-report-section .design-combo{margin-top:13px}.truss-joint-sketch{display:block;width:min(100%,560px);max-height:250px;margin:8px auto}.truss-joint-sketch line{stroke-width:8;stroke-linecap:round}.truss-joint-sketch circle{fill:var(--surface-raised);stroke:var(--accent);stroke-width:3}.truss-fastener-layouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}.truss-fastener-sketch svg{display:block;width:100%;height:90px}.truss-fastener-sketch rect{fill:color-mix(in srgb,var(--accent) 6%,var(--surface));stroke:var(--border-strong)}.truss-fastener-sketch circle{fill:var(--surface-raised);stroke:var(--accent);stroke-width:2}.truss-fastener-sketch .weld-line{stroke:var(--danger);stroke-width:6;stroke-dasharray:9 4}.truss-fastener-note{margin:0;padding:0 10px 9px;color:var(--text-muted);font-size:10px;line-height:1.4}.truss-legacy-tools{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-legacy-tools>summary{padding:13px 16px;color:var(--accent);font-weight:650;cursor:pointer}.truss-legacy-tools>div{padding:0 14px 14px;border-top:1px solid var(--border-soft)}@media (max-width: 1180px){.truss-results-workspace{grid-template-columns:245px minmax(0,1fr)}.truss-input-rail{padding:12px}.truss-overview{padding:14px}.truss-overview-cards{grid-template-columns:1fr}.truss-overview-card{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:13px}.truss-overview-card h4,.truss-overview-card p{margin:0;min-height:0}.truss-overview-card>strong{font-size:19px}.truss-design-details{grid-template-columns:220px minmax(0,1fr)}.truss-force-diagrams{grid-template-columns:1fr}.truss-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.truss-governing-check{grid-template-columns:repeat(2,minmax(0,1fr))}.truss-governing-check>div:nth-child(2){border-right:0}}@media (max-width: 640px){.truss-results-workspace{grid-template-columns:1fr;height:auto}.truss-input-rail{max-height:340px;border-right:0;border-bottom:1px solid var(--border)}.truss-results-workspace-body{overflow:auto}.truss-result-pages{min-height:300px;overflow:visible}.truss-design-details{grid-template-columns:1fr;height:auto}.truss-detail-nav{max-height:320px;border-right:0;border-bottom:1px solid var(--border)}.truss-detail-nav-scroll{overflow:auto}.truss-member-report,.truss-joint-report{padding:14px 12px 36px}.truss-detail-report-actions{align-items:flex-start}.truss-detail-metrics,.truss-governing-check{grid-template-columns:1fr}.truss-governing-check>div{border-right:0;border-bottom:1px solid var(--accent-border)}.truss-governing-check>div:last-child{border-bottom:0}}.truss-tab-content>.workspace-panel:has(>.truss-results-workspace-body){flex:1;min-height:0;overflow:hidden}.workspace-panel-body.truss-results-workspace-body{flex:1;min-height:0;overflow:hidden}.truss-results-workspace{flex:1;height:auto}.truss-results-workspace.truss-results-workspace--details{grid-template-columns:minmax(0,1fr)}.truss-quick-inputs{gap:10px}.truss-quick-field{grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:8px}.truss-quick-field input{padding:6px}.truss-quick-field>span:first-child{line-height:1.3}.truss-quick-actions small{font-size:11px}@media (max-width: 640px){.truss-tab-content>.workspace-panel:has(>.truss-results-workspace-body){flex:none;min-height:-moz-min-content;min-height:min-content;overflow:visible}.workspace-panel-body.truss-results-workspace-body{flex:none;overflow:visible}}.wall-inspect-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;font-size:var(--font-size-sm, 12px)}.wall-inspect-toolbar>span{color:var(--muted, #667);margin-right:2px}.wall-inspect-toolbar button{font:inherit;padding:3px 9px;border-radius:999px;border:1px solid var(--rule, #cbd2d9);background:var(--surface, #fff);color:inherit;cursor:pointer}.wall-inspect-toolbar button[aria-pressed=true]{border-color:var(--accent, #1f4f6b);background:var(--accent, #1f4f6b);color:#fff}.member-versions{display:grid;gap:6px}.member-versions-actions{display:flex;align-items:center;gap:6px}.member-versions-note{flex:1 1 auto;min-width:120px}.member-versions-list{max-height:320px;overflow:auto}.member-version-row{align-items:flex-start;gap:8px}.member-version-row .truss-lib-summary em{display:block;color:var(--muted, #667)}.member-lock{display:inline-flex;align-items:center;gap:6px}.member-lock-button.is-locked{border-color:#b9a06a;background:#f7efdb;color:#6c531c}.member-lock-at{font-size:var(--text-2xs);color:#8a7f6d;font-style:normal}.member-lock-badge{margin-left:6px;background:#f7efdb;color:#6c531c;border:1px solid #ddc79a}.truss-library-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.removed-transfer-list{margin-top:10px;padding-top:8px;border-top:1px dashed #ddd5c6;display:grid;gap:6px}.removed-transfer-row span{color:#6b6357}.purlin-transfer-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wall-transfer-add{margin-top:8px}.wall-transfer-add>summary{cursor:pointer;font-size:var(--text-sm);font-weight:650;color:#2e514f}.truss-record-actions{display:inline-flex;align-items:center;gap:8px;margin-right:8px}.truss-tab-content:has(>.truss-ws){padding:0}.truss-ws{display:grid;flex:1;grid-template-columns:264px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;height:100%}.truss-ws__strip{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border-bottom:1px solid var(--border);background:var(--surface-muted);overflow-x:auto;scrollbar-width:thin}.truss-ws__tabs{display:flex;align-items:stretch;gap:2px;height:38px}.truss-ws__tabs button{display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.truss-ws__tabs button:hover{color:var(--text-primary);background:var(--surface-raised)}.truss-ws__tabs button.active,.truss-ws__tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent-strong)}.truss-ws__tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.truss-ws__tabs--inputs button{font-weight:500}.truss-ws__tab-badge{min-width:16px;padding:0 5px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--text-2xs);font-weight:700;line-height:16px;text-align:center}.truss-ws__group-label{padding-left:10px;border-left:1px solid var(--border);color:var(--text-faint);font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.truss-ws__status{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;padding-left:10px;color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.truss-ws__status--complete{color:var(--success);font-weight:600}.truss-ws__status--incomplete{color:var(--warning);font-weight:600}.truss-ws__status--required{color:var(--text-muted)}.truss-ws__status--running{color:var(--accent-strong);font-weight:600}.truss-ws__status-saved{color:var(--text-muted);font-weight:400}.truss-ws__spinner{width:10px;height:10px;border:2px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:truss-ws-spin .8s linear infinite}@keyframes truss-ws-spin{to{transform:rotate(360deg)}}.truss-ws__rail{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;border-right:1px solid var(--border);background:var(--surface-muted)}.truss-rail{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;font-size:var(--text-sm)}.truss-rail__block{border-bottom:1px solid var(--border-soft)}.truss-rail__block>summary{display:flex;align-items:baseline;gap:8px;padding:8px 12px;color:var(--text-primary);font-size:var(--text-sm);font-weight:700;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.truss-rail__block>summary::-webkit-details-marker{display:none}.truss-rail__block>summary:before{content:"";flex:0 0 auto;width:0;height:0;margin-right:2px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid var(--text-faint);transition:transform .12s ease}.truss-rail__block[open]>summary:before{transform:rotate(90deg)}.truss-rail__block>summary small{overflow:hidden;color:var(--text-muted);font-size:var(--text-2xs);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.truss-rail__body{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}.truss-rail__note{margin:0;padding:6px 8px;border:1px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--text-xs);line-height:1.35}.truss-rail__kv{display:flex;flex-direction:column;gap:3px;margin:0}.truss-rail__kv>div{display:flex;justify-content:space-between;gap:8px;min-width:0}.truss-rail__kv dt{color:var(--text-secondary);font-size:var(--text-xs)}.truss-rail__kv dd{margin:0;color:var(--text-primary);font-size:var(--text-xs);font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.truss-rail__kv dd span{color:var(--text-muted);font-weight:400}.truss-rail__kv-basis dd{overflow:hidden;font-weight:500;text-overflow:ellipsis}.truss-rail__links{display:flex;flex-wrap:wrap;gap:4px 12px}.truss-rail__field{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-xs)}.truss-rail__field--wide{grid-template-columns:minmax(0,1fr);gap:3px}.truss-rail__field--wide select{width:100%;min-width:0}.truss-rail__field .number-with-unit{display:flex;align-items:center;gap:4px}.truss-rail__field input{flex:1;width:100%;min-width:0;min-height:var(--control-height-sm);padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right}.truss-rail__field .number-with-unit>span{color:var(--text-muted);font-size:var(--text-2xs)}.truss-rail__hint{color:var(--text-faint);font-size:var(--text-2xs);line-height:1.35}.truss-rail__chord{display:grid;gap:1px}.truss-rail__chord-source{display:flex;justify-content:flex-end;gap:8px;color:var(--text-faint);font-size:var(--text-2xs)}.truss-rail__model{display:grid;gap:2px;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.truss-rail__model strong{overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.truss-rail__model small{color:var(--text-muted);font-size:var(--text-2xs)}.truss-rail__model .issue-list{margin-top:6px;font-size:var(--text-2xs)}.truss-inline-link{padding:0;border:0;background:transparent;color:var(--accent-ink);font-size:var(--text-xs);font-weight:600;text-decoration:underline;text-underline-offset:2px}.truss-inline-link:hover{color:var(--accent-strong)}.truss-entity-nav{display:flex;flex-direction:column;flex:1 1 auto;min-height:120px}.truss-entity-nav__tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px 6px}.truss-entity-nav__tools input[type=search]{min-width:0;min-height:var(--control-height-sm);padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:var(--text-xs)}.truss-entity-nav__tools label{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--text-2xs);white-space:nowrap}.truss-entity-nav__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 6px 10px;scrollbar-width:thin}.truss-entity-nav__group h3{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 6px 3px;background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-2xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.truss-entity-nav__group h3 span{font-variant-numeric:tabular-nums}.truss-entity-nav__group>button{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;min-height:26px;padding:2px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left}.truss-entity-nav__group>button:hover{background:var(--surface-raised)}.truss-entity-nav__group>button.active{border-color:var(--accent-border);background:var(--accent-soft)}.truss-entity-nav__group>button strong{overflow:hidden;font-size:var(--text-xs);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.truss-entity-nav__ratio{min-width:34px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.truss-entity-nav__group .design-pill{min-width:42px;padding:0 6px;font-size:var(--text-2xs);line-height:16px;text-align:center}.truss-entity-nav__swatch{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:var(--text-faint)}.truss-entity-nav__swatch--support{background:var(--chart-max);border-radius:50%}.truss-ws__page{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto;padding:10px 14px 24px;background:var(--surface)}.truss-ws__page>.workspace-panel{flex:none;min-height:-moz-min-content;min-height:min-content}.truss-ws__page>.workspace-panel>.workspace-panel-header .workspace-panel-title{display:none}.truss-ws__page>.workspace-panel>.workspace-panel-header{min-height:0;margin-bottom:8px;padding-bottom:6px}.truss-ws__page>.workspace-panel>.workspace-panel-header:not(:has(.workspace-panel-toolbar>*)){display:none}.truss-ws__page>.workspace-panel>.workspace-panel-header .workspace-panel-toolbar{width:100%;justify-content:flex-end}.truss-ws__page .truss-input-toolbars{margin-bottom:10px}.truss-run-notice{margin:0 0 8px;padding:6px 10px;border:1px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--danger);font-size:var(--text-xs)}.truss-comps-page{display:flex;flex-direction:column;min-width:0;gap:8px}.truss-comps-page__toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}.truss-comps-page__toolbar button{font:inherit;font-size:var(--text-xs);font-weight:600;padding:4px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);cursor:pointer}.truss-comps-page__toolbar button:hover{background:var(--surface-muted)}.truss-comps-page__toolbar button.truss-comps-page__primary{border-color:var(--accent);background:var(--accent-soft)}.truss-comps-page__hint{margin-left:auto;font-size:var(--text-2xs);color:var(--text-muted)}.truss-comps-page__notice{margin:0;padding:6px 10px;border:1px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-soft);font-size:var(--text-xs)}.truss-comps-page__empty{margin:24px auto;max-width:46em;color:var(--text-muted);font-size:var(--text-sm);text-align:center}.truss-comps{max-width:100%;overflow-x:auto}.truss-detail-report{min-width:0}.truss-member-report,.truss-joint-report{max-width:1280px;margin:0;padding:0 0 24px}.truss-report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.truss-report-heading__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}.truss-report-heading__title .truss-entity-nav__swatch{align-self:center;width:10px;height:10px}.truss-report-heading h2{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:0}.truss-report-heading__meta{color:var(--text-muted);font-size:var(--text-xs)}.truss-report-heading .design-pill{flex:0 0 auto}.truss-governing-check{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 10px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft)}.truss-governing-check>div{display:grid;align-content:start;gap:2px;min-width:0;padding:8px 10px;border-right:1px solid var(--accent-border)}.truss-governing-check>div:last-child{border-right:0}.truss-governing-check span{color:var(--text-muted);font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.truss-governing-check strong,.truss-governing-check .design-util{font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums}.truss-governing-check small{overflow:hidden;color:var(--text-secondary);font-size:var(--text-2xs);line-height:1.35;text-overflow:ellipsis}.truss-report-section{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-report-section>h3,.truss-report-section-heading h3{margin:0 0 6px;font-size:var(--text-md);font-weight:700}.truss-report-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.truss-report-section-heading h3{margin-bottom:2px}.truss-report-section-heading p{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.truss-report-section-heading label{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--text-xs)}.truss-report-section-heading select{min-height:var(--control-height-sm);padding:3px 6px;font-size:var(--text-xs)}.truss-report-section--drawing{background:var(--surface)}.truss-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:0}.truss-detail-metrics>div{display:grid;gap:2px;min-height:0;padding:7px 9px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface)}.truss-detail-metrics span{color:var(--text-muted);font-size:var(--text-2xs)}.truss-detail-metrics strong{overflow-wrap:anywhere;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.truss-force-diagrams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.truss-force-diagram{margin:0;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.truss-force-diagram figcaption{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border-soft);font-size:var(--text-xs)}.truss-force-diagram figcaption span{color:var(--text-muted);font-variant-numeric:tabular-nums}.truss-force-diagram svg{display:block;width:100%;min-height:108px}.truss-force-diagram--empty p{min-height:90px;margin:0;padding:16px 8px;color:var(--text-muted);font-size:var(--text-xs)}.truss-force-diagram svg text{fill:var(--text-muted);font-family:var(--font-mono);font-size:11px}.truss-force-diagram svg text.diagram-extreme{fill:var(--text-primary);font-weight:600}.truss-force-diagram .diagram-axis{stroke:var(--chart-axis);stroke-width:1}.truss-force-diagram .diagram-area{fill:color-mix(in srgb,var(--chart-min) 16%,transparent)}.truss-force-diagram .diagram-line{fill:none;stroke:var(--chart-min);stroke-width:1.6;vector-effect:non-scaling-stroke}.truss-joint-sketch{display:block;width:min(100%,480px);max-height:220px;margin:4px auto}.truss-joint-sketch line{stroke-width:6;stroke-linecap:round}.truss-joint-sketch line.carrier{stroke:var(--accent)}.truss-joint-sketch line.chord{stroke:var(--text-secondary)}.truss-joint-sketch line.web{stroke:var(--warning)}.truss-joint-sketch circle{fill:var(--surface-raised);stroke:var(--accent);stroke-width:2}.truss-joint-sketch text{fill:var(--text-muted);font-size:11px}.truss-legacy-tools{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.truss-legacy-tools>summary{padding:8px 12px;color:var(--accent-ink);font-size:var(--text-sm);font-weight:650;cursor:pointer}.truss-legacy-tools>div{padding:0 12px 12px;border-top:1px solid var(--border-soft)}.truss-legacy-tools .workspace-panel{border:0;box-shadow:none}.truss-legacy-tools .workspace-panel-header{display:none}.truss-result-alert{margin:0 0 10px;padding:8px 10px;border:1px solid var(--warning-border);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--text-xs)}.truss-sections-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:12px;align-items:start;flex:none;margin-bottom:12px}.truss-strengthening__actions,.truss-role-sections__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.truss-strengthening .form-card__hint,.truss-role-sections .form-card__hint{margin:0}.truss-role-sections select{max-width:100%}.truss-role-sections__arrangement{margin-top:4px;width:auto;max-width:100%}.truss-input-toolkey{margin-left:5px;font-size:var(--text-2xs);font-style:normal;letter-spacing:.04em;opacity:.55}.truss-input-toolgroup button.active .truss-input-toolkey{opacity:.8}.canvas-edit-toast{position:absolute;bottom:8px;left:8px;z-index:var(--z-canvas-overlay);display:flex;flex-direction:column;gap:4px;max-width:min(520px,calc(100% - 16px));padding:6px 8px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:#fbfaf7f7;box-shadow:var(--shadow-md);font-size:var(--text-xs);color:var(--text-primary)}.canvas-edit-toast__line{display:flex;align-items:center;gap:8px}.canvas-edit-toast__message{flex:1;min-width:0}.canvas-edit-toast__undo,.canvas-edit-toast__dismiss{flex:none;height:var(--control-height-sm);padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-xs)}.canvas-edit-toast__undo{border-color:var(--accent-border);color:var(--accent-strong);font-weight:600}.canvas-edit-toast__undo:hover,.canvas-edit-toast__dismiss:hover{background:var(--surface-sunken)}.canvas-edit-toast__warnings{margin:0;padding-left:16px;color:var(--warning);font-size:var(--text-2xs)}.node-station-hint{margin:2px 0 4px;font-size:var(--text-2xs)}.member-split-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}.member-split-station{flex:1;min-width:0}.member-split-station input{width:100%;min-width:0}.member-split-mode{flex:1 1 128px;min-width:0}.member-split-mode select{width:100%;min-width:0}.webs-detected{margin:0 0 6px;font-size:var(--text-xs);font-weight:600;color:var(--text)}@media (max-width: 1180px){.truss-ws{grid-template-columns:232px minmax(0,1fr)}.truss-governing-check{grid-template-columns:repeat(3,minmax(0,1fr))}.truss-governing-check>div:nth-child(3){border-right:0}.truss-force-diagrams{grid-template-columns:1fr}}@media (max-width: 760px){.truss-ws{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);height:auto}.truss-ws__rail{max-height:320px;border-right:0;border-bottom:1px solid var(--border)}.truss-governing-check{grid-template-columns:1fr}.truss-governing-check>div{border-right:0;border-bottom:1px solid var(--accent-border)}}.frame-workspace{display:flex;flex-direction:column;gap:10px;min-height:0}.frame-toolbar{display:flex;flex-direction:column;gap:8px}.frame-toolbar-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.frame-toolbar-row .field,.frame-toolbar-row label.field{min-width:0}.frame-toolbar-row .field input,.frame-toolbar-row .field select{min-width:90px}.frame-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 6px;border:1px solid var(--border-soft, #d8d5cd);border-radius:var(--radius, 6px)}.frame-toolbar-group>span{font-size:var(--text-xs, 11px);color:var(--text-secondary, #6b6b6b);text-transform:uppercase;letter-spacing:.04em}.frame-tool-button[aria-pressed=true]{background:var(--accent-soft, #e6efe9);font-weight:600}.frame-canvas-zone{position:relative;height:460px;min-height:260px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);overflow:hidden;background:var(--surface, #fbfaf7)}.frame-inspector{position:absolute;top:8px;right:8px;z-index:5;width:320px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:auto;padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:#fbfaf7f7;box-shadow:var(--shadow-md, 0 6px 18px rgba(0, 0, 0, .12));font-size:var(--text-sm, 12px)}.frame-inspector h3{margin:0 0 6px;font-size:var(--text-sm, 12px)}.frame-inspector .field{margin-bottom:6px}.frame-inspector-subhead{margin:8px 0 2px;font-size:var(--text-xs, 11px);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b6b6b)}.frame-release-grid{display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;gap:2px 6px}.frame-release-grid label{display:flex;align-items:center;gap:4px;font-size:var(--text-xs, 11px)}.frame-results{max-height:260px;overflow:auto}.frame-results table{width:100%;border-collapse:collapse;font-size:var(--text-sm, 12px)}.frame-results th,.frame-results td{padding:3px 6px;border-bottom:1px solid var(--border-soft, #e6e3db);text-align:right}.frame-results th:first-child,.frame-results td:first-child{text-align:left}.frame-pages,.segmented-controls.frame-pages{align-self:flex-start;grid-template-columns:repeat(6,minmax(78px,auto))}.frame-loads{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);gap:12px;align-items:start}@media (max-width: 1100px){.frame-loads{grid-template-columns:1fr}}.frame-loads h3,.frame-loads h4{margin:0 0 6px;font-size:var(--text-sm, 12px)}.frame-loads h4{margin-top:10px}.frame-loads-cases,.frame-loads-editor{min-width:0;padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:var(--surface, #fbfaf7)}.frame-loads-add-row,.frame-load-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px}.frame-loads table{width:100%;border-collapse:collapse;font-size:var(--text-sm, 12px)}.frame-loads th,.frame-loads td{padding:3px 5px;border-bottom:1px solid var(--border-soft, #e6e3db);text-align:left;vertical-align:middle}.frame-loads-case-table input,.frame-loads-case-table select{width:100%;min-width:66px;box-sizing:border-box}.frame-loads-case-table tr.is-selected{background:var(--accent-soft, #e6efe9)}.frame-loads-case-actions,.frame-load-row-actions{display:flex;gap:4px;white-space:nowrap}.frame-load-form{padding:8px;margin-bottom:8px;border:1px solid var(--border-soft, #e6e3db);border-radius:var(--radius, 6px);background:var(--surface-alt, #f4f2ec)}.frame-load-form .field input,.frame-load-form .field select{min-width:96px}.frame-load-table-block .empty-state{padding:4px 0;font-size:var(--text-sm, 12px)}.frame-combos{min-width:0}.frame-results-page{display:flex;flex-direction:column;gap:12px;min-width:0}.frame-results-block{min-width:0;padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:var(--surface, #fbfaf7)}.frame-results-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:6px}.frame-results-head h3{margin:0 auto 0 0;font-size:var(--text-sm, 12px)}.frame-results-block table{display:block;width:100%;max-height:320px;overflow:auto;border-collapse:collapse;font-size:var(--text-sm, 12px)}.frame-results-block th,.frame-results-block td{padding:3px 6px;border-bottom:1px solid var(--border-soft, #e6e3db);text-align:right;white-space:nowrap}.frame-results-block th:first-child,.frame-results-block td:first-child,.frame-results-block th:nth-child(2),.frame-results-block td:nth-child(2),.frame-results-block th:nth-child(3),.frame-results-block td:nth-child(3){text-align:left}.frame-results-block tbody tr.is-selected{background:var(--accent-soft, #e6efe9)}.frame-results-block tbody tr.is-slack td{color:var(--text-secondary, #6b6b6b);font-style:italic}.frame-results-envelope-body{border-top:2px solid var(--border, #d8d5cd)}.frame-results-selfweight,.frame-results-notes{margin:0;padding-left:18px;font-size:var(--text-sm, 12px)}.frame-results-notes li.is-flagged{color:var(--danger, #b3261e);font-weight:600}.frame-settings{padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:var(--surface, #fbfaf7)}.frame-settings h3{margin:0 0 6px;font-size:var(--text-sm, 12px)}.frame-settings .helper-text{margin:4px 0 0;max-width:78ch}.frame-notice{margin:0;font-size:var(--text-sm, 12px)}.frame-notice.is-error{color:var(--danger, #b3261e)}.frame-toolbar .field.frame-starter-udl{max-width:190px}.frame-toolbar .field.frame-starter-udl .helper-text{display:block;white-space:normal;line-height:1.3}.frame-toolbar .field.frame-starter-udl input:disabled{opacity:.6}.frame-validation{font-size:var(--text-sm, 12px)}.frame-validation__head{margin:0 0 4px;font-weight:600}.frame-validation ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px}.frame-validation li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.frame-validation.is-error,.frame-validation.is-error .frame-validation__head{color:var(--danger, #b3261e)}.frame-validation .link-button{background:none;border:0;padding:0;font:inherit;color:var(--accent, #1c6b5b);cursor:pointer;text-decoration:underline}.frame-empty-state{font-size:var(--text-sm, 12px);border:1px dashed var(--border, #d8d2c8);border-radius:6px;padding:8px 10px;background:var(--surface-muted, #faf8f5)}.frame-empty-state ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.frame-design-page{display:flex;flex-direction:column;gap:12px;min-width:0}.frame-design-block{min-width:0;padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:var(--surface, #fbfaf7)}.frame-design-block h3{margin:0 0 4px;font-size:var(--text-sm, 12px)}.frame-design-block h4{margin:10px 0 2px;font-size:var(--text-sm, 12px)}.frame-design-block .helper-text{margin:2px 0 6px;max-width:96ch}.frame-design-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.frame-design-head h3{margin:0 auto 0 0}.frame-design-fields,.frame-design-switches{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}.frame-design-fields .field input{width:6.5em}.frame-design-switches .field{flex-direction:row;align-items:center;gap:6px}.frame-design-block table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:var(--text-sm, 12px)}.frame-design-block th,.frame-design-block td{padding:3px 6px;border-bottom:1px solid var(--border-soft, #e6e3db);text-align:right;white-space:nowrap}.frame-design-block th:first-child,.frame-design-block td:first-child,.frame-design-block th:nth-child(2),.frame-design-block td:nth-child(2),.frame-design-block th:nth-child(3),.frame-design-block td:nth-child(3){text-align:left}.frame-design-block td input[type=number]{width:5.5em;text-align:right}.frame-design-section-cell input[type=text]{width:15em}.frame-design-section-cell input.is-invalid{border-color:var(--danger, #b3261e)}.frame-design-block tbody tr.is-fail td{background:var(--danger-soft, #fdecea)}.frame-design-detail-row td{white-space:normal;text-align:left}.frame-design-summary{margin:4px 0 6px;font-size:var(--text-sm, 12px)}.frame-design-block .design-warnings{margin:6px 0}.frame-export-page{display:flex;flex-direction:column;gap:12px;min-width:0}.frame-export-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.frame-export-head .helper-text{flex:1 1 320px;margin:0}.frame-export-block{min-width:0;padding:8px 10px 10px;border:1px solid var(--border, #d8d5cd);border-radius:var(--radius-lg, 10px);background:var(--surface, #fbfaf7)}.frame-export-block h3{margin:0 0 6px;font-size:var(--text-sm, 12px)}.frame-export-block .helper-text{margin:0 0 6px}.frame-export-block .helper-text.is-blocked{color:var(--text-secondary, #6b6b6b);font-style:italic}.frame-export-list{margin:0;padding:0;list-style:none}.frame-export-list li{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-soft, #e6e3db)}.frame-export-list li:last-child{border-bottom:none}.frame-export-file{display:flex;flex-direction:column;gap:2px;min-width:0}.frame-export-file strong{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-sm, 12px)}.frame-export-file .helper-text{margin:0}.frame-export-notes{margin:0 0 6px;padding-left:18px;font-size:var(--text-sm, 12px);color:var(--text-secondary, #6b6b6b)}.module-page{width:100%;max-width:1680px;margin:0 auto;display:flex;flex-direction:column;gap:14px;min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;align-items:start;min-width:0}.card-grid.project-ifc-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.card-grid.project-ifc-grid>.form-card{min-width:0}.card-grid--narrow{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-grid--wide{grid-template-columns:repeat(auto-fill,minmax(520px,1fr))}.card-grid__stack{display:flex;flex-direction:column;gap:14px;min-width:0}.form-card--span-2{grid-column:span 2}.form-card--full{grid-column:1 / -1}@media (max-width: 900px){.form-card--span-2{grid-column:auto}}summary{list-style:none}summary::-webkit-details-marker{display:none}.form-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;border:1px solid #d4cbbd;border-radius:var(--radius-lg);background:#faf7f0}.form-card__head{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;min-height:24px;flex-wrap:wrap}.form-card__title{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:var(--text-md);font-weight:700;color:#3c3730;letter-spacing:0}.form-card__title svg{color:var(--accent-ink)}.form-card__actions{display:inline-flex;align-items:center;gap:6px;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;min-width:0}.form-card--collapsible{display:block}.form-card__summary{cursor:pointer;list-style:none}.form-card__summary::-webkit-details-marker{display:none}.form-card__body{display:grid;gap:10px;padding-top:10px}.form-card__hint{margin:0;color:var(--text-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.form-card__subhead{margin:4px 0 0;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.field-pair{display:grid;gap:6px;color:#5b554c;font-size:var(--text-sm)}.field-pair__inputs{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}.field-pair__inputs input,.field-pair__inputs select{width:100%;min-height:var(--control-height);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-primary);padding:0 6px;min-width:0}.form-card>.collapsible-section>.collapsible-summary{justify-content:flex-start;gap:7px;font-weight:650}.form-card>.collapsible-section>.collapsible-summary:after{margin-left:auto}.field-readout{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 10px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text-primary);font-weight:650}.field-pair__inputs .pair-tag{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0}.field-pair__inputs .pair-tag>span{font-size:var(--text-2xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.registry-list{display:flex;flex-direction:column;min-width:0}table.registry-list{display:table;width:100%;border-collapse:collapse}table.registry-list .registry-list__group{display:table-row}table.registry-list .registry-list__group th{padding:6px 0 2px;font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);text-align:left}table.registry-list .registry-list__row{display:table-row}table.registry-list .registry-list__row td{padding:4px 6px;vertical-align:middle}.registry-list__group{padding:6px 0 2px;font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.registry-list__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-sm);min-height:30px}.registry-list__row:hover{background:var(--surface-sunken)}.registry-list__label{display:inline-flex;align-items:baseline;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registry-list__label .registry-mark{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;color:var(--text-primary)}.registry-list__label .registry-note{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.registry-list__open{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:2px 6px;border-radius:var(--radius-sm);color:var(--accent-ink);font-size:var(--text-xs);font-weight:650}.registry-list__open:hover{background:var(--accent-soft)}.registry-list__row .check-status{font-size:var(--text-2xs)}.registry-list__row .registry-list__status .check-status{display:inline-flex;align-items:center;gap:5px}table.registry-list td.registry-list__status{text-align:right;white-space:nowrap}.module-results-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 0}.module-results-empty p{margin:0;color:var(--text-muted)}.module-results-table{width:100%;border-collapse:collapse}.module-results-table th{padding:6px 8px;text-align:left;font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.module-results-table td{padding:7px 8px;vertical-align:middle;border-top:1px solid var(--border-faint, rgba(0, 0, 0, .06))}.module-results-row{cursor:pointer}.module-results-row:hover{background:var(--surface-sunken)}.module-results-open{border:0;background:none;padding:0;font:inherit;font-weight:650;color:var(--accent-ink);cursor:pointer}.module-results-status{display:inline-flex;align-items:center;gap:6px}
