.article-jump-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 24px 0; font-size: 0.9rem; }
.post-body .affiliate-box[id], .post-body h3[id] { scroll-margin-top: var(--article-scroll-offset, 115px); }
.decision-table table { min-width: 0; table-layout: fixed; }
.decision-table caption { padding: 14px 16px; text-align: left; font-weight: 700; }
.decision-table th:first-child { width: 34%; }
.decision-table th, .decision-table td { overflow-wrap: anywhere; }
.decision-table tbody th { background: #f7f8fa; font-weight: 500; }
.capacity-tool { margin: 24px 0; padding: clamp(18px, 4vw, 28px); border: 1px solid var(--line); border-radius: 8px; background: #f7f8fa; }
.capacity-tool h3 { margin-top: 0; }
.capacity-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 20px; }
.capacity-fields label { display: block; margin-bottom: 8px; font-size: 0.9rem; font-weight: 700; }
.capacity-fields input { box-sizing: border-box; width: 100%; min-width: 0; padding: 12px; border: 1px solid #b8bfcd; border-radius: 4px; background: white; color: var(--text); font: inherit; }
.capacity-tool button { cursor: pointer; font: inherit; }
.capacity-result { padding: 18px 0 0; font-size: 1.1rem; font-weight: 700; }
.capacity-note { font-size: 0.85rem; color: var(--muted); }
.capacity-tool[hidden], .capacity-result[hidden] { display: none; }
@media (max-width: 600px) {
  .post-body .affiliate-box[id], .post-body h3[id] { scroll-margin-top: 170px; }
  .capacity-fields { grid-template-columns: 1fr; }
  .decision-table th, .decision-table td { padding: 12px 10px; font-size: 0.9rem; }
}
