:root {
    --bg: hsl(199, 33%, 15%);
    --text: hsl(200, 23%, 72%);
    --primary: hsl(178, 60%, 48%);
    --accent: hsl(39, 88%, 58%);
    --secondary: hsl(200, 35%, 19%);
    --gray: hsl(200, 23%, 72%);
    --shadow: 0 0.2em 0 0 hsla(208, 35%, 7%, 0.5);
}

body {
    font-size: 1.5rem;
    font-family: monospace;
    color: var(--text);
    background-color: hsl(198, 14%, 14%);
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 50vh;
    margin: 0;
}

input[type='number'] {
    width: 30rem;
    font: inherit;
    padding: 0.5em 0.7em;
    font-size: 2rem;
    background-color: var(--bg);
    border: 1px solid var(--secondary);
    border-radius: 0.3em;
    box-shadow: var(--shadow);
    transform: translateY(-0.8em);
}

input[type='number']:focus {
    box-shadow: none;
    transform: translateY(-0.5em);
    outline: 1px solid transparent;
    border-color: var(--primary);
}

input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.results {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;

    & span {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        width: 2.5rem;
        aspect-ratio: 1 / 1;
        padding: 0.5em;
        background-color: var(--secondary);
        border-radius: 0.25em;
        box-shadow: var(--shadow);

        &.true {
            background-color: var(--primary);
            color: var(--bg);
        }
    }
}