@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

:root {
    color-scheme: dark;

    /* set base font size */
    font-size: 18px;
    /* font families */
    --font-code: 'JetBrains Mono', monospace;
    /* main font colours */
    --font-color-base: #bfc7d2;
    --font-color-grey: #838c9a;
    --font-color-error: #efa041;

    /* colors */
    /* Rear colors */
    --color-background: #0e1116;
    --color-elevated: #121820;
    --color-elevated-border: #272f3e;
    --color-dot: #2e3c51;
    /* forward colors */
    --color-accent-purp: #b17bff;
    --color-accent-blue: #5194e2;
}

@media (prefers-color-scheme: light) {
    :root {
        color-scheme: light;

        /* main font colours */
        --font-color-base: #0e1116;
        --font-color-grey: #838c9a;
        --font-color-error: #efa041;

        /* colors */
        /* Rear colors */
        --color-background: #bfc7d2;
        --color-elevated: #838c9a;
        --color-elevated-border: #2e3c51;
        --color-dot: #272f3e;
        /* forward colors */
        --color-accent-purp: #b17bff;
        --color-accent-blue: #5194e2;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    /* body alignment */
    min-height: 100lvh;
    display: flex;
    align-items: center;
    justify-content: center;

    /* background-color */
    background-color: var(--color-background);
    /* background dots */
    background-image: radial-gradient(
        var(--color-dot) var(--dot-size),
        transparent 0px
    );
    background-size: 200px 200px;
    animation: dotScroll 16s linear infinite;
    --dot-size: 1.4px;
}

@media screen and (max-width: 640px) {
    body {
        --dot-size: 2px;
    }
}
@keyframes dotScroll {
    0% {
        background-position-y: 200px;
    }
    to {
        background-position-y: 0;
    }
}

.title {
    width: max-content;
    font-family: var(--font-code);
    font-size: 32px;
    font-style: italic;
    font-weight: 400;
    /* letter-spacing: 0.6px; */
    color: var(--font-color-base);
}

/* ---- footer ---- */

@media only screen and (max-width: 768px) {
    .footer {
        margin: 2rem 0;
    }
}
