body {
    background-color: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-sans);
    transition: background-color 300ms;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
}

a {
    color: var(--color-link);
    text-decoration: unset;
}

a:hover {
    text-decoration: underline;
}

footer {
  background-color: var(--color-background-deemphasized);
  color: var(--color-text-deemphasized);
  font-size: 0.8em;
  border-top: 1px solid var(--color-border-deemphasized);
  box-shadow: 0px 0px 0.5em rgba(0,0,0,0.25);
}

ul {
    padding-inline-start: 1em;
}

.preload {
  transition: none !important;
}

.hidden {
  display: none;
}

pre {
  background-color: var(--color-background-shade);
  font-size: 0.8em;
  padding: 1em;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
  border: 1px solid var(--color-border-deemphasized);
  border-radius: 3px;
}