:root {
    color-scheme: dark light;
    --ui-color-background-dark: 19, 19, 19;
    --ui-color-background-light: 242, 242, 242;
    --ui-color-foreground-dark: 242, 242, 242;
    --ui-color-foreground-light: 0, 0, 0;

    --ui-color-grayscale-0: #191919;
    --ui-color-grayscale-1: #282828;
    --ui-color-grayscale-2: #303030;
    --ui-color-grayscale-3: #353535;
    --ui-color-grayscale-4: #404040;
    --ui-color-grayscale-5: #454545;
    --ui-color-grayscale-6: gray;
    --ui-color-grayscale-7: darkgray;
    --ui-color-grayscale-8: lightgray;
    --ui-color-grayscale-9: gainsboro;

    --ui-color-background: var(--ui-color-background-light);
    --ui-color-foreground: var(--ui-color-foreground-light);
    --ui-color-frame-background: light-dark(var(--ui-color-grayscale-8), var(--ui-color-grayscale-1));
    --ui-color-frame-border: light-dark(var(--ui-color-grayscale-7), var(--ui-color-grayscale-5));
}

@media (prefers-color-scheme: dark) {
    :root {
        --ui-color-background: var(--ui-color-background-dark);
        --ui-color-foreground: var(--ui-color-foreground-dark);
    }
}

* {
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    font-family: 'Bahnschrift', -apple-system, BlinkMacSystemFont, 'Noto Sans', sans-serif;
    user-select: none;
    -moz-osx-font-smoothing: grayscale;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
}

a:link,
a:visited {
    color: rgb(var(--ui-color-foreground));
    text-decoration: none;
    
}

span.interact:hover,
a:not(.button):hover,
a:not(.button):active {
    color: rgb(var(--ui-color-foreground));
    cursor: pointer;
    text-decoration: underline;
}

button,
a.button {
    transition: transform 0.1s ease-in-out;
}

button:hover,
a.button:hover {
    cursor: pointer;
    transform: scale(1.025);
}

img {
    pointer-events: none;
}

p {
    font-weight: 400;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html, body {
    background-color: rgb(var(--ui-color-background));
    height: 100%;
}

body {
    align-items: center;
    color: rgb(var(--ui-color-foreground));  
    margin: 0 auto;
    min-width: 600px;
    text-align: center;
}

body, main {
    display: flex;
    flex-direction: column;
}

body, nav {
    width: 100%;
}

nav {
    background-color: royalblue;
    color: rgb(var(--ui-color-foreground-dark));
    font-size: 1.25rem;
    padding: 0.75rem;
}

nav > ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
}

main {
    background: var(--ui-color-frame-background);
    border: 3px solid var(--ui-color-frame-border);
    margin-top: 25px;
    max-width: 1200px;
    min-width: 550px;
    width: 90%;
}