body {
  font-family: sans-serif;
  font-size: 16pt;
  margin: 54pt 36pt;
}
.center {
  text-align: center;
}
a:link, a:visited {
  color: #c00;
  text-decoration: underline;
}

a:link:hover, a:active {
  color: #f00;
  text-decoration: underline;
}
code, kbd, pre, tt {
  font-family: monospace;
}
dl {
  margin-left: 2em;
}
h2, h3 {
  border-bottom: solid 2px black;
}
h4 {
  border-bottom: solid 1px black;
}
p {
  text-align: justify;
}
span.info {
  background: #ddf;
  border: solid 1px #77c;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  float: right;
  font-size: 80%;
  padding: 2px 10px;
}
h4 span.info {
  padding: 1px 8px;
}
table {
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
  max-width: 90%;
}
table thead th {
  border-bottom: solid 2px black;
  padding: 0 10px;
  text-align: left;
  vertical-align: bottom;
}
table tbody tr:nth-child(even) {
  background: #ddd;
}
table tbody td {
  border-bottom: solid 1px black;
  padding: 4px 10px;
  vertical-align: top;
}
blockquote {
  background: #ddf;
  border-left: solid 2px #77c;
  margin-left: 0;
  margin-right: 0;
  padding: 10px;
}
/* Dark mode overrides */
@media (prefers-color-scheme: dark) {
  body {
    background: black;
    color: #ccc;
  }
  h2, h3, h4, table tbody td, table thead th {
    border-color: #ccc;
  }
  blockquote, span.info {
    background: #337;
    border-color: #66f;
  }
  table tbody tr:nth-child(even) {
    background: #444;
  }
}
