.engineering-page .page-layout { grid-template-columns: 180px minmax(0, 940px) 132px; }
.engineering-page .article-title h1 { min-width: 0; }
.engineering-page .ai-marker { flex-shrink: 0; }
.engineering-page .article-origin { color: var(--muted); }
.engineering-page .source-link { font-size: .9em; }
.table-scroll, .diagram-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.table-scroll { margin: 20px 0 24px; }
.engineering-table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.5; }
.engineering-table caption { text-align: left; font-weight: 600; font-size: 14px; padding-bottom: 8px; }
.engineering-table th, .engineering-table td { border: 1px solid var(--subtle-line); padding: 8px 10px; text-align: left; vertical-align: top; }
.engineering-table thead th { background: var(--panel); white-space: normal; }
.engineering-table tbody th { font-weight: 500; min-width: 135px; }
.engineering-table td { font-variant-numeric: tabular-nums; }
.engineering-equation { padding: 15px 18px; margin: 18px 0 22px; background: var(--panel); border-left: 3px solid var(--line); font: 13px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.engineering-diagram { margin: 22px 0; border: 1px solid var(--subtle-line); background: var(--panel); }
.engineering-diagram .diagram-scroll + .diagram-scroll { border-top: 1px solid var(--subtle-line); }
.engineering-diagram svg { display: block; width: 100%; min-width: 650px; height: auto; }
.engineering-diagram figcaption { padding: 12px 16px 15px; border-top: 1px solid var(--subtle-line); font-size: 13px; line-height: 1.5; }
.engineering-diagram svg text { fill: var(--text); font: 14px -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.engineering-diagram svg .diagram-heading { font-size: 16px; font-weight: 600; }
.engineering-diagram svg .diagram-small { font-size: 12px; }
.engineering-diagram svg .gate-label { fill: var(--teal); font-size: 13px; }
.engineering-diagram svg .dimension-text { fill: var(--muted); font-size: 12px; }
.engineering-diagram svg .frame-fixed { stroke: var(--muted); stroke-width: 5; stroke-linecap: round; }
.engineering-diagram svg .frame-gate { stroke: var(--teal); stroke-width: 5; stroke-linecap: round; }
.engineering-diagram svg .wheel { fill: none; stroke: var(--line); stroke-width: 3; }
.engineering-diagram svg .spoke { stroke: var(--subtle-line); stroke-width: 1; }
.engineering-diagram svg .node { fill: var(--background); stroke: var(--text); stroke-width: 1.5; }
.engineering-diagram svg .hoof-rail { stroke: var(--text); stroke-width: 7; }
.engineering-diagram svg .ground, .engineering-diagram svg .dimension { stroke: var(--muted); stroke-width: 1; }
.engineering-diagram svg .leader { stroke: var(--muted); stroke-width: 1; }
.engineering-diagram svg .stand { stroke: var(--text); stroke-width: 4; }
.engineering-diagram svg .gate-edge { stroke: var(--teal); stroke-width: 7; stroke-dasharray: 8 4; }
.engineering-diagram svg .swing-arrow { fill: none; stroke: var(--teal); stroke-width: 2; }
.engineering-diagram svg .clear-opening { fill: var(--teal); fill-opacity: .07; stroke: var(--teal); stroke-width: 1; stroke-dasharray: 4 4; }
.engineering-sources { font-size: 14px; padding-left: 23px; }
.engineering-sources li { margin: 0 0 12px; }
@media (max-width: 1250px) { .engineering-page .page-layout { grid-template-columns: 165px minmax(0, 1fr); } }
@media (max-width: 950px) { .engineering-page .page-layout { display: block; } }
@media (max-width: 620px) { .engineering-page h1 { font-size: 27px; } .engineering-page .article-tabs { row-gap: 2px; } .engineering-page .article-tabs > div { gap: 12px; } .engineering-table { font-size: 12px; } .engineering-table th, .engineering-table td { padding: 7px 8px; } .engineering-equation { font-size: 12px; padding: 12px; } }
@media print { .engineering-page .page-layout { display: block; } .engineering-diagram { break-inside: avoid; } .diagram-scroll, .table-scroll { overflow: visible; } .engineering-diagram svg { min-width: 0; } .engineering-table { font-size: 10px; } }

.engineering-diagram svg .frame-floor { stroke: var(--muted); stroke-width: 3; }
.engineering-diagram svg .rod { stroke: var(--teal); stroke-width: 2; }
.engineering-diagram svg .rear-wheel { fill: var(--muted); }

.engineering-note { margin: 22px 0; padding: 14px 18px; border-left: 3px solid var(--line); background: var(--panel); }
.engineering-note p { margin: 0 0 9px; }
.engineering-note p[lang="nl"] { font-style: italic; }
.engineering-note .note-translation { font-size: .94em; }
.engineering-note footer { color: var(--muted); font-size: 13px; }
