:root.light {
    --background-color: #e8e8e8;
    --background-color-2: #e0e0e0;
    --background-color-3: #d1d1d1;
    --text-color: #1c1c1c;
    --link-color: #236936;
    --code-color: #e02929;
}

:root.dark {
    --background-color: #1c1c1c;
    --background-color-2: #222222;
    --background-color-3: #2b2b2b;
    --text-color: #e8e8e8;
    --link-color: #46d169;
    --code-color: #ff2f2f;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
    font-family: "IBM Plex Sans", sans-serif;
    max-width: 50ch;
    margin: 0 auto;
    padding: 0 1em;
    padding-bottom: 1em;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Cormorant Garamond";
    font-weight: 700;
}

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

hr {
    max-width: 60ch;
}

code {
    font-family: "IBM Plex Mono", monospace;
}

.stats-table {
    background-color: var(--background-color-2);
    width: 100%;
    border-collapse: collapse;
}

.stats-table th {
    text-align: start;
    border: 1px solid var(--background-color-3);
    padding: 0.5em;
}

.stats-table td {
    font-family: "IBM Plex Mono";
    text-align: end;
    border: 1px solid var(--background-color-3);
    padding: 0.5em;
}

.page-header {
    text-align: center;
    max-width: 50ch;
    margin: 0 auto;
}

.page-header div {
    background-color: var(--background-color-2);
    margin: 0.25em auto;
    padding: 0.25em;
}

.page-header a:not(:last-child) {
    padding-right: 0.25em;
}

.page-header-selected {
    text-decoration: underline !important;
}

.basic-table {
    background-color: var(--background-color-2);
    width: 100%;
    border-collapse: collapse;
}

.basic-table th {
    text-align: center;
    border: 1px solid var(--background-color-3);
    padding: 0.5em;
}

.basic-table td {
    font-family: "IBM Plex Sans";
    text-align: start;
    border: 1px solid var(--background-color-3);
    padding: 0.25em;
}
