* {
    font-family: monospace;
}

body {
    max-width: 40rem;
    margin: auto;
    padding: 0.5rem;
}

main {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 1rem;
    justify-items: start;
}

#button, #pw, #easy_mode + label {
    font-weight: 600;
    font-size: 1.2rem;
}

#button {
    background: lightgreen;
    padding: 0.9rem;
    border-radius: 0rem;
    box-sizing: border-box;
    display: inline-block;
    box-shadow: 0.4rem 0.4rem black;
    transition: box-shadow 0.1s, margin 0.1s;
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;
    margin-bottom: 1rem;
}

#button:active {
    box-shadow: 0rem 0rem black;
    margin-top: 0.4rem;
    margin-left: 0.4rem; 
    margin-bottom: 0.6rem;
}

#pw {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0.9rem;
    border-width: 0.2rem;
    border-style: dashed;
    display: inline-block;
}

#easy_mode {
    display: none;
}

#easy_mode + label {
    position: relative;
    padding-left: 5rem;
    padding-top: 1.5rem; 
}

#easy_mode + label::before {
    width: 2rem;
    height: 2rem;
    background: lightgreen;
    border: black;
    border-width: 0.5rem;
    border-style: solid;
    border-color: black;
    display: block;
    position: absolute;
    top: 0.2rem;
    left: 0.2rem;
    content: " ";
    margin-top: 0.5rem;
}

#easy_mode:checked + label::before {
    content: " ";
}

#easy_mode:checked + label::after {
    content: " ";
    position: absolute;
    top: 1.7rem;
    left: 1.2rem;
    width: 1rem;
    height: 1rem;
    background: black;
}

footer {
    color: lightgrey;
    position: fixed;
    bottom: 0.5rem;
}

footer>a{
    color: lightgrey;
    text-decoration: none;
    font-weight: bold;
}

