.table {
  --table-border: max(1px, 0.05em) solid oklch(var(--oklch-ink) / 0.1);
  --table-padding: 4em;

  display: grid;
  gap: var(--space-large);
  margin-inline: auto;
  width: min(100%, 64em);
}

.table__note {
  display: grid;
  gap: var(--space-neutral);
  text-align: center;
}

.table__note p {
  font-size: var(--font-size-medium);
  letter-spacing: var(--letter-spacing);
  margin-bottom: -0.4em;
  margin-top: -0.5375em;
  text-wrap: balance
}

.table__container {
  background: var(--color-white);
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow);
  display: grid;
  gap: var(--table-padding);
  padding: var(--table-padding);
}

.table h2 {
  font-size: var(--font-size-xx-large);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-tight);
  line-height: var(--line-height-x-tight);
  margin-block: -0.2125em;
}

.table table {
  border-collapse: separate;
  margin-top: calc(-1 * (var(--table-padding) / 2));
  table-layout: fixed;
  width: 100%;
}

.table table th,
.table table td {
  font-size: var(--font-size-medium);
  letter-spacing: var(--letter-spacing);
  padding-block: 0.7em;
  padding-right: 1em;
  vertical-align: middle;
}

.table table th {
  font-weight: 600;
  padding-top: 0;
  text-align: left;
}

.table table td {
  border-top: var(--table-border);
}

.table table tr:last-child td {
  padding-bottom: 0;
}

.table table td kbd {
  background: oklch(var(--oklch-ink) / 0.05);
  border: max(1px, 0.05em) solid oklch(var(--oklch-ink) / 0.1);
  border-radius: calc(var(--border-radius) / 3);
  font-family: var(--font-family-berkeley);
  font-feature-settings: normal;
  font-size: inherit;
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  padding-block: 0.0875em;
  padding-inline: 0.3125em;
  word-break: break-word;
}



@media(prefers-color-scheme: dark) {

  .table {
    --table-border: max(1px, 0.05em) solid oklch(var(--oklch-slate-1) / 0.6);
  }

  .table__container {
    background: var(--color-slate-3);
  }

}
