@font-face {
    font-family: "Fraunces";
    src: url("/static/Fraunces-SOFT,WONK,opsz,wght.ttf");
    font-style: normal;
}
@font-face {
    font-family: "Fraunces";
    src: url("/static/Fraunces-Italic-SOFT,WONK,opsz,wght.ttf");
    font-style: italic;
}
@font-face {
    font-family: "Alan Sans";
    src: url("/static/AlanSans-VariableFont_wght.ttf");
    font-style: normal;
}
body {
    background-color: #0a0a0a;
    color: white;
    --blue: rgb(0, 99, 184);
    --blue-dark: rgb(0, 29, 104);
    --blue-light: rgb(30, 179, 255);
    line-height: 1.4;
    font-family: "Alan Sans";
}

main {
    font-size: 1.2rem;
    max-width: 60ch;
    margin: 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Fraunces";
    line-height: 1.2;
}

a {
    color: var(--blue-light);
}

button {
    border: 2px solid var(--blue);
    border-radius: 8px;
    box-shadow: var(--blue) 2px 4px 0px 0px;
    background-color: var(--blue-dark);
    color: white;
    padding: 8px;
    cursor: pointer;
    font-size: 1.2rem;
    > svg {
        display: block;
    }
    &:active {
        box-shadow: none;
    }
}

.center-cool {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 3px solid white;
    background: repeating-linear-gradient(
        -45deg,
        white,
        white 2px,
        transparent 2px,
        transparent 12px
    );
    p5-canvas {
        border-inline: 3px solid white;
        background: #0a0a0a;
    }
}

.code {
    border: 2px solid white;
    border-radius: 8px;
    box-shadow: #444 4px 5px 0px 0px;
    padding: 0;
    margin: 1rem 0;

    pre {
        margin: 0;
    }
}

.code-with-copy {
    display: flex;
    flex-flow: row nowrap;
    gap: 1rem;

    * {
        flex: 1;
        flex-grow: 0;
        flex-shrink: 1;
    }

    .code {
        margin: 0;
        flex-basis: 0;
        flex-grow: 1;
        overflow-x: scroll;
    }
}
