@font-face {
    font-family: d-mono;
    src: url("/assets/fonts/departure-mono.woff2") format("woff2");
}

html {
    background-color: rgb(15, 15, 15);
    font: 22px d-mono;
    text-rendering: optimizeSpeed;
    color: white;
}

body {
    margin: 0;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

main {
    width: 85vw;
    max-width: 40em;
    margin: 0 round(down, (100vw - round(down, min(85vw, 40em), 1px)) / 2, 1px)
        0; /* necessary for pixel-perfect font! */
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

main > * {
    margin: 0;
}

a {
    color: rgb(255, 255, 255);
}

a:hover {
    color: rgb(184, 184, 184);
}

nav {
    display: flex;
    margin: 4px;
    border: 1px solid white;
}

nav a {
    text-decoration-line: none;
    padding: 3px 6px;
    border: none;
}

h1,
h2 {
    margin-top: 1em;
}

footer {
    font-size: 0.5em;
    padding: 20px 0;
    margin-top: auto;
    width: round(up, 100%, 2px); /* necessary for pixel-perfect font! */
    text-align: center; /* necessary for pixel-perfect font! */
}

section {
    gap: 0.5em;
}

.simulation-container {
    position: relative;
    border: 1px solid white;
    width: 100%;
    aspect-ratio: 1 / 1; /* square */
    background: #0f0f0f;
}

.ui-label {
    position: absolute;
    font-size: 0.5em;
    pointer-events: none;
    user-select: none;
}
