:root {
    --background-color: #e7e7e7;
    --box-color: #ffffff;
    --label-background-color: #e0e0e0;
    --text-color: #323232;
    --green: #5eb65e;
    --red: #d9534f;
    --blue: #3397db;
}

[red-bg] {
    background-color: var(--red);
}
[green-bg] {
    background-color: var(--green);
}
[blue-bg] {
    background-color: var(--blue);
}

.shadow {
     box-shadow: 0px 0px 1px black;
}

* {
    padding: 0;
    margin: 0;
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: var(--background-color);
    color: var(--text-color);
    min-height: 100%;
    min-width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
}

button {
    cursor: pointer;
    margin: 5px 10px;
    border-radius: 5px;
    border: none;
    outline: none;
    color: var(--box-color);
}
button:hover {
    filter: brightness(0.95);
}
button:active {
    filter: brightness(0.85)
}

input[type=text] {
    width: 95%;
    height: 100%;
    outline: none;
    text-align: center;
}

div#main {
    min-height: 300px;
    margin-top: 50px;
    border-radius: 3px;
    box-shadow: 0px 0px 1px rgb(0, 0, 0);
    background-color: var(--box-color);
    padding: 5px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

div.item-wrapper {
    width: 80%;
    padding: 10px 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

div.item-wrapper > * {
    margin: 10px 0px;
}

div.row-wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    flex-wrap: nowrap;
}

input#output {
    border: none;
}

select.input-selector {
    padding: 0px 5px;
    cursor: pointer;
    height: 100%;
    border: none;
    border-left: solid 1px rgb(114, 114, 114);
}

span.input-label {
    background-color: var(--label-background-color);
    word-break: keep-all;
    padding: 0px 10px;
    height: 100%;
    display: flex;
    align-items: center;
    border: none;
}

@media (max-width: 699px) {
    /* 手机 */
    div#main {
        width: 90%;
    }
    button {
        font-size: 20px;
        padding: 10px 20px;
    }
    input[type=text] {
        font-size: 20px;
        padding: 8px 0px;
    }
    select.input-selector {
        font-size: 20px;
        padding: 0px 10px;
    }
}
@media (min-width: 700px) {
    /* 电脑 */
    div#main {
        width: 600px;
    }
    button {
        font-size: 17px;
        padding: 5px 18px;
    }
    input[type=text] {
        font-size: 18px;
        padding: 5px 0px;
    }
    select.input-selector {
        font-size: 17px;
        padding: 0px 10px;
    }
}