.text-center-fr-fr {
    display: flex;
    width: 100%;
    height: 100%;
    resize: none;
    padding: 0;

    vertical-align: middle;

    background-color: transparent;
    color: black;
    overflow: visible;

    word-wrap: break-word;
    white-space: break-spaces;

    border: none;
}

.text-center-fr-fr.vertically-top {
    align-items: flex-start;
}

.text-center-fr-fr.vertically-middle {
    align-items: center;
}

.text-center-fr-fr.vertically-bottom {
    align-items: flex-end;
}

.text-center-fr-fr > * {
    width: 100%;
}

.text-center-fr-fr .ProseMirror {
    outline: none;
}

.text-center-fr-fr :is(p:empty, p:has(br.ProseMirror-trailingBreak))::after {
    content: "\00A0";
}

.text-center-fr-fr p br.ProseMirror-trailingBreak {
    display: none;
}