:root {
    --color-header: #0075bb;
}

body {
    background: #f5f7f8;
    font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 56px;
    padding: 10px 20px;
    box-sizing: border-box;
    background-color: var(--color-header);
    color: white;
    cursor: default;
}

h1 {
    margin: 0;
    font-size: large;
}
h2 {
    font-size: large;
}
h3 {
    font-size: medium;
}

main {
    padding: 20px;
    padding-top: 56px;
}

.button-gray, .button-blue, .button-red {
    padding-inline: 0.5ch;
    border-radius: 0.5ch;
    height: 1.5rem;
    cursor: pointer;
}

.noclick {
    cursor: default;
}

.button-gray {
    color: #001c37;
    background-color: #f5f7f8;
    background-image: linear-gradient(-180deg,#fff,#f5f7f8);
    border: 1px solid #b0bec5;
    box-shadow: none;
}

.button-gray:not(.noclick):hover {
    background-image: linear-gradient(-180deg,#f6f8f9,#dfe6e9);
}

.button-gray:not(.noclick):active {
    background-image: none;
    background-color: #eceff1;
    border-color: #b0bec5;
    box-shadow: inset 0 1px 3px 0 rgba(1,28,56,.5);
}

.button-blue {
    cursor: pointer;
    transition: 100ms;
    
    color: #fff;
    background-color: #0070e0;
    background-image: linear-gradient(-180deg,#0070e0,#0f478d);
    border: 1px solid #0f478d;
}

.button-blue:not(.noclick):hover {
    background-image: linear-gradient(-180deg,#0f478d 2%,#0f478d);
}

.button-blue:not(.noclick):active {
    background-image: none;
    background-color: #04304c;
    border-color: #04304c;
    box-shadow: inset 0 1px 3px 0 #001c37;
}

.button-red {
    cursor: pointer;
    transition: 100ms;
    
    color: #fff;
    background-color: #d50000;
    background-image: linear-gradient(-180deg,#d50000,#8d0f0f);
    border: 1px solid #8d0f0f;
}

.button-red:not(.noclick):hover {
    background-image: linear-gradient(-180deg,#8d0f0f 2%,#8d0f0f);
}

.button-red:not(.noclick):active {
    background-image: none;
    background-color: #4c0404;
    border-color: #4c0404;
    box-shadow: inset 0 1px 3px 0 #370000;
}

label {
    font-weight: bold;
    font-size: small;
}

input, .output-text {
    font-family: monospace;
    height: 30px;
    padding-block: 2px;
}

input {
    padding-inline: 12px;
    font-family: monospace;
}

input, textarea {
    border-radius: 2px;
    border: 1px solid #bcc;
    line-height: 16px;
}

input:focus, textarea:focus {
    outline: 1px solid #0070e0;
    border-color: #0070e0;
}

textarea {
    height: 32px;
    padding: 13px;
}

select {
    border-radius: 2px;
    border: 1px solid #bcc;
    padding: 0.5em;
}
