@mixin prose {
  --tw-prose-table-border-color: var(--tw-prose-td-borders);
  --tw-prose-table-border-width: 1px;

  :where(table) caption {
    @apply caption-top mb-2 text-sm;
  }

  :where(table):not(:where([class~="not-wysiwyg"] *)) {
    border-width: var(--tw-prose-table-border-width, 0);
    border-color: var(--tw-prose-table-border-color, transparent);
    border-collapse: collapse;
  }

  :where(th) {
    @apply font-bold;
  }

  :where(table td, table th) {
    padding: 0.85em;
    border-width: var(--tw-prose-table-border-width, 0);
    border-color: var(--tw-prose-table-border-color, transparent);
  }

  :where(thead th, tbody th):not(:where([class~="not-wysiwyg"] *)) {
    background-color: var(
      --tw-prose-table-heading-bg,
      theme("colors.gray.100")
    );
    color: var(--tw-prose-table-heading-color, var(--tw-prose-headings));
  }
}
