body {
    margin: 1em auto;
    width: min(80%, 950px);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

h1 {
    text-align: center
}

h2 {
    text-align: center;
    font-size: medium;
    margin-bottom: 0px;
}

ul {
    padding-left: 0.5em;
    display: flex;
    flex-direction: column;
    gap: 0.2em;
}

img {
    display: block;
    margin: 0 auto;
}

img.logo {
    width: 15em;
    mix-blend-mode: multiply;
}

span#arrow {
    vertical-align: 0.1em;
}

#under_title {
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    display: flex;
    justify-content: center;
    gap: 10px;
}

table {
    border-collapse: collapse;
}

th {
    border-top: 1px solid black;
    border-bottom: 2px solid black;
}

th, td {
    padding: 5px;
}

a, a:visited {
    color: #3F51B5;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Dark mode styles */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a;
        color: #e0e0e0;
        border-top: 1px solid #555;
        border-bottom: 1px solid #555;
    }

    th {
        border-top: 1px solid #555;
        border-bottom: 2px solid #555;
    }

    a, a:visited {
        color: #cb9c79;
    }

    img.logo {
        filter: invert(1);
        mix-blend-mode: screen;
    }
}

figure {
    margin: 0 auto;
    overflow: auto;
}

figure img {
    width: max(60%, 400px);
}

figcaption {
    display: none;
}