@font-face {
    font-family: "IBM Plex Serif";
    src:
        url("/res/font/ibmplexserif-regular.woff2") format("woff2"),
        url("/res/font/ibmplexserif-regular.ttf") format("ttf");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Serif";
    src:
        url("/res/font/ibmplexserif-italic.woff2") format("woff2"),
        url("/res/font/ibmplexserif-italic.ttf") format("ttf");
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Serif";
    src:
        url("/res/font/ibmplexserif-bold.woff2") format("woff2"),
        url("/res/font/ibmplexserif-bold.ttf") format("ttf");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Serif";
    src:
        url("/res/font/ibmplexserif-bolditalic.woff2") format("woff2"),
        url("/res/font/ibmplexserif-bolditalic.ttf") format("ttf");
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

body {
    font-family: "IBM Plex Serif", serif;
}

.wrapper {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

main {
    margin-top: 2em;
    margin-bottom: 2em;
}

address {
    font-style: normal;
}

header {
    text-align: center;
}

header h1 a {
    color: inherit;
    text-decoration: none;
}

header h1 a:active,
header h1 a:hover {
    text-decoration: underline;
}

table {
    margin-top: 1.618em;
    border-collapse: collapse;
    margin-left: auto;
    margin-right: auto;
}

table,
tr,
td,
th {
    border: 1px solid #aaa;
}

@media (prefers-color-scheme: dark) {
    table,
    tr,
    td,
    th {
        border: 1px solid #555;
    }
}

td,
th {
    padding: 0.25em 0.5em;
    text-align: left;
}
