
@font-face {
    font-family: NHaasGrotesk;
    src: url(/assets/fonts/NHaasGroteskTXPro-55Rg.woff);
}

@font-face {
    font-family: NHaasGrotesk;
    src: url(/assets/fonts/NHaasGroteskTXPro-75Bd.woff);
    font-weight: bold;
}

html {
    font-family: "NHaasGrotesk", sans-serif;
    font-size: 100%;

    --color-light: #f2f2f2;
    --color-dark: #121212;
    --color-dark2: #787878;
    --color-accent: #9966ff;
    --color-accent-dark: #2e1f4d;
    --color-accent2: #9966ff;

    color: var(--color-dark);
    background: var(--color-light);
    height: 100%;
    overflow-x: hidden;
}

.fade {
    background: var(--color-dark);
    background: radial-gradient(circle, var(--color-dark2) 20%, black 90%);
    background-attachment: fixed;
}

@media (prefers-color-scheme: dark) {
    html {
        color: #eee;
        background: #333333;
    }
}

body {
    margin: 0;
    padding: 0 2rem;
    height: calc(100vh);
}

p, dl, h1, h2, h3 {
    margin: 0 0 1rem 0;
}

dl {
    dt {
        margin-bottom: 0.25rem;
    }
    dd {
        margin-left: 0;
        margin-bottom: 2rem;
        p {
            margin-bottom: 0.25rem;
        }
    }
}

table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    thead tr {
        background-color: var(--color-accent-dark);
    }
    th {
        text-align: left;
    }
    th, td {
        padding: 0.5rem;
        border: 1px solid var(--color-accent);
    }
}

h1, h2, h3 {
    font-weight: normal;
    letter-spacing: 0.0125rem;
    line-height: 1em;
}

h1 {
    color: var(--color-accent);
    font-size: 4rem;
    font-weight: bold;
    opacity: 0.5;
}

h2 {
    color: var(--color-dark2);
    font-size: 3rem;
}

h3 {
    color: var(--color-light);
    font-size: 2rem;
}

hr {
    margin: 1rem 0;
    border: 1px dashed var(--color-dark2);
}

a {
    color: var(--color-accent);
    text-decoration: none;
    &:hover:not(.current) {
        text-decoration: underline;
    }
}

pre {
    margin: 2rem 0;
    padding: 2rem;
    background-color: black;
    border-radius: 1rem;
    white-space: pre-wrap;
}

time {
    color: var(--color-dark2);
}

container {
    display: flex;
    min-height: 100%;
    width: 58rem;
    margin: auto;
    main, aside {
        padding: 3rem;
    }
    main {
        width: 37rem;
        background: var(--color-dark);
        > :last-child {
            margin-bottom: 0;
        }
    }
    aside {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 14rem;
        background-color: black;
    }
}

footer {
    color: var(--color-dark2);
}

::selection {
    color: var(--color-dark);
    background: var(--color-accent);
}


