*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --light-grey: #efefef;
    --white: #ffffff;
    --very-dark-blue: #0a0a23;
    --light-purple: #a78bfa;
    --very-light-purple: #c4b5fd;
    --purple: #8b5cf6;
}

body {
    background-color: var(--very-dark-blue);
    color: var(--light-grey);
    font-family: sans-serif;
}

main {
    text-align: center;
    padding: 10px;
}

.btn-container,
button {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.btn-container {
    flex-direction: column;
}

.emoji-btn {
    width: 70%;
    cursor: pointer;
    color: var(--white);
    background-color: var(--light-purple);
    background-image: linear-gradient(to bottom,
            var(--very-light-purple),
            var(--light-purple));
    border: 3px solid var(--purple);
    border-radius: 8px;
    padding: 10px;
    font-size: 1.5rem;
    margin: 10px 0;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

@media (min-width: 768px) {
    .emoji-btn {
        width: 30%;
    }
}

.emoji-btn:hover {
    background-color: var(--purple);
    background-image: none;
}

.title {
    margin-top: 15px;
    font-size: 2rem;
}

.description {
    font-size: 1.4rem;
    margin: 20px 0;
}