#js-tool-container-flexural-member-calculator .fmx-app { --fmx-accent: #3d5a73; --fmx-accent-ink: #2f4a61; --fmx-accent-soft: rgba(61,90,115,.07); --fmx-grid-line: rgba(61,90,115,.07); display: flex; flex-direction: column; gap: 14px; }
html[data-theme="dark"] #js-tool-container-flexural-member-calculator .fmx-app { --fmx-accent: #7ba3c4; --fmx-accent-ink: #8fb4d2; --fmx-accent-soft: rgba(123,163,196,.08); --fmx-grid-line: rgba(123,163,196,.1); }
#js-tool-container-flexural-member-calculator .tb-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
#js-tool-container-flexural-member-calculator .tb-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 20px; }
#js-tool-container-flexural-member-calculator .fmx-check { justify-content: start; }
#js-tool-container-flexural-member-calculator .fmx-check input { width: 22px; height: 22px; accent-color: var(--fmx-accent); }
#js-tool-container-flexural-member-calculator .fmx-outcome { display: flex; flex-direction: column; gap: 16px; }
#js-tool-container-flexural-member-calculator .fmx-preview, #js-tool-container-flexural-member-calculator .fmx-details { display: flex; flex-direction: column; gap: 10px; }
#js-tool-container-flexural-member-calculator .fmx-kicker { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-protocol { display: flex; gap: 24px; align-items: stretch; justify-content: space-between; border: 1px solid var(--border-color); border-radius: var(--radius-sm); background: var(--fmx-accent-soft); padding: 18px 20px; min-height: 132px; }
#js-tool-container-flexural-member-calculator .fmx-verdict { display: flex; flex-direction: column; gap: 8px; justify-content: center; padding: 14px 18px; border: 1px solid var(--fmx-accent); outline: 1px solid var(--fmx-accent); outline-offset: 3px; border-radius: 2px; background: var(--bg-secondary); min-width: 240px; }
#js-tool-container-flexural-member-calculator .fmx-verdict.fmx-v-ok { border-color: var(--success); outline-color: var(--success); }
#js-tool-container-flexural-member-calculator .fmx-verdict.fmx-v-warn { border-color: var(--warning); outline-color: var(--warning); }
#js-tool-container-flexural-member-calculator .fmx-verdict.fmx-v-bad { border-color: var(--danger); outline-color: var(--danger); }
#js-tool-container-flexural-member-calculator .fmx-verdict-value { font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 700; line-height: 1.05; color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-hero-note { margin: 0; font-size: 0.85rem; color: var(--text-secondary); line-height: 1.4; font-variant-numeric: tabular-nums; }
#js-tool-container-flexural-member-calculator .fmx-instrument { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: none; }
#js-tool-container-flexural-member-calculator .fmx-col { display: flex; gap: 6px; align-items: stretch; }
#js-tool-container-flexural-member-calculator .fmx-col-track { position: relative; width: 26px; height: 148px; border: 1px solid var(--text-muted); border-radius: 2px; background: var(--bg-secondary); overflow: hidden; }
#js-tool-container-flexural-member-calculator .fmx-col-fill { display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 0; background: var(--fmx-accent); opacity: .85; transition: height 200ms; }
#js-tool-container-flexural-member-calculator .fmx-mark-70, #js-tool-container-flexural-member-calculator .fmx-mark-100 { position: absolute; left: 0; right: 0; display: block; height: 1px; }
#js-tool-container-flexural-member-calculator .fmx-mark-70 { bottom: 58.33%; background: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-mark-100 { bottom: 83.33%; background: var(--danger); }
#js-tool-container-flexural-member-calculator .fmx-mark-m, #js-tool-container-flexural-member-calculator .fmx-mark-f { position: absolute; display: block; width: 9px; height: 2px; left: 0; }
#js-tool-container-flexural-member-calculator .fmx-mark-m { background: var(--accent-primary); }
#js-tool-container-flexural-member-calculator .fmx-mark-f { background: var(--warning); }
#js-tool-container-flexural-member-calculator .fmx-col-axis { position: relative; width: 26px; height: 148px; }
#js-tool-container-flexural-member-calculator .tb-tick-lb { position: absolute; right: 0; font-size: 0.68rem; font-family: var(--font-mono); color: var(--text-muted); transform: translateY(-50%); }
#js-tool-container-flexural-member-calculator .fmx-tl-0 { bottom: -0.5%; }
#js-tool-container-flexural-member-calculator .fmx-tl-20 { bottom: 16.66%; }
#js-tool-container-flexural-member-calculator .fmx-tl-40 { bottom: 33.33%; }
#js-tool-container-flexural-member-calculator .fmx-tl-60 { bottom: 50%; }
#js-tool-container-flexural-member-calculator .fmx-tl-80 { bottom: 66.66%; }
#js-tool-container-flexural-member-calculator .fmx-tl-100 { bottom: 83.33%; }
#js-tool-container-flexural-member-calculator .fmx-tl-120 { bottom: 99%; }
#js-tool-container-flexural-member-calculator .fmx-instrument-cap { display: flex; flex-direction: column; align-items: center; gap: 1px; }
#js-tool-container-flexural-member-calculator .fmx-cap-k { font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-cap-v { font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-legend { display: flex; gap: 12px; font-size: 0.74rem; color: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-leg-item { display: inline-flex; align-items: center; gap: 5px; }
#js-tool-container-flexural-member-calculator .tb-swatch { display: inline-block; width: 9px; height: 2px; }
#js-tool-container-flexural-member-calculator .fmx-sw-m { background: var(--accent-primary); }
#js-tool-container-flexural-member-calculator .fmx-sw-f { background: var(--warning); }
#js-tool-container-flexural-member-calculator .fmx-status { border: 1px solid var(--border-color); border-left: 3px solid var(--border-color); border-radius: 2px; padding: 10px 14px; font-size: 0.9rem; color: var(--text-secondary); }
#js-tool-container-flexural-member-calculator .fmx-status.fmx-ok { border-left-color: var(--success); color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-status.fmx-warn { border-left-color: var(--warning); color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-status.fmx-bad { border-left-color: var(--danger); color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-rows { display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; }
#js-tool-container-flexural-member-calculator .fmx-row { display: flex; align-items: baseline; gap: 8px; padding: 7px 2px; border-bottom: 1px solid var(--border-color); font-size: 0.9rem; }
#js-tool-container-flexural-member-calculator .fmx-key { flex: none; color: var(--text-secondary); }
#js-tool-container-flexural-member-calculator .fmx-leader { flex: 1 1 auto; display: block; border-bottom: 1px dotted var(--text-muted); transform: translateY(-3px); min-width: 16px; }
#js-tool-container-flexural-member-calculator .fmx-val { flex: none; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--text-primary); }
#js-tool-container-flexural-member-calculator .fmx-svg { display: block; width: 100%; height: auto; border: 1px solid var(--border-color); border-radius: var(--radius-sm); background: var(--bg-secondary); }
#js-tool-container-flexural-member-calculator .fmx-svg-desc { margin: 0; font-size: 0.84rem; color: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-grid-m { stroke: var(--fmx-grid-line); stroke-width: 1; }
#js-tool-container-flexural-member-calculator .fmx-svg-ground { fill: var(--border-color); }
#js-tool-container-flexural-member-calculator .fmx-svg-hatch { stroke: var(--text-muted); stroke-width: 1; }
#js-tool-container-flexural-member-calculator .fmx-svg-wall { fill: var(--fmx-accent); opacity: .5; }
#js-tool-container-flexural-member-calculator .fmx-svg-support { fill: var(--fmx-accent); }
#js-tool-container-flexural-member-calculator .fmx-svg-beam { stroke: var(--text-primary); stroke-width: 2.5; stroke-linecap: round; }
#js-tool-container-flexural-member-calculator .fmx-svg-qline { stroke: var(--accent-primary); stroke-width: 1.2; }
#js-tool-container-flexural-member-calculator .fmx-svg-qarr { stroke: var(--accent-primary); stroke-width: 1; }
#js-tool-container-flexural-member-calculator .fmx-svg-qhead { fill: var(--accent-primary); }
#js-tool-container-flexural-member-calculator .fmx-svg-parr { stroke: var(--danger); stroke-width: 1.6; }
#js-tool-container-flexural-member-calculator .fmx-svg-phead { fill: var(--danger); }
#js-tool-container-flexural-member-calculator .fmx-svg-mline { fill: none; stroke: var(--fmx-accent-ink); stroke-width: 1.6; }
#js-tool-container-flexural-member-calculator .fmx-svg-mord { stroke: var(--fmx-accent); stroke-width: 0.7; opacity: .75; }
#js-tool-container-flexural-member-calculator .fmx-svg-mbase { stroke: var(--text-muted); stroke-width: 0.8; stroke-dasharray: 2 2; }
#js-tool-container-flexural-member-calculator .fmx-svg-vline { fill: none; stroke: var(--danger); stroke-width: 1.2; stroke-dasharray: 5 4; }
#js-tool-container-flexural-member-calculator .fmx-svg-text { fill: var(--text-secondary); font-size: 11.5px; font-family: var(--font-mono); }
#js-tool-container-flexural-member-calculator .fmx-table-wrap { overflow-x: auto; border: 1px solid var(--border-color); border-radius: var(--radius-sm); }
#js-tool-container-flexural-member-calculator .fmx-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
#js-tool-container-flexural-member-calculator .fmx-table th, #js-tool-container-flexural-member-calculator .fmx-table td { padding: 7px 14px; text-align: right; border-top: 1px solid var(--border-color); font-variant-numeric: tabular-nums; }
#js-tool-container-flexural-member-calculator .fmx-table th:first-child, #js-tool-container-flexural-member-calculator .fmx-table td:first-child { text-align: left; }
#js-tool-container-flexural-member-calculator .fmx-table thead th { border-top: none; background: var(--bg-tertiary); color: var(--text-secondary); font-weight: 600; }
#js-tool-container-flexural-member-calculator .fmx-sec-pass td:last-child { color: var(--success); font-weight: 600; }
#js-tool-container-flexural-member-calculator .fmx-sec-fail td:last-child { color: var(--danger); }
#js-tool-container-flexural-member-calculator .fmx-sec-fail td { color: var(--text-muted); }
#js-tool-container-flexural-member-calculator .fmx-sec-first td { background: var(--fmx-accent-soft); }
#js-tool-container-flexural-member-calculator .fmx-sec-cur td { outline: 2px solid var(--fmx-accent); outline-offset: -2px; }
@media (max-width: 640px) {
  #js-tool-container-flexural-member-calculator .fmx-app { gap: 10px; }
  #js-tool-container-flexural-member-calculator .tb-grid-2, #js-tool-container-flexural-member-calculator .tb-grid-3 { grid-template-columns: 1fr; }
  #js-tool-container-flexural-member-calculator .fmx-protocol { flex-direction: column; align-items: stretch; gap: 16px; }
  #js-tool-container-flexural-member-calculator .fmx-verdict { min-width: 0; }
  #js-tool-container-flexural-member-calculator .fmx-instrument { align-items: flex-start; }
  #js-tool-container-flexural-member-calculator .fmx-rows { grid-template-columns: 1fr; }
  #js-tool-container-flexural-member-calculator .fmx-outcome { gap: 12px; }
}