:root {
    --bg: hsl(215, 15%, 8%);
    --fg: hsl(0, 0%, 95%);
    --link: hsl(215, 100%, 65%);
    --button-hover-color: hsla(0, 0%, 100%, 20%);
}

@media (prefers-color-scheme: dark) {
    * {
        /* Scrollbars and other native UI */
        color-scheme: dark;
    }
}

html {
    /* Prevent font scaling in landscape while allowing user zoom */
    -webkit-text-size-adjust: 100%;

    /* Hide scrollbars */
    overflow: hidden;
}

body {
    margin: 0;
    font-family: system-ui, sans-serif;
    line-height: 140%;
    font-size: 1.5em;
    background-color: var(--bg);
    color: var(--fg);
    display: flex;
    justify-content: center;
}

input {
    /* Prevent iOS zoom on focus */
    font-size: 16px;
}

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

a:hover {
    text-decoration: underline;
}

.hidden {
    display: none !important;
}

#full-screen-button {
    border: none;
    background: transparent;
    display: flex;
    font-size: 0.75em;
    padding: 0.5em;
    border-radius: 0.5em;
    position: fixed;
    right: 0;
    top: 0;
    color: white;
}

#full-screen-button:hover {
    background-color: var(--button-hover-color);
}

#canvas-container {
    margin: 0;
}

canvas {
    width: 100%;
    height: 100%;
}