/* * {
    outline: 1px solid silver;
} */

button {
    all: unset;
    background-color: white;
    padding: 0.3em 0.75em;
    border-radius: 0.4em;
    cursor: pointer;
}
button:hover {
    background-color: lightgray;
}
button:disabled {
    cursor: default;
    background-color: gray;
    color: lightgray;
}
button.primary {
    font-weight: bold;
}

html,
body,
main {
    height: 100%;
    margin: 0;
    background-color: gray;
}

main {
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
}

#header {
    flex: 0 0 80px;
    background-color: silver;
    display: flex;
    align-items: center;
    padding: 0 1em;
    box-sizing: border-box;
}

#logo {
    margin-right: auto;
    font-size: 30px;
    font-style: italic;
    font-weight: bold;
}

#actions {
    display: flex;
    gap: 20px;
}

#content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#info {
    flex: 0 0 100px;
    display: flex;
    justify-content: center;
    background-color: darkgray;
    align-items: center;
    gap: 20px;
}

#info.done {
    background-color: green;
}

#status {
    color: black;
    font-size: 20px;
}

#stage {
    flex: 1;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: gray;
    container-type: size;
}

.card {
    --aspect-ratio: 1.5;
    width: min(calc(80cqh * var(--aspect-ratio)), 80cqw);
    aspect-ratio: var(--aspect-ratio);

    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1.25em;
    background-color: white;

    container-type: inline-size;
    font-size: 4cqh;
    padding: 1em;
}

.lines {
    display: flex;
    flex-direction: column;
    gap: 0.1em;
}

.line.emphasis {
    font-weight: bold;
}

.front {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.context {
    color: blue;
}

.context::before {
    content: '[';
}

.context::after {
    content: ']';
}

.context:empty {
    display: none;
}

.breadcrumb {
    display: inline-block;
}

.breadcrumb:not(:last-child)::after {
    margin: 0 0.25em;
    content: '\00b7';
}

.hint {
    color: purple;
}

.hint::before {
    content: '(';
}

.hint::after {
    content: ')';
}

.hint:empty {
    display: none;
}

.back {
    /* font-size: 5cqw; */
    visibility: hidden;
    color: green;
}

.reveal .back {
    visibility: visible;
}

#controls {
    flex: 0 0 100px;
    display: flex;
    justify-content: center;
    background-color: black;
    align-items: center;
    gap: 20px;
    font-size: 25px;
}

#wrong {
    background-color: red;
}

#correct {
    background-color: green;
}

#mastered {
    background-color: gold;
}

#footer {
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    justify-content: center;
}
