table.data {
  margin: 0 auto; /*center the table*/
  margin-bottom: 1em;
  width: 100%;
}
table.data caption {
  font: 0.9em Vollkorn, serif;
  line-height: calc(0.9em * 1.5);
  padding-bottom: 1ch;
  padding-left: 1ch; /*same as FIGCAPTION*/
  padding-right: 1ch; /*same as FIGCAPTION*/
  text-align: center;
}
table.data thead {
  inset-block-start: 0;
  position: sticky;
}
table.data thead tr th[colspan], table.data tbody tr th[rowspan], table.data tfoot tr th { background-color: rgb(171, 205, 239) } /*Pale Cornflower Blue*/
table.data thead tr:last-of-type th, table.data tbody tr th { background-color: #E9EFFF }
table.data thead tr th[colspan] { white-space: nowrap } /*column headings*/
table.data thead tr th { font-weight: normal }
table.data tr td, table.data tr th { padding: 0.5em }
table.data tbody tr th[rowspan] { vertical-align: middle }
table.data tbody tr th {
  font-weight: normal;
  text-align: center;
}
table.data tbody tr:first-of-type td { padding-top: 1em } /*double*/
table.data tbody tr td { /*where the data goes*/
  cursor: cell;
  font-family: Inconsolata, monospace;
  letter-spacing: 0.062em;
  text-align: center;
  vertical-align: middle;
}
section table.data { width: 50% }
aside table.data tbody tr td { background-color: ghostwhite }
table.data tbody tr .integer { /*TD*/
  border-right: 0;
  padding-right: 0;
  text-align: right;
}
table.data tbody tr .decimal { /*TD*/
  border-left: 0;
  padding-left: 0;
  text-align: left;
}
table.data tfoot tr th {
  font: 0.9em Vollkorn, serif;
  font-weight: normal; /*seems to be necessary*/
  padding: 1em; /*data source*/
  text-align: left;
}
table.data tfoot tr th cite {
  font-style: normal; /*seems to be necessary*/
  text-decoration: underline;
  text-decoration-color: rgba(255, 69, 0, calc(1.0 / 3)); /*orangered*/
  text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.25em;
}
table.data tfoot tr th cite:hover {
  background-image: linear-gradient(transparent, lightgoldenrodyellow);
  cursor: help;
  text-decoration-color: darkorange; /*looks better*/
  text-decoration-skip-ink: auto; /*looks better*/
  text-decoration-style: solid; /*looks better*/
}

@media only screen and (max-width: 600px) { /*ruler breakpoint*/
  section table.data { width: 100% } /*full-width*/
  table.data tfoot tr th cite { /*copy to PRINT.CSS*/
    pointer-events: none; /*prevent TITLE from showing on hover*/ /*does not keep text cursor*/
    text-decoration: none;
  }
}