* {
    margin: 0;
    padding: 0;
}

body {
    font-family: sans-serif;
}

header, main, footer {
    box-sizing: border-box;
    width: 100%;
    max-width: 45rem;
    margin: 0 auto;
    padding: 0 1rem;
}

header {
    padding: 1rem;
}

hr {
    margin: 1rem 0;
}

#passphrase {
    box-sizing: border-box;
    background-color: rgb(240,240,240);
    border: 1px solid rgb(125,125,125);
    box-shadow: inset 0.15rem 0.15rem 0.5rem rgb(215,215,215), inset -0.1rem -0.1rem 0.5rem rgb(225,225,225);
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    text-align: center;
    width: 100%;
    font-family: monospace;
    font-size: 1.25rem;
}

#passphrase:hover {
    cursor:copy;
}

button {
    box-sizing: border-box;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: rgb(235,235,235);
    border: 1px solid rgb(125,125,125);
    font: inherit;
}

button:hover {
    cursor: pointer;
    background-color: black;
    color: white;
}

#regenerate {
    margin: 1rem 0;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

input[type="text"], select {
    background-color: rgb(240,240,240);
    border: 1px solid rgb(125,125,125);
    box-shadow: inset 0.15rem 0.15rem 0.5rem rgb(215,215,215), inset -0.1rem -0.1rem 0.5rem rgb(225,225,225);
    border-radius: 0.5rem;
    padding: 0.5rem 0.5rem;
    text-align: center;
    font: inherit;
}

label {
    font-size: 1.25rem;
}

div.input {
    margin: 1rem 0;
}

input[type="checkbox"] {
    width: 1.2rem;
    height: 1.2rem;
}

input[type="checkbox"]:hover, select:hover {
    cursor: pointer;
}

p {
    margin: 0.5rem 0;
}