/* Module 5 — Spacing calculator only. Complements Module 4's general shell. */
.fpt-m5-spacing {--m5-pine:#244936;--m5-wood:#a36e44;--m5-steel:#ced9d2;--m5-paper:#fcfdfb}
.fpt-m5-spacing [hidden] {display:none !important}
.fpt-m5-spacing .fpt-m5-intro {padding:14px 16px;border-bottom:1px solid #d6e2d9;background:linear-gradient(110deg,#fcfdfb,#f3f8f3)}
.fpt-m5-spacing .fpt-m5-intro-words {display:grid;gap:3px}
.fpt-m5-spacing .fpt-m5-intro-words strong {color:#264b35;font:700 13px/1.3 Sora,Inter,sans-serif}
.fpt-m5-spacing .fpt-m5-intro-words span {color:#62786a;font-size:11px;line-height:1.5}
.fpt-m5-spacing .fpt-m5-layout-preview {display:flex;align-items:center;gap:12px;margin:0 0 14px;border:1px solid #d7e2d8;border-radius:10px;background:repeating-linear-gradient(0deg,rgba(130,155,162,.10),rgba(130,155,162,.10) 1px,transparent 1px,transparent 16px),repeating-linear-gradient(90deg,rgba(130,155,162,.10),rgba(130,155,162,.10) 1px,transparent 1px,transparent 16px),linear-gradient(#f8fbf8,#f2f7f3);padding:9px 11px}
.fpt-m5-spacing .fpt-m5-layout-sketch {width:100px;flex:0 0 100px;height:52px;display:flex;align-items:center;justify-content:center}
.fpt-m5-spacing .fpt-m5-layout-sketch svg {width:100%;height:100%}
.fpt-m5-spacing .fpt-m5-layout-copy {display:grid;gap:3px;min-width:0}
.fpt-m5-spacing .fpt-m5-layout-copy strong {color:#284b36;font:700 12px/1.3 Sora,Inter,sans-serif}
.fpt-m5-spacing .fpt-m5-layout-copy span {font:400 10.5px/1.4 Inter,system-ui,sans-serif;color:#526c5a}
.fpt-m5-spacing .fpt-m5-summary {padding:13px 14px 11px;border:1px solid #d1dfd5;border-radius:9px;background:linear-gradient(115deg,#e9f3eb,#f9fdf9);margin-bottom:11px}
.fpt-m5-spacing .fpt-m5-metric--major {display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fpt-m5-spacing .fpt-m5-metric--major .fpt-m5-metric-name {color:#3d5e4a;font:750 12px/1.3 Sora,Inter,sans-serif}
.fpt-m5-spacing .fpt-m5-metric--major .fpt-m5-metric-value {font:800 clamp(28px,3vw,36px)/1.05 'IBM Plex Mono',monospace;color:#17422d;letter-spacing:-.055em}
.fpt-m5-spacing .fpt-m5-summary-sub {font-size:10.5px;line-height:1.5;color:#55705e;margin:7px 0 0 !important}
.fpt-m5-spacing .fpt-m5-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 11px}
.fpt-m5-spacing .fpt-m5-metrics .fpt-m5-metric {display:flex;flex-direction:column;gap:5px;border:1px solid #dae4dc;padding:10px;border-radius:8px;background:#fff}
.fpt-m5-spacing .fpt-m5-metric-name {font-size:10.5px;color:#5b7462;line-height:1.3}
.fpt-m5-spacing .fpt-m5-metric-value {font:700 18px/1.2 'IBM Plex Mono',monospace;color:#24503a}
.fpt-m5-spacing .fpt-m5-result-note {background:#faf5ed;border:1px solid #ead7bd;border-radius:7px;padding:10px;font-size:10.5px;color:#6a4d2e}
.fpt-m5-spacing .fpt-m5-run-summary {margin:8px 0 14px;overflow-x:auto;max-width:100%}
.fpt-m5-spacing .fpt-m5-run-summary :is(h3,h4) {font:700 12px/1.3 Sora,Inter,sans-serif;color:#294c38;margin:0 0 8px}
.fpt-m5-spacing .fpt-m5-run-table {width:100%;border-collapse:collapse;font-size:10.5px;text-align:left;min-width:280px}
.fpt-m5-spacing .fpt-m5-run-table th {padding:8px 5px;color:#294b38;background:#ecf3ed;font-weight:750;border-bottom:1px solid #cdddcf;white-space:normal}
.fpt-m5-spacing .fpt-m5-run-table td {padding:7px 5px;border-bottom:1px solid #e2ebe3;color:#3d5848;white-space:normal}
.fpt-m5-spacing .fpt-m5-run-table tr:nth-child(even) td {background:#fafcf9}
.fpt-m5-spacing .fpt-m4-result-footnote {font-size:10px}
.fpt-m5-spacing .fpt-m4-fields {row-gap:11px}
.fpt-m5-spacing .fpt-m4-details[hidden] {display:none!important}
.fpt-m5-spacing .fpt-result p:last-child {margin-bottom:0}
@media (max-width:500px) {
 .fpt-m5-spacing .fpt-m5-intro {padding:11px}
 .fpt-m5-spacing .fpt-m5-layout-preview {gap:8px;padding:8px}
 .fpt-m5-spacing .fpt-m5-layout-sketch {flex-basis:72px;width:72px;height:45px}
 .fpt-m5-spacing .fpt-m5-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
 .fpt-m5-spacing .fpt-m5-metric-value {font-size:15px}
 .fpt-m5-spacing .fpt-m5-run-table {min-width:260px}
}
@media print {
 .fpt-m5-spacing .fpt-m5-intro,.fpt-m5-spacing .fpt-m5-layout-preview {display:none}
}
