html {
    font-size: 17px;
    color-scheme: light dark;
}

body {
    margin: 0;
    background: #fff;
    color: #000;
    font-family: "Courier New", Courier, monospace;
    line-height: 1.45;
}

@media (prefers-color-scheme: dark) {
    body {
        background: #0e0e0e;
        color: #d4d4d4;
    }

    .tagline {
        color: #666;
    }

    a {
        color: #7eb3f5;
    }

    a::before,
    a::after {
        color: #d4d4d4;
    }

    a:visited {
        color: #b58fd8;
    }

    a:hover,
    a:focus-visible {
        background: #d4d4d4;
        color: #0e0e0e;
    }

    a:hover::before,
    a:hover::after,
    a:focus-visible::before,
    a:focus-visible::after {
        color: #0e0e0e;
    }
}

[data-theme="dark"] body {
    background: #0e0e0e;
    color: #d4d4d4;
}

[data-theme="dark"] .tagline {
    color: #666;
}

[data-theme="dark"] a {
    color: #7eb3f5;
}

[data-theme="dark"] a::before,
[data-theme="dark"] a::after {
    color: #d4d4d4;
}

[data-theme="dark"] a:visited {
    color: #b58fd8;
}

[data-theme="dark"] a:hover,
[data-theme="dark"] a:focus-visible {
    background: #d4d4d4;
    color: #0e0e0e;
}

[data-theme="dark"] a:hover::before,
[data-theme="dark"] a:hover::after,
[data-theme="dark"] a:focus-visible::before,
[data-theme="dark"] a:focus-visible::after {
    color: #0e0e0e;
}

[data-theme="light"] body {
    background: #fff;
    color: #000;
}

[data-theme="light"] .tagline {
    color: #888;
}

[data-theme="light"] a {
    color: #00e;
}

[data-theme="light"] a::before,
[data-theme="light"] a::after {
    color: #000;
}

[data-theme="light"] a:visited {
    color: #551a8b;
}

[data-theme="light"] a:hover,
[data-theme="light"] a:focus-visible {
    background: #000;
    color: #fff;
}

[data-theme="light"] a:hover::before,
[data-theme="light"] a:hover::after,
[data-theme="light"] a:focus-visible::before,
[data-theme="light"] a:focus-visible::after {
    color: #fff;
}

#theme-toggle {
    background: none;
    border: none;
    padding: 0;
    margin-left: 1rem;
    font: inherit;
    cursor: pointer;
    color: inherit;
}

#theme-toggle::before {
    content: "[";
    color: inherit;
    opacity: 0.5;
}

#theme-toggle::after {
    content: "]";
    color: inherit;
    opacity: 0.5;
}

#theme-toggle:hover {
    background: #000;
    color: #fff;
}

[data-theme="dark"] #theme-toggle:hover {
    background: #d4d4d4;
    color: #0e0e0e;
}

main {
    max-width: 72ch;
    margin: 3rem 0 2rem 2rem;
    padding-right: 1rem;
}

header,
section,
nav {
    margin-bottom: 1.6rem;
}

header img {
    float: left;
    width: 30%;
    height: auto;
    margin: 0 1rem 0.5rem 0;
}

h1 {
    margin: 0 0 0.2rem;
    font-size: 1.8rem;
    font-weight: 500;
}

.tagline {
    margin: 0;
    color: #888;
    font-size: 0.9rem;
}

p {
    margin: 0 0 1rem;
}

nav {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

a {
    color: #00e;
    text-decoration: none;
}

a::before {
    content: "[";
    color: #000;
}

a::after {
    content: "]";
    color: #000;
}

a:visited {
    color: #551a8b;
}

a:hover,
a:focus-visible {
    background: #000;
    color: #fff;
    outline: 0;
}

a:hover::before,
a:hover::after,
a:focus-visible::before,
a:focus-visible::after {
    color: #fff;
}

footer {
    margin-top: 3rem;
    font-size: 0.82rem;
}

@media (max-width: 640px) {
    main {
        margin: 1rem 0 2rem 1rem;
    }
}
