:root {
    --flag-max-width: 32rem;
}

main.container {
    padding-block: 2rem 4rem;
}

.question-card {
    display: grid;
    gap: 1rem;
}

.flag-frame {
    margin: 0;
    display: grid;
    place-items: center;
    min-height: 12rem;
}

#flag-image {
    width: min(100%, var(--flag-max-width));
    max-height: 18rem;
    object-fit: contain;
    border: 1px solid var(--muted-border-color);
    background: var(--card-background-color);
}

.controls-row {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr auto auto auto;
    align-items: start;
}

.controls-row>button {
    width: auto;
    margin: 0;
}

.input-group {
    min-width: 0;
}

.suggestions {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    border: 1px solid var(--muted-border-color);
    border-radius: var(--pico-border-radius);
    background: var(--card-background-color);
    max-height: 14rem;
    overflow-y: auto;
}

.suggestions li {
    margin: 0;
}

.suggestions button {
    width: 100%;
    text-align: left;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}

.suggestions button:hover,
.suggestions button[aria-selected="true"] {
    background: var(--table-row-stripped-background-color);
}

.feedback {
    min-height: 1.6rem;
    font-weight: 600;
}

.feedback.correct {
    color: var(--pico-color-green-500, #2e7d32);
}

.feedback.incorrect {
    color: var(--pico-color-red-500, #c62828);
}

.feedback.info {
    color: var(--pico-muted-color, #6b7280);
}

.hint-feedback {
    min-height: 1.6rem;
    margin: 0;
    color: var(--pico-muted-color);
    white-space: pre-line;
}

.app-footer {
    margin-top: 1rem;
    text-align: center;
    color: var(--pico-muted-color);
}

@media (max-width: 768px) {
    .controls-row {
        grid-template-columns: 1fr;
    }

    .controls-row>button {
        width: 100%;
    }
}