:root{--cds-blue:#0f62fe;--cds-bg:#fff;--cds-layer:#f4f4f4;--cds-layer2:#e0e0e0;--cds-text:#161616;--cds-secondary:#525252;--cds-border:#c6c6c6;--cds-error:#da1e28;--cds-success:#24a148;--cds-warning:#f1c21b}*{box-sizing:border-box}body{margin:0;font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--cds-text);background:var(--cds-bg);font-size:14px}.masthead{height:48px;background:#161616;color:#f4f4f4;display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:16px}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--cds-blue);font-family:'IBM Plex Mono';font-size:12px}.mast-meta{color:#c6c6c6;margin-left:32px;font-family:'IBM Plex Mono';font-size:12px}.status-pill{margin-left:auto;color:#c6c6c6;font-size:12px}.status-pill.ready{color:#42be65}.workspace{display:grid;grid-template-columns:344px minmax(0,1fr);min-height:calc(100vh - 48px)}.sidebar{background:var(--cds-layer);border-right:1px solid var(--cds-border);padding-bottom:32px}.panel-title{padding:24px}.eyebrow{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.32px;color:var(--cds-secondary)}h1,h2{margin:4px 0;font-weight:400}h1{font-size:28px}h2{font-size:20px}.panel-title p{margin:8px 0 0;line-height:1.45;color:var(--cds-secondary)}fieldset{border:0;border-top:1px solid var(--cds-border);margin:0;padding:16px 24px 24px}legend{font-family:'IBM Plex Mono';font-size:12px;font-weight:500;padding:16px 0 0}label{display:block;font-size:12px;color:var(--cds-secondary);margin-top:12px}input[type=number],select{display:block;width:100%;height:40px;border:0;border-bottom:2px solid #8d8d8d;background:#fff;color:#161616;padding:0 12px;margin-top:4px;font:14px 'IBM Plex Sans'}input:focus,select:focus{outline:2px solid var(--cds-blue);outline-offset:-2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:8px;min-height:28px;margin-top:8px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--cds-blue)}.helper{font-size:12px;color:#6f6f6f;line-height:1.4}.member-groups{margin:8px -8px 16px}.member-group{border-top:1px solid var(--cds-border);padding:0 8px 12px}.member-group:last-child{border-bottom:1px solid var(--cds-border)}.member-group summary{cursor:pointer;padding:12px 0;font-weight:500;color:var(--cds-text)}.member-group[open] summary{color:var(--group-color,var(--cds-blue))}.member-group{border-left:4px solid var(--group-color,#8d8d8d)}.member-group.topChord{--group-color:#0f62fe}.member-group.bottomChord{--group-color:#0043ce}.member-group.diagonal{--group-color:#24a148}.member-group.vertical{--group-color:#da1e28}.member-group.endPost{--group-color:#ff832b}.member-group summary::after{content:'';display:inline-block;width:9px;height:9px;margin-left:8px;background:var(--group-color);border-radius:50%}.global-section-options{padding-top:4px}.tertiary{height:48px;border-radius:0;font:14px 'IBM Plex Sans';cursor:pointer}.tertiary{border:1px solid var(--cds-blue);background:#fff;color:var(--cds-blue);padding:0 16px}.tertiary:hover{background:#edf5ff}.content{min-width:0;padding:24px 32px 48px}.toolbar,.results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.view-options{display:flex;gap:16px;align-items:center}.label-mode{display:flex;align-items:center;gap:8px;margin:0;color:var(--cds-secondary)}.label-mode select{width:148px;height:32px;margin:0}.toolbar{align-items:flex-start;flex-wrap:wrap}.view-options{flex:1;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.label-mode{flex-direction:column;align-items:flex-start;gap:2px}.canvas-wrap{background:#fff;border:1px solid var(--cds-border);overflow:auto}.canvas-wrap svg{display:block;width:100%;min-width:720px;height:520px;background-image:linear-gradient(#f4f4f4 1px,transparent 1px),linear-gradient(90deg,#f4f4f4 1px,transparent 1px);background-size:24px 24px}.datum{stroke:#c6c6c6;stroke-dasharray:3 5}.member{stroke:#161616;stroke-width:2.4;transition:stroke-width .15s}.member:hover{stroke-width:5}.member.topChord{stroke:#0f62fe}.member.bottomChord{stroke:#0043ce}.member.diagonal{stroke:#24a148}.member.vertical,.member.endPost{stroke:#da1e28}.member.failed{stroke:#a2191f;stroke-width:4}.nodes-layer circle{fill:#161616}.support{fill:#e0e0e0;stroke:#161616}.support-base{stroke:#161616;stroke-width:2}.support-roller{fill:#fff;stroke:#161616;stroke-width:1.5}.load-arrow{stroke:#0f62fe;stroke-width:1.7}.load-label,.member-label{font:10px Arial,sans-serif;fill:#393939}.member-label{paint-order:stroke;stroke:white;stroke-width:3px;stroke-linejoin:round}.epure{stroke-width:1;opacity:.32}.epure.tension{fill:#0f62fe;stroke:#0043ce}.epure.compression{fill:#da1e28;stroke:#a2191f}.epure-hatch .epure{opacity:.9}.dimension-line,.dimension-tick{stroke:#525252;stroke-width:1}.dimension-extension{stroke:#8d8d8d;stroke-width:.8}.dimension-text{font:9px Arial,sans-serif;fill:#393939;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px}.dimension-text.overall{font-weight:600}.deformed-layer line{stroke:#8a3ffc;stroke-width:2;stroke-dasharray:7 4}.node-deflection{font:9px Arial,sans-serif;fill:#6929c4;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.node-deflection.maximum{fill:#da1e28;font-weight:600}.max-deflection-node{fill:#fff;stroke:#da1e28;stroke-width:3}.member-tooltip rect{fill:#161616;stroke:#525252;stroke-width:1;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}.member-tooltip text{font:11px Arial,sans-serif;fill:#fff}.member:focus{outline:none;stroke-width:5}.svg-legend text{font:11px Arial,sans-serif;fill:#525252}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--cds-border);margin:16px 0 32px;border:1px solid var(--cds-border)}.metric-grid article{background:var(--cds-layer);padding:16px;min-height:104px}.metric-grid span,.metric-grid small{display:block;color:var(--cds-secondary);font-size:12px}.metric-grid strong{display:inline-block;font:300 30px 'IBM Plex Sans';margin:10px 4px 2px 0}.table-wrap{overflow:auto;border:1px solid var(--cds-border)}table{width:100%;border-collapse:collapse;white-space:nowrap}th{position:sticky;top:0;background:#161616;color:#fff;text-align:left;font-weight:400;font-size:12px;padding:11px 12px}td{padding:10px 12px;border-bottom:1px solid #e0e0e0;font-family:'IBM Plex Mono';font-size:12px}tbody tr:nth-child(even){background:var(--cds-layer)}tbody tr:hover{background:#edf5ff}.status-ok{color:var(--cds-success)}.status-fail{color:var(--cds-error);font-weight:600}.util-bar{display:inline-block;width:48px;height:6px;background:#e0e0e0;margin-right:6px;vertical-align:middle}.util-bar i{display:block;height:100%;background:var(--cds-blue)}.util-bar i.over{background:var(--cds-error)}.notification{padding:12px 16px;background:#fff1f1;border-left:4px solid var(--cds-error);margin-bottom:16px}.notification.info{background:#edf5ff;border-color:var(--cds-blue)}.hidden{display:none}.footnote{margin-top:16px;background:var(--cds-layer);padding:16px;line-height:1.5;color:var(--cds-secondary);border-left:4px solid var(--cds-warning)}@media(max-width:1056px){.workspace{grid-template-columns:300px minmax(0,1fr)}.sidebar{font-size:13px}.content{padding:24px 16px}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.mast-meta{display:none}.workspace{display:block}.sidebar{border-right:0}.content{padding:16px}.toolbar,.results-head{align-items:flex-start;flex-direction:column}.view-options{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr 1fr}.canvas-wrap svg{height:420px}.masthead{padding:0 16px}}
