body {
  --background-color: #f5f5f5;
  --text-color: #1e1e1e;
  --link-color: #204e8a;
  --link-visited-color: #555;
  --header-background-color: var(--background-color);
  --header-border-color: var(--text-color);
  --header-link-color: var(--text-color);

  --footer-background-color: var(--background-color);
  --footer-link-color: var(--text-color);

  --article-background-color: var(--background-color);
  --article-title-color: var(--text-color);
  --article-visited-color: var(--link-visited-color);

  --table-alt-background-color: #ccc;
  --table-header-background: var(--text-color);
  --table-header-color: var(--background-color);

  color: var(--text-color);
  background-color: var(--background-color);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

a {
  color: var(--link-color);
}

article {
  max-width: 800px;
  margin: auto;
  padding: 1rem;
}

article img {
  max-width: 100%;
  margin: auto;
  height: 360px;
  width: 640px;
  aspect-ratio: 16/9;
  object-fit: cover;
}

table {
  max-width: 100%;
  margin: auto;
  border-collapse: collapse;
  position: relative;
}
table th {
  background-color: var(--table-header-background);
  color: var(--table-header-color);
  position: sticky;
  top: 0; /* required for stickiness */
}
table tr:nth-child(2n) {
  background-color: var(--table-alt-background-color);
}
table tr td:first-child {
  padding-left: 1rem;
}
table tr td {
  padding: 0.5rem 0;
}

/* Dark Theme */
@media (prefers-color-scheme: dark) {
  body {
    --background-color: #1e1e1e;
    --text-color: #f5f5f5;
    --link-color: #75bfff;
    --table-header-background: #666;
    --table-header-color: #f5f5f5;
    --table-alt-background-color: #333;
  }
  strong {
    --text-color: #fff;
  }
}
