body {
    display: flex;
    min-height: 100vh;
}

aside {
    display: flex;
    flex: 1;
    flex-direction: column;
}

main {
    display: flex;
    flex: 3;
    flex-direction: column;
}

footer {
    margin-top: auto;
}

section, footer {
    padding: 1.5em 1em;
}

article {
    padding: 1em;
    width: 100%;
    article {
        width: fit-content;
    }
}

video {
    width: 100%;
    height: 100%;
}

.notification {
    display: block;
    padding: 1.25rem 2.5rem 1.25rem 1.5rem;
    position: relative;
    border-radius: .25em;
    margin-block: 0.5em;
    .button {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 2em;
    }
}

#chat {
    display: block;
    height: 90vh;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    fieldset {
        margin-top: 1em;
        position: relative;
    }
}
