.tp-hero {
  padding-block: clamp(44px, 4.8vw, 72px) clamp(36px, 3.8vw, 56px);
}

.tp-hero__inner {
  display: block;
}

.tp-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line-2);
  border-radius: var(--r-md);
  background: var(--surface);
}

.tp-table-wrap:focus-visible {
  outline: 2px solid var(--violet-bright);
  outline-offset: 3px;
  border-radius: var(--r-md);
}

.tp-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 14px;
}

.tp-table caption {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line-2);
  color: var(--fg-3);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-align: left;
}

.tp-table th,
.tp-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.tp-table th:last-child,
.tp-table td:last-child {
  border-right: 0;
}

.tp-table thead th {
  background: var(--surface-2);
  color: var(--fg-3);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.tp-table tbody td {
  color: var(--fg-2);
}

.tp-table tbody tr:last-child td {
  border-bottom: 0;
}

.tp-num {
  font-variant-numeric: tabular-nums;
  color: var(--fg);
}

.tp-code {
  padding: 1px 6px;
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--fg);
  font-family: var(--font-mono);
  font-size: .88em;
  overflow-wrap: anywhere;
}

.tp-url {
  font-family: var(--font-mono);
  font-size: 12.5px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tp-list {
  margin: 10px 0 0;
  padding-left: 1.2em;
  max-width: 80ch;
}

.tp-list > li + li {
  margin-top: 8px;
}
