:where(.table) {
  caption-side: bottom;
  font-size: var(--text-sm);
  inline-size: var(--size-full);
  
  /* Dark mode support */
  .dark & {
    color: #e5e7eb;
  }

  caption {
    color: var(--color-text-subtle);
    margin-block-start: var(--size-4);
  }

  thead {
    color: var(--color-text-subtle);
  }

  tbody tr {
    border-block-start-width: var(--border);
    
    .dark & {
      border-color: #374151;
    }
  }

  tr:hover {
    background-color: rgb(from var(--color-border-light) r g b / .5);
    
    .dark & {
      background-color: rgba(75, 85, 99, 0.5);
    }
  }

  th {
    font-weight: var(--font-medium);
    text-align: start;
  }

  th, td {
    padding: var(--size-2);
  }

  tfoot {
    background-color: rgb(from var(--color-border-light) r g b / .5);
    border-block-start-width: var(--border);
    font-weight: var(--font-medium);
  }
}
