.mjr-markdown {
    overflow-wrap: anywhere;
    line-height: 1.6;
}

.mjr-markdown > :first-child {
    margin-top: 0;
}

.mjr-markdown > :last-child {
    margin-bottom: 0;
}

.mjr-markdown p,
.mjr-markdown ul,
.mjr-markdown ol,
.mjr-markdown blockquote,
.mjr-markdown pre,
.mjr-markdown table {
    margin: 0 0 0.75rem;
}

.mjr-markdown h1,
.mjr-markdown h2,
.mjr-markdown h3,
.mjr-markdown h4,
.mjr-markdown h5,
.mjr-markdown h6 {
    margin: 1rem 0 0.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.mjr-markdown h1 {
    font-size: 1.5rem;
}

.mjr-markdown h2 {
    font-size: 1.3rem;
}

.mjr-markdown h3 {
    font-size: 1.15rem;
}

.mjr-markdown h4,
.mjr-markdown h5,
.mjr-markdown h6 {
    font-size: 1rem;
}

.mjr-markdown ul,
.mjr-markdown ol {
    padding-left: 1.5rem;
}

.mjr-markdown li > input[type="checkbox"] {
    margin-right: 0.4rem;
}

.mjr-markdown a {
    color: var(--mud-palette-primary);
}

.mjr-markdown blockquote {
    padding: 0 1rem;
    border-left: 4px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
}

.mjr-markdown code {
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    background: var(--mud-palette-background-gray);
    font-size: 0.875em;
}

.mjr-markdown pre {
    padding: 0.75rem 1rem;
    overflow-x: auto;
    border-radius: 6px;
    background: var(--mud-palette-background-gray);
}

.mjr-markdown pre code {
    padding: 0;
    background: none;
}

.mjr-markdown table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.mjr-markdown th,
.mjr-markdown td {
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--mud-palette-lines-default);
}

.mjr-markdown hr {
    border: 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    margin: 1rem 0;
}

.mjr-markdown img {
    max-width: 100%;
    height: auto;
}

.mjr-markdown .mjr-markdown-image {
    display: block;
    max-height: 24rem;
    margin: 0.5rem 0;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
    cursor: zoom-in;
}

.mjr-markdown .mjr-markdown-video {
    display: block;
    max-width: 100%;
    max-height: 24rem;
    margin: 0.5rem 0;
    border-radius: 6px;
    background: #000;
}

.mjr-markdown .mjr-markdown-unavailable {
    display: inline-block;
    margin: 0.5rem 0;
    color: var(--mud-palette-text-secondary);
    font-style: italic;
}
