@layer overscan {
ov-table {
  display: flex;
  flex-direction: column;
  min-block-size: 0;
  font-family: var(--ov-font-mono);
  font-size: var(--ov-size-2);
  color: var(--ov-ink);
  border: var(--ov-bezel) solid var(--ov-line-strong);
  background: var(--ov-panel);
}
.ov-table__head {
  display: grid;
  grid-template-columns: repeat(var(--ov-table-cols, 3), minmax(0, 1fr));
  border-block-end: var(--ov-rule) solid var(--ov-line-strong);
  background: var(--ov-raised);
}
.ov-table__h {
  font: inherit;
  letter-spacing: calc(var(--ov-track) + 0.8px);
  text-transform: uppercase;
  font-size: var(--ov-size-1);
  text-align: start;
  background: none;
  border: 0;
  padding: 7px 10px;
  color: var(--ov-dim);
  cursor: pointer;
}
.ov-table__h:hover { color: var(--ov-accent); }
.ov-table__h[aria-sort="ascending"]::after { content: " \2191"; color: var(--ov-accent); }
.ov-table__h[aria-sort="descending"]::after { content: " \2193"; color: var(--ov-accent); }
.ov-table__h:focus-visible { outline: 2px solid var(--ov-accent); outline-offset: -2px; }
.ov-table__scroll { flex: 1 1 auto; min-block-size: 0; overflow: auto; }
.ov-table__pad { position: relative; }
.ov-table__rows { position: absolute; inset-inline: 0; inset-block-start: 0; }
.ov-table__row {
  display: grid;
  grid-template-columns: repeat(var(--ov-table-cols, 3), minmax(0, 1fr));
  block-size: var(--ov-table-row-h, 22px);
  align-items: center;
}
.ov-table__row:nth-child(even) { background: var(--ov-raised); }
.ov-table__cell {
  padding-inline: 10px;
  white-space: nowrap;
  overflow: hidden;
}
.ov-table__cell[data-num] {
  text-align: end;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.ov-table__foot {
  padding: 5px 10px;
  border-block-start: var(--ov-rule) solid var(--ov-line);
  font-size: var(--ov-size-1);
  color: var(--ov-dim);
  text-transform: uppercase;
  letter-spacing: 1px;
}
ov-table[data-ov-aria]::after {
  content: attr(data-ov-aria);
  display: block;
  padding: 5px 10px;
  border-block-start: var(--ov-rule) solid var(--ov-line);
  font-size: var(--ov-size-1);
  line-height: 1.5;
  color: var(--ov-alarm);
}
}
