/* Site-level overrides on top of the bloom template (style.css is untouched).
   1. Table styles for markdown tables inside articles (same values as .compare-table).
   2. Contrast lifts where the template colour fails 4.5:1 for small text.
   3. Measure: body lines in articles held to about 70 characters. */
.prose table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.92rem; margin: 24px 0; font-variant-numeric: tabular-nums; }
.prose th, .prose td { border-bottom: 1px solid var(--line); padding: 12px 16px; text-align: left; vertical-align: top; }
.prose th { font-family: var(--font-head); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--violet); background: var(--bg-soft); }
.prose tr td:first-child { font-weight: 600; }
.prose tr:nth-child(even) td { background: #fcfbff; }
.article-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) { .prose table { min-width: 520px; } }

.pill.pick, .tip-box .t-label { color: #be123c; }
.pill.value { color: #0f766e; }
.related-note { color: #a59eb5; }
.prose p, .prose li { max-width: 70ch; }
.r-body h3 .pill { white-space: normal; max-width: 100%; line-height: 1.3; margin-top: 4px; }
@media (max-width: 720px) {
  .topbar-inner { flex-wrap: wrap; gap: 6px 12px; padding-top: 10px; padding-bottom: 10px; }
  .topnav { display: flex; flex-wrap: wrap; gap: 4px; font-size: 0.82rem; }
  .topnav a { padding: 5px 10px; }
}
@media (max-width: 480px) { .hero-meta > span:nth-child(even) { display: none; } }
