section.no-bottom-padding {
    padding-bottom: 0;
}

.title-icon {
    display: inline-block;
    width: 0;               /* no width counted in layout */
    overflow: visible;      /* still show contents */
}

.title-icon>* {
    position: relative;
    left: -1.5em;
}

#solution-and-stats {
    margin-left: auto;
    margin-right: auto;
}

#solution-and-stats p {
    vertical-align: center;
}

#guess-form-container>form>.field {
    justify-content: center;
}

#guess-form-container>form>.field>.control:has(>input#id_guess) {
    flex: 1;
}

.pseudorelative-outer {
    position: relative;
    width: 0;
    height: 0;
}

.pseudorelative-inner {
    position: absolute;
    top: -0.75em;
}

table.hints-table {
    margin-left: auto;
    margin-right: auto;
}

.guess-list-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-gutter: stable;
}

table.guess-list-table {
    margin-left: auto;
    margin-right: auto;
}

.guess-list-row.filler {
    opacity: 0;
    pointer-events: none;
}

.guess-list-row.filler td {
    border-color: transparent;
}

.guess-list-row.filler .filler-content {
    display: inline-block;
    height: 26px; /* match height of normal rows */
}

td.nowrap {
    white-space: nowrap;
}

.help-container {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    min-width: 40rem;
    max-width: 110vh;
    gap: 2em;
}

.puzzle-pdf-frame {
    width: 100%;
    min-width: 40rem;
    max-width: 110vh;
    height: 100vh;
}

@media (max-width: 768px) {
    .help-container {
        min-width: auto;
        max-width: 100%;
    }
    .puzzle-pdf-frame {
        min-width: auto;
        max-width: 100%;
    }
}

.solution-picker.tabs li {
    width: 100%;
    max-width: 20em;
}

.solution-picker.tabs {
    --bulma-tabs-border-bottom-color: hsl(0, 0%, 48%);
}

.solution-picker.tabs.is-boxed li a:hover {
    background-color: hsla(0, 0%, 96%, 0.25);
    border-color: hsl(0, 0%, 48%);
    border-bottom-color: var(--bulma-body-background-color) !important;
    border-bottom-width: 3px !important;
}

.solution-picker.tabs.is-boxed li a {
    color: hsl(0, 0%, 29%);
    border-bottom-width: 3px !important;
}

.solution-picker.tabs.is-boxed li.is-active a {
    background-color: transparent;
    border-color: hsl(0, 0%, 48%);
    border-bottom-color: var(--bulma-body-background-color) !important;
    color: var(--night);
    font-weight: 700;
}

.answer-key {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.answer.spoiler.fixed-width {
    display: inline-block;
    vertical-align: baseline;
    width: 20ch;
    max-width: 20ch;
    white-space: nowrap;
    overflow: hidden;
    transition: max-width 0.2s ease;
}

.answer.spoiler.fixed-width:hover {
    width: auto;
    min-width: 20ch;
    max-width: 100vw;
}
