body {
    background-color: black;
    color: #bbb;
    font-size: 14pt;
}
.starred-only {
    display: inline;
    font-weight: bold;
    background-color: #323216;
    border: 2px solid #aa5;
}
#info, #progress, #qa, .starred-only {
    border-radius: 0.5rem;
    border-width: 2px;
    border-style: solid;
    padding: 0.5rem;
    display: inline-block;
}
#qa {
    padding-inline: 2rem;
}
#info, #progress, #qa {
    border-color: #444;
    background-color: #222;
    margin-block-end: 0.5rem;
}
#progress p {
    margin-block: 0.25rem 0.5rem;
    text-transform: uppercase;
    font-weight: bold;
}
summary {
    font-weight: bold;
    cursor: pointer;
}
#info summary,
#progress summary {
    text-transform: uppercase;
}
#qa .ans {
    background-color: #000;
    padding: 1rem;
}
.qbox {
    display: inline-block;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-radius: 0.25rem;
    width: 0.8rem;
    height: 0.8rem;
    padding: 0;
    margin: 0 0.05rem;
    overflow: hidden;
}
#progress .qbox.hide-unstarred:not(.starred) {
    display: none;
}
.qbox > div {
    opacity: 0.15;
}
.qbox.answered > div {
    opacity: 0.6;
}
#progress {
    max-width: 18rem;
}
a {
    color: #4080ff;
}
.underline {
    text-decoration: underline;
}
button {
    font-size: large;
}
.btn-wrap {
    text-align: center;
}