body {
  font-family: monospace;
  font-size: 18px;
  padding: 50px;
  line-height: 1.5em;
  background-color: #f6f6f6;
  color: #333;
}

h1, h2, h3 {
  font-size: 1em;
  margin: 1em 0;
}

h3 {
  color: #aaa;
}

a {
  color: #00a;
}

hr {
  border: 0;
  border-top: 2px solid #ddd;
}

ul {
  list-style: none;
  margin-left: 2ch;
  padding: 0;
  text-indent: -2ch;

  li {
    &::before {
      color: #aaa;
      content: '∗';
      float: left;
      margin-right: 2ch;
    }

    p {
      text-indent: 0;

      &:first-child {
        text-indent: -2ch;
      }
    }

    blockquote {
      p:first-child {
        text-indent: 0;
      }

      pre {
        text-indent: 0;
      }
    }
  }
}

ol {
  margin-left: 3ch;
  padding: 0;
}

blockquote {
  border-left: 1ch solid #ddd;
  font-style: italic;
  margin: 0;
  padding-left: 1ch;
}

header, #content, footer {
  max-width: 800px;
}

footer {
  text-align: center;

  hr {
    margin-bottom: 12px;
  }
}

sup {
  line-height: 0;
  font-size: 0.8em;
}

figure {
  margin: 0;
}

code {
  background-color: #ddd;
  padding: 1px 1ch;
  border-radius: 3px;
}

.nowrap {
  white-space: nowrap;
}

.image-set {
  display: flex;
  gap: 1em;
  margin-block-start: 1em;
  margin-block-end: 1em;

  figure {
    line-height: 0;
  }

  img {
    width: 100%;
    height: auto;
  }
}

.references, .footnotes {
  font-size: 0.8em;

  h3 {
    margin-bottom: 0;
  }

  ul {
    margin-top: 0.5em;
  }
}
