/* Table styles — appended globally, safe: scoped to .prose tables & bare tables inside article content */
.prose table,
article table,
main table:not([class]) {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-lg, 24px) 0;
  font-size: 15px;
  background: var(--color-surface-card, #FFFFFF);
  border: 1px solid var(--color-hairline, #E4E0D8);
  border-radius: var(--radius-md, 12px);
  overflow: hidden;
  display: table;
}

.prose table th,
article table th,
main table:not([class]) th {
  background: var(--color-primary, #1B2A3D);
  color: var(--color-on-primary, #FFFFFF);
  font-family: var(--font-display, "Manrope", sans-serif);
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  line-height: 1.4;
}

.prose table td,
article table td,
main table:not([class]) td {
  padding: 11px 16px;
  border-top: 1px solid var(--color-hairline-soft, #EFECE5);
  vertical-align: top;
  line-height: 1.55;
  color: var(--color-body, #3E4C5A);
}

.prose table tbody tr:nth-child(even),
article table tbody tr:nth-child(even),
main table:not([class]) tbody tr:nth-child(even) {
  background: var(--color-canvas, #FAF8F4);
}

.prose table tbody tr:hover,
article table tbody tr:hover,
main table:not([class]) tbody tr:hover {
  background: var(--color-surface-soft, #F3F0E9);
}

/* Mobile: allow horizontal scroll instead of squashing */
@media (max-width: 640px) {
  .prose table,
  article table,
  main table:not([class]) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
