html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
}

.form-row-fixed-label .form-label {
    flex: 0 0 160px;
    width: 160px;
    margin-bottom: 0;
    padding-top: 0.375rem;
}

main {
    flex: 1 1 auto;
    min-height: 0;
    padding: 1em;
}

body.round-page main {
    padding: 0;
    display: flex;
    min-height: 0;
}

.round-layout {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.presentation-pane {
    display: none;
}

.chat-pane {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    padding: 1em;
    box-sizing: border-box;
    gap: 0.5em;
}

.round-meta details {
    margin-bottom: 0.5em;
}

#dice-bar {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.dice-bar-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    align-items: center;
}

#chat-toolbar {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    align-items: center;
}

#chat-log {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    border: 1px solid #888;
    padding: 0.5em;
    background-color: #fdf6b2;
}

#chat-log.hide-timestamps .chat-message .time {
    display: none;
}

#chat-form {
    flex: 0 0 auto;
    display: flex;
    gap: 0.5em;
}

#chat-input {
    flex: 1 1 auto;
}

@media (min-width: 1024px) {
    .round-layout {
        flex-direction: row;
    }

    .presentation-pane {
        display: flex;
        flex: 1 1 0;
        align-items: center;
        justify-content: center;
        border-right: 1px solid #ccc;
        color: #888;
        padding: 1em;
        box-sizing: border-box;
    }

    .chat-pane {
        flex: 1 1 0;
    }
}
