:root{
    --main-font-family: Verdana, sans-serif;
    --text-color-hover-main: #717176;
    --text-color-light: #e7e7e8;
    --text-color-dark: #13131a;
    --main-color: #202041;
    --main-color-invers: #bcbcc6;
    --secondary-color: #e0dcff;

    --text-color-secondary: #b3aace;
    --text-color-hover-secondary: #37343f;

    --small-font-size: clamp(1rem, 4vw, 1.5rem);
}

:root[data-theme='dark'] {
    --background: #13131a;
    --main-color-secondary: #13131a;
    --highlight-color: #8a8ad1;

    --text-color-main: #e7e7e8;
    --text-color-invers: #13131a;
}

:root[data-theme='light'] {
    --background: #e7e7e8;
    --main-color-secondary: #e7e7e8;
    --highlight-color: #6d5ccc;

    --text-color-main: #13131a;
    --text-color-invers: #e7e7e8;;
}

body {
    font-family: var(--main-font-family);
    background-color: var(--background);
    color: var(--text-color-main);
    margin: 0;
}

main {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    margin-inline: auto;
    margin-top: 2rem;
}

h1 {
    font-size: clamp(2rem, 5vw, 4rem);
    max-width: 75ch;
}

p {
    font-size: var(--small-font-size);
    max-width: 75ch;
    margin-inline: auto;
}

button {
    font-size: var(--small-font-size);
    border-radius: 0.5rem;
    border: none;
    padding-block: 0.25rem;
    padding-inline: 0.5rem;
    width: fit-content;
    background-color: var(--main-color);
    color: var(--text-color-light);
    cursor: pointer;
    margin-inline: auto;
}

button:hover {
    background-color: var(--text-color-hover-secondary);
}

form {
    display: grid;
    grid-template-columns: 1fr;
    width: fit-content;
    margin-inline: auto;
}

input {
    background-color: var(--main-color-invers);
    border: 2px solid var(--main-color);
    border-radius: 0.5rem;
    margin: 0;
    font-size: var(--small-font-size);
}

input[type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    transition: border-color 0.2s ease-in-out;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
}

input[type='checkbox']::before {
    content: '\2713';
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.2rem;
    color: var(--main-color-invers);
}

input[type='checkbox']:checked::before {
    display: block;
}

input[type='checkbox']:checked {
    border-color: var(--main-color);
    background-color: var(--main-color);
}

label {
    display: inline-block;
    font-size: var(--small-font-size);
    margin-left: 0rem;
    vertical-align: middle;
}