:root {
    --muted: #64748b;
    --accent-light: #7d5cff95;
    --accent: #7c5cff;
    color-scheme: light;
    --my-font-size: calc(16px + 0.6rem);
    --muted-font-size: calc(16px + 0.1rem);
    --my-font-size-720plus: calc(16px + 0.7rem);
    --muted-font-size-720plus: calc(16px + 0.1rem);
    --my-font-size-1100plus: calc(16px + 1rem);
    --muted-font-size-1100plus: calc(16px + 0.1rem);
}

@font-face {
    font-family: "Alex Brush";
    src: url("../fonts/subsetAlexBrush.woff2") format("woff2");
    font-display: swap;
}

.topbar {
    font-family: "Alex Brush", serif;
    font-weight: 600;
    font-size: 1.9rem;
    transform-origin: left center;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    color: #0f1724;
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.logo-title {
    color: black;
    text-decoration: none;
}

.logo-title:hover {
    color: var(--accent);
}

.topbar__nav {
    position: absolute;
    right: 20px;
    font-weight: normal;
    color: var(--muted);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

.navlink {
    color: var(--muted);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all var(--transition);
    font-size: 20px
}

.navlink:hover {
    color: black;
    background: rgba(2, 6, 23, 0.02)
}

.prompt {
    font-size: var(--my-font-size);
    text-align: center;
}

.muted-small--left {
    text-align: left;
}

.muted-small {
    color: var(--muted);
    font-size: var(--muted-font-size);
}

input {
    text-align: start;
    width: 100%;
    border-radius: 0px;
    border: none;
    outline: unset;
    -webkit-text-fill-color: currentcolor;
    animation: 1ms ease 0s 1 normal none running native-autofill-in;
    transition: background-color 1e+08s;
    color: rgb(127 114 180);
    box-shadow: rgba(186, 178, 220, 0.3) 0px 1px;
    background-color: transparent;
}

@media (min-width: 720px) {
    .topbar .title {
        font-size: 2.4rem;
    }

    .prompt {
        font-size: var(--my-font-size-720plus);
    }

    input,
    .muted-small {
        font-size: var(--muted-font-size-720plus);
    }
}

@media (min-width: 1100px) {
    .topbar .title {
        font-size: 3rem;
    }

    .prompt {
        font-size: var(--my-font-size-1100plus);
    }

    input,
    .muted-small {
        font-size: var(--muted-font-size-1100plus);
    }
}

@media (max-width: 720px) {
    .navlink {
        font-size: 1rem;
    }

    .topbar__nav {
        top: 10px;
    }

    .prompt {
        font-size: var(--my-font-size);
    }

    input,
    .muted-small {
        font-size: var(--muted-font-size);
    }
}

header {
    text-align: center;
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    background-color: rgb(243, 243, 243);
}

main {
    display: flex;
    min-height: 100vh;
    margin: 0;
    flex-direction: column;
}

main ul li a,
main p a {
    color: var(--accent);
}

.wrap {
    align-items: center;
}

.wrap div p,
.wrap div strong {
    text-align: center;
}

.last-updated {
    color: var(--muted);
}

button {
    font-size: var(--muted-font-size);
}

.button {
    margin-top: 20px;
    border: none;
    padding: 12px 16px;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    touch-action: manipulation;
    background: var(--accent-light);
    color: white;
}

.button:active {
    transform: translateY(1px);
}

.button-ghost {
    margin-top: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    touch-action: manipulation;
    border: 2px solid var(--accent-light);
}

/* active/tap feedback for all pointers */
.button-ghost:active {
    transform: translateY(1px);
}

.button-ghost.invalid {
    border-color: #ff6b6b;
    box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12);
}

.selected {
    background: var(--accent);
    color: white;
}

.wrap {
    max-width: 45em;
    margin: auto;
}

input::placeholder {
    text-align: center;
}

.input--error {
    color: red;
    font-weight: bold;
}

@media (max-width:1000px) {
    .wrap {
        padding-left: 40px;
        padding-right: 40px;
    }
}

h1 {
    font-size: 2vw
}

h2 {
    font-size: 1.6vw
}

@media (max-width:1300px) {
    h1 {
        font-size: 3vw
    }

    h2 {
        font-size: 2.5vw
    }
}

@media (max-width:900px) {
    h1 {
        font-size: 4vw
    }

    h2 {
        font-size: 3vw
    }
}

@media (max-width:600px) {
    .wrap {
        flex-flow: column;
        justify-content: space-evenly;
    }

    button {
        width: 100%;
        ;
    }

    h1 {
        font-size: 7vw
    }

    h2 {
        font-size: 6vw
    }
}