table {
  --tab-a-black: #070707bf;
  --tab-a-grey:  #eaeaeabf;
  --tab-a-white: #ffffffbf;
}
table * {
  font-family: monospace;
}
th {
  background-color: var(--tab-a-black);
  color: #fff;
  padding: 0.25ch 0.5ch;
}
tr * {
  text-align: left;
  vertical-align: top;
  padding: 0 0.5ch;
  white-space: nowrap;
}
tr:not(.nohover):nth-child(even) {
  background-color: var(--tab-a-grey);
}
tr:not(.nohover):nth-child(odd) {
  background-color: var(--tab-a-white);
}
tr:not(.nohover):hover td {
  background-color: #f70;
  color: #fff;
}
tr:last-child>td {
  border-bottom: 1px solid #ccc;
}
thead {
  position: sticky; top: 0;
}
caption, figurecaption {
  text-align: left;
  font-size: larger;
  white-space: nowrap;
  padding: 16px 0.5ex;
  margin: 2px;
  background-color: #ddd;
}
figurecaption {
  display: block;
}
figure {
  font-family: monospace;
  margin: 0;
  width: 80ch;
}
.tip {
  position: relative;
  display: inline-block;
}
.tip .tiptext {
  visibility: hidden;
  text-align: center;
  padding: 1ex 0;
  border-radius: 1ex;
  position: absolute;
  z-index: 1;
}
.tip:hover .tiptext {
  visibility: visible
}
