textarea {
    font-family: monospace !important;
}

input {
    font-family: monospace !important;
}

h1 {
    padding-top: 0 !important;
}

[data-testid="stHorizontalBlock"] [data-testid="stHorizontalBlock"] {
    align-items: center;
}

.stButton {
    display: flex;
    justify-content: center;
}

[data-testid="stVerticalBlock"]:has(> [data-testid="stExpander"]) {
    display: block;
}

[data-testid="stExpander"] {
    >ul {
        border: 0;
    }

    [role="button"] {
        padding: 0;
        margin-bottom: 4px;
        display: inline-flex;
    }

    hr {
        margin-top: 0;
    }
}

[data-testid="stMarkdownContainer"]:has(> #conceptContainer) {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

#conceptContainer {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

#concept {
    text-align: center;
}

#circleContainer {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.stSpinner>div {
    display: flex;
    justify-content: center;
}