:root {
  --theme-font: serif;
  --theme-font-heading: var(--theme-font);
  --theme-color-fg: black;
  --theme-color-bg: white;
  --theme-color-accent: black;
  --theme-color-warning: red;
  --theme-color-link: revert;
  --theme-color-link-visited: revert;
  --theme-color-link-local: revert;
  font-family: var(--theme-font);
  font-size: 16pt;
  font-size-adjust: ex-height;
  scrollbar-color: var(--theme-color-fg) var(--theme-color-bg);
  scrollbar-gutter: stable;
  background-color: var(--theme-color-bg);
  color: var(--theme-color-fg);
}

body {
  margin-left: auto;
  margin-right: auto;
  width: 800px;
  max-width: calc(100% - 4rem);
}

footer {
  font-size: smaller;
}

header.page-header {
  border-bottom: 1px solid;
  border-color: var(--theme-color-fg);
}

footer.page-footer {
  border-top: 1px solid;
  border-color: var(--theme-color-fg);
  margin-top: 1em;
  padding-top: 1em;
  text-align: center;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--theme-font-heading);
  font-size: 1.4rem;
}
h1.ridiculous, h2.ridiculous, h3.ridiculous, h4.ridiculous, h5.ridiculous, h6.ridiculous {
  font-size: xx-large;
}

hr {
  border: none;
  border-top: 1px dotted;
  border-color: var(--theme-color-fg);
}

article > h2, section > h2 {
  font-weight: normal;
  font-size: 1.2rem;
}

a.current {
  color: inherit;
}

:any-link {
  text-decoration-thickness: 2px;
  text-decoration-color: var(--theme-color-link);
}

:link,
.link {
  color: var(--theme-color-link);
}

:visited,
.visited {
  color: var(--theme-color-link-visited);
}

:local-link,
:local-link:visited {
  color: var(--theme-color-link-local);
}

.poem {
  text-align: center;
  margin: 40px 0;
}
.poem dd {
  margin: 0;
  text-indent: -4em;
  padding-left: 4em;
}

dl.links {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-rows: auto;
  grid-gap: 2px;
  padding: 2px;
  border: 1px solid;
  border-color: var(--theme-color-fg);
}
dl.links > * {
  margin: 0;
  padding: 8px;
  border: 1px solid;
  border-color: var(--theme-color-fg);
}
dl.links > dt {
  text-align: right;
}
dl.links > dd {
  text-align: left;
}
dl.links > dd p:first-child {
  margin-top: 0;
}
dl.links > dd p:last-child {
  margin-bottom: 0;
}

figure {
  float: right;
  max-width: 33.334%;
  margin: 0.5em 1em;
}
figure > img:first-child,
figure > a:first-child > img {
  width: 100%;
  object-fit: contain;
  object-position: center;
}

aside {
  border: 3px double;
  border-color: var(--theme-color-accent);
  padding: 1em;
}

.warning {
  border-color: var(--theme-color-warning) !important;
}
.divine:hover {
  cursor: default;
  color: green;
}

.new:after {
  content: " *NEW*";
}

@media (min-width: 800px) {
  aside {
    margin: 40px auto;
    max-width: 66%;
  }
}
::-webkit-scrollbar {
  width: 69px;
  height: 420px;
}

::-webkit-scrollbar-track {
  background-image: repeating-linear-gradient(-23deg, #00ff00 0px, transparent 7px), repeating-linear-gradient(45deg, black 0px, #ff00ff 23px);
  border: 7px black dotted;
}

::-webkit-scrollbar-button,
::-webkit-scrollbar-thumb {
  background-image: repeating-linear-gradient(0deg, #ff00ff 0px, #ff00ff 2px, transparent 2px, transparent 4px);
  color: #00ff00;
  border: 14px #00ff00 double;
}