html {
  width: 100%;
  --fg-color: black;
  --bg-color: white;
}

* {
  box-sizing: border-box;
}

body {
  width: 100%;
  margin: 0;
  color: var(--fg-color);
  background-color: var(--bg-color);
}

.mono {
  font-family: monospace;
}

a.mono-link,
.mono-link a,
.mono-link .fake-link {
  font-family: monospace;
}

div.mono-container {
  font-family: monospace;
  margin-block: 1rem;
}

table  {
  --border-color: black;

  border-collapse: collapse;

  &, :is(td,th) {
    padding: 0.4em;
    border: 1px solid var(--border-color);
  }
}

.toast {
  font-size: large;
  font-family: monospace;
  color: var(--bg-color);
  background-color: var(--fg-color);
  padding: 0.5em 0.3em;
  border-radius: 6px;

  position: fixed;
  z-index: 1;
  top: 4px;
  left: 50vw;
  transform: translateX(-50%);
}

.chroma {
  overflow-x: scroll;
  padding-left: 1px;
  padding-right: 4px;
  border-radius: 3px;
}

nav {
  font-size: large;
}

#slogan {
  color: white;
  width: 100%;
  padding: 0.5em 1em;
  text-align: center;
  background-color: dodgerblue;
  user-select: none;

  & > * {
    user-select: text;
  }
}

#main-article {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  max-width: 880px;
  padding: 0 1em;
  margin-top: 1em;
}

#license a {
  font-family: initial;
  text-decoration: none;
}

#license-text {
  font-family: monospace;
  text-decoration: initial;
}

#license-img-container img {
  height: 1em;
  vertical-align: middle;
}

.link-group {
  margin-block-end: 1em;

  > .link-group-title {
    font-size: 1.1em;
    margin-block-end: 5px;
  }

  > .link-group-list {
    border-inline-start: solid 1px hsl(0, 0%, 25%);
    padding-inline-start: 8px;

    > .link-group-item::before {
      content: "- ";
    }
  }
}

html[data-theme="dark"] {
  --fg-color: white;
  --bg-color: black;

  & a:link {
    color:#34ffd9;
  }

  & a:visited {
    color:#abcac4;
  }

  & #slogan {
    color: var(--fg-color);
    background-color: midnightblue;
  }

  & :is(.chroma,.chroma *) {
    background-color: hsl(0, 0%, 1.5%);

    & .n {
      color: var(--fg-color);
    }
  }

  table  {
    --border-color: hsl(0, 0%, 25%);
  }
}