
input {
    padding: 4px;
    max-width: 80vw;
    border: 3px solid var(--bold-text);
    background-color: var(--text-light);
}
input:focus {
    border-color: var(--bold-text-accent-sat);
    background-color: var(--bold-text-accent-light);
    outline: none;
}

.spacer {
    height: 20px;
}

.logo {
    height: 52px;  /* Matches h1 font-size. */
    /* filter: var(--bold-text-filter); */
}

.dark-color {
    color: var(--bg);
}

.accent-color {
    color: white;
    /* color: var(--bold-text-accent); */
    /* font-weight: bold; */
}

.accent-sat-color {
    color: var(--bold-text-accent-sat);
    /* font-weight: bold; */
}

#uploaded-files-list {
    margin: 0.8rem 0;
}

#console, #table-box {
    margin-top: 20px;  /* Match body padding. */
}

#table-box {
    max-height: 70vh;
    overflow-y: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.7rem;
    color: var(--text-sat);
    background-color: var(--bg);
}

th {
    /* If thead element was assigned background-color instead, 
    the background would not be seen underneath table background 
    when overlapping using sticky positioning. */
    /* background-color: var(--bold-bg); */
    background-color: black;
    color: var(--bold-text);
}

thead {
    top: 0px;
    position: sticky;
}

th, td {
    /* border-top: 1px solid var(--text-light); */
    padding: 0.2rem 0.4rem;
}

td {
    border-top: 2px solid var(--bold-bg);
    /* padding: 0.2rem 0.4rem; */
}

.disclaimer {
    margin: 0.2rem 0;
    font-size: 0.8rem;
    /* color: cyan; */
    /* color: var(--text-sat); */
    /* color: var(--bg); */
    color: var(--text-dim);
}

#console {
    max-height: 25vh;
    overflow-y: auto;  
    /* background-color: var(--bold-bg); */
    background-color: black;
    color: var(--bold-text);
    font-family: Menlo, Monaco, 'Courier New', monospace;
}

#console p {
    margin: 0.3rem 0.8rem;
    font-size: 0.6rem; 
    text-align: left;
}

.log-warn {
    color: cyan;
}

.log-error {
    color: var(--bold-text-accent);
}

hr {
    margin: 0;
    border: 2px solid var(--bold-bg);
}

.button-clump-box {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: end;
    flex-wrap: wrap;
}
/* .button-clump {
    display: flex;
    flex-direction: column;
    justify-content: center;
} */

.major-button {
    border-color: white;
    color: white;
}
.major-button-dim {
    border-color: var(--text-dim);
    color: var(--text-dim);
}
.major-button, .major-button-dim {
    box-sizing: border-box;
    /* border: 3px solid var(--bold-text-accent); */
    /* border: 3px solid var(--bold-text-accent-sat); */
    border-width: 3px;
    border-style: solid;
    /* border: 3px solid white; */
    /* background-color: black; */
    background-color: var(--bold-bg);
    /* color: var(--bold-text-accent); */
    /* color: white; */
    /* color: var(--bold-text-accent-sat); */
    font-size: 1rem;
    margin: 0.2rem;
    padding: 0.4rem 1rem;
    border-radius: 1rem;
    cursor: pointer;
}
.major-button:hover, .major-button-dim:hover {
    /* color: white; */
    background-color: var(--bold-text-accent-sat);
    border-color: var(--bold-text-accent-sat);
}
.major-button-dim:hover {
    color: white;
}

.minor-button {
    box-sizing: border-box;
    border: none;
    color: var(--bold-text);
    /* background-color: var(--bg); */
    background-color: black;
    font-size: 0.8rem;
    margin: 0.2rem;
    padding: 0.4rem 1.2rem;
    border-radius: 1rem;
    cursor: pointer;
}

.img-button {
    height: 0.8rem;  /* Matches .minor-button font-size. */
    filter: var(--bold-text-filter);
}

.minor-button:hover .img-button {
    filter: var(--bold-text-accent-filter);
    /* filter: invert(100%); */
}
