#errors-journal:empty {
    display: none;
}

.journal-body {
    display: block;
    line-height: 1.45;
    overflow-y: auto;
    padding: 0.75rem;
    border: var(--border) solid var(--color-base-300);
    border-radius: var(--radius-field);
    background-color: var(--color-base-100);

    & .tiptap {
        min-height: 100%;
        outline: none;
    }
    &:focus-within {
        border-color: var(--color-base-content);
    }

    & h1 { margin: 1.25rem 0 0.5rem; font-size: 1.75rem; font-weight: 700; line-height: 1.2; }
    & h2 { margin: 1.25rem 0 0.5rem; font-size: 1.5rem; font-weight: 700; line-height: 1.25; }
    & h3 { margin: 1rem 0 0.5rem; font-size: 1.25rem; font-weight: 600; line-height: 1.3; }
    & h4 { margin: 1rem 0 0.5rem; font-size: 1.1rem; font-weight: 600; }
    & h5,
    & h6 { margin: 1rem 0 0.5rem; font-size: 1rem; font-weight: 600; }
    & > :first-child { margin-top: 0; }
    & p { margin: 0 0 0.75rem; }
    & ul,
    & ol { margin: 0 0 0.75rem; padding-left: 1.5rem; }
    & ul { list-style: disc; }
    & ol { list-style: decimal; }
    & li { margin: 0.15rem 0; }
    & li > ul,
    & li > ol { margin-bottom: 0; }
    & blockquote {
        margin: 0 0 0.75rem;
        padding-left: 0.85rem;
        border-left: 3px solid var(--color-base-300);
        color: color-mix(in oklab, var(--color-base-content) 75%, transparent);
    }
    & a {
        color: var(--color-primary);
        text-decoration: underline;
    }
    & strong { font-weight: 700; }
    & em { font-style: italic; }
    & s { text-decoration: line-through; }
    & code {
        padding: 0.1em 0.3em;
        border-radius: var(--radius-selector);
        background-color: var(--color-base-200);
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 0.9em;
    }
    & pre {
        margin: 0 0 0.75rem;
        padding: 0.75rem;
        overflow-x: auto;
        border-radius: var(--radius-field);
        background-color: var(--color-base-200);
        & code {
            padding: 0;
            background-color: transparent;
        }
    }
    & hr {
        margin: 1.25rem 0;
        border: 0;
        border-top: 2px solid var(--color-base-300);
    }

    & img {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 0 0.75rem;
        border-radius: var(--radius-field);
    }

    & img.ProseMirror-selectednode {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }
}

[data-journal-editor][aria-busy="true"] .journal-body {
    cursor: progress;
}

[data-journal-toolbar] [aria-pressed="true"] {
    background-color: var(--color-base-300);
    color: var(--color-base-content);
    font-weight: 700;
}
