:root {
  --bgColor: 0, 0%, 10%;
  --fgColor: 0, 0%, 90%;
  --hlColor: 100, 100%, 50%;
  --baseSize: 1.1rem;
  --fonts: 'Courier New', Courier, monospace;
}
@media screen and (prefers-color-scheme: light) {
  :root {
    --fgColor: 0, 0%, 10%;
    --bgColor: 0, 0%, 90%;
    --hlColor: 225, 100%, 50%;
  }
}
*::selection {
  background-color: hsl(var(--fgColor));
  color: hsl(var(--bgColor));
}
body {
  background-color: hsl(var(--bgColor));
  color: hsl(var(--fgColor));
  font-family: var(--fonts);
  margin: 1rem;
  font-weight: 400;
  font-size: 100%;
}
code {
  font-family: var(--fonts);
  font-weight: 600;
}
header,
main,
footer {
  max-width: 680px;
}
footer, nav {
  margin: calc(var(--baseSize) * 2) 0;
}
/* body > footer p:last-of-type {
  font-size: calc(var(--baseSize) * 0.75)
} */
h1, h2, h3, h4 {
  font-weight: 700;
}
h1, h2, h3, h4, p, li {
  font-size: var(--baseSize);
  line-height: 125%;
}
p {
  white-space: pre-wrap;
  word-wrap: break-word;
  text-align: justify;
}
/* h2 ~ p, h2 ~ ul {
  margin-left: 1.25rem;
} */
ul, ol {
  /* margin-left: 1.25rem; */
  padding-left: 1.25rem;
}
ol {
  margin-left: 1rem;
}
ul li {
  list-style-type: '- ';
}
blockquote {
  margin: 0;
  padding: 0 1.25rem;
  /* margin-right: 0;
  padding-right: 0; */
}
/* hr ~ blockquote {
  border-left: 2px solid hsl(var(--fgColor));
} */
hr {
  height: 2px;
  background-color: hsl(var(--fgColor));
  border: none;
}
blockquote > hr {
  background-color: hsl(var(--fgColor), 50%);
}
a {
  color: hsl(var(--fgColor));
  text-decoration: underline;
}
a svg {
  margin-left: calc(var(--baseSize) / 4);
  height: var(--baseSize);
  width: auto;
  fill: hsl(var(--fgColor));
}
a::selection {
  background-color: hsl(var(--hlColor));
  color: hsl(var(--bgColor));
}
a:focus,
a:hover {
  color: hsl(var(--hlColor));
}
a:focus svg,
a:hover svg {
  fill: hsl(var(--hlColor));
}
a:focus {
  outline: none;
  border-bottom: 1px solid hsl(var(--hlColor));
}
header img {
  width: 80px;
  height: 80px;
  border-radius: 50% 20%/10% 40%;
}
article img {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}
abbr {
  cursor: help;
}
th, td {
  text-align: left;
  vertical-align: top;
}