html {
  font-size: medium;
}

body {
  margin: 1rem;
  padding: 0 0 1rem;
  font-family: 'atkinson hyperlegible', -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'segoe ui', 'helvetica neue', noto, 'noto sans', roboto, cantarell, ubuntu, helvetica, arial, sans-serif;
  font-size: 1rem;
  line-height: 1.62;
  background: ghostwhite;
  color: #16161D;
}

pre, code, time {
  font-family: menlo, monaco, 'noto mono', 'noto sans mono', 'cascadia code', consolas, 'liberation mono', 'lucida console', monospace;
}

hr {
  margin: 1rem 0;
  border: 1px solid #16161D;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

figure > pre {
  background: aliceblue;
  padding: .5rem;
}

h1, h2, h3, summary {
  line-height: 1.2;
}

img, video {
  max-width: 100%;
  height: auto;
  border: 2px solid #16161D;
  box-shadow: 5px 5px 2px rgba(22, 22, 29, .3);
}

summary {
  margin: 1rem 0;
  cursor: pointer;
}

dt, figcaption, summary, caption, th, time, code {
  font-weight: bold;
}

header > h1 {
  margin: 1rem 0;
}

header > p {
  margin: 0;
  font-weight: bold;
  font-style: italic;
}

figure {
  margin: 1rem 0 !important;
}

blockquote {
  border-left: 4px solid #16161D;
  padding-left: 1rem;
}

blockquote, .serif-font {
  font-family: 'iowan old style', 'apple garamond', baskerville, 'times new roman', 'droid serif', times, 'source serif pro', serif, 'apple color emoji', 'segoe ui emoji', 'segoe ui symbol';
}

a {
  color: blue;
  text-underline-offset: .35rem;
}

small > a {
  text-underline-offset: .3rem;
}

a:focus {
  color: red;
  outline: red;
}

a:hover, a:visited:hover {
  color: green;
}

a:active {
  color: skyblue;
}

a:visited {
  color: purple;
}

details {
  margin: 1.5rem 0;
}

details[open] > summary {
  padding-bottom: 1rem;
  border-bottom: 2px solid #16161D;
}

table {
  margin: 1rem 0;
  border-collapse: collapse;
}

td, th {
  border: 2px solid #16161D;
  text-align: left;
  vertical-align: top;
  padding: 0.5rem;
}

th {
  background-color: aliceblue;
}

tr:nth-child(even) > td {
  background-color: aliceblue;
}

table caption {
  text-align: left;
  margin: 0.5rem 0;
}

li {
  margin: .2rem 0;
}

[aria-current='page'] {
  font-weight: bold;
}

[aria-current='page']::after {
  content: "  (current page)";
}

@media only screen and (pointer: fine)
{
  html {
    font-size: large;
    background: aliceblue;
  }

  body {
    max-width: 66ch;
    margin: 1rem auto 2rem;
    padding: .25rem 2.5rem 1rem;
    border: 4px solid #16161D;
    box-shadow: 10px 10px 2px rgba(22, 22, 29, .3);
  }
}

@media print {
  html {
    background: white;
  }

  body {
    background: white;
    color: black;
	max-width: none;
    font-size: 12px;
    font-family: serif;
  }

  * {
    color: white;
    box-shadow: none !important;
  }
}
