@media (prefers-color-scheme: dark) {
  body {
    background: hsl(0 0 10);
    color:      hsl(0 0 90);
  }
  a:link, a:visited {
    color:    hsl(180 90 60);
  }
}

@media (prefers-color-scheme: light) {
  body {
    background: hsl(0 0 90);
    color:      hsl(0 0 10);
  }
  a:link, a:visited {
    color:    hsl(220 90 40);
  }
}

body {
  max-width: 80em;
  margin: 0 auto;
}

body header {
  border-bottom: 1px solid;
}

body article {
  min-height: 1em;
}

body footer {
  border-top: 1px solid;
  clear: both;
}

body header hgroup {
  text-align: center;
  min-height: 8em;
}

body header img, body footer img {
  max-width: 100%;
}

a:link, a:visited {
  text-decoration: none;
}

body footer table {
  margin: 0 auto;
}

body footer table th {
  text-align: right;
}

body article aside {
  float: right;
  max-width: 23em;
  border-left: 1px dotted;
  margin: 1em;
  padding: 1em;
}

