:root {
  color-scheme: light dark;
  --background-color: light-dark(white, color-mix(in oklab, darkslategray, black 50%));
  --text-color: light-dark(black, navajowhite);
}

html {
  font-family: monospace;
  font-size: 11pt;
}

body {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100vh;
  background: var(--background-color);
  color: var(--text-color);
}

header,
main,
footer {
  padding-inline: 1em;
}

header {
  border-bottom: 1px solid var(--text-color);
}

.logo {
  float: left;
  margin-top: 1em;
  margin-right: 1em;
}

h1:has(+ h2) {
  margin-bottom: 0;
}

h1 + h2 {
  margin-top: 0;
}

footer {
  margin-top: auto;
  border-top: 1px solid var(--text-color);
}

h1,
h2,
h3,
h4,
ul {
  margin-block: 0.5em;
}

ul {
  /* normally browsers provide this style but apparently not all? */
  padding-inline-start: 40px;
}

a {
  color: light-dark(blue, #ffc000);

  &:visited {
    color: light-dark(purple, color-mix(in oklab, #ffc000, var(--background-color) 20%));
  }
}

.new::after {
  content: "(new!)";
  display: inline-block;
  margin-left: 0.5em;
  color: light-dark(#af00ff, #c1ffc8);
  font-style: italic;
}