.article-content {
    overflow-wrap: anywhere;
    line-height: 1.75;
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content pre,
.article-content figure,
.article-content table {
    margin: 0 0 1.25rem;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    margin: 1.75rem 0 .75rem;
    color: #1b405f;
    font-weight: 700;
    line-height: 1.3;
}

.article-content h1 { font-size: 2.25rem; }
.article-content h2 { font-size: 1.875rem; }
.article-content h3 { font-size: 1.5rem; }
.article-content h4 { font-size: 1.25rem; }
.article-content h5 { font-size: 1.125rem; }
.article-content h6 { font-size: 1rem; }
.article-content ul { list-style: disc; padding-left: 1.75rem; }
.article-content ol { list-style: decimal; padding-left: 1.75rem; }
.article-content li { margin-bottom: .4rem; }
.article-content li > p { margin-bottom: .4rem; }
.article-content strong, .article-content b { font-weight: 700; }
.article-content em, .article-content i { font-style: italic; }
.article-content u { text-decoration: underline; }
.article-content s, .article-content strike { text-decoration: line-through; }
.article-content a { color: #c45b00; text-decoration: underline; }

.article-content blockquote {
    border-left: 4px solid #f78510;
    background: #f8fafc;
    padding: 1rem 1.25rem;
}

.article-content code {
    background: #f1f5f9;
    border-radius: .25rem;
    padding: .15rem .35rem;
    font-size: .9em;
    font-family: Consolas, monospace;
}

.article-content pre {
    background: #f1f5f9;
    border-radius: .5rem;
    padding: 1rem;
    overflow-x: auto;
    white-space: pre-wrap;
}

.article-content pre code { padding: 0; }
.article-content img { max-width: 100%; height: auto; border-radius: .5rem; }
.article-content figcaption { color: #64748b; font-size: .875rem; margin-top: .5rem; }
.article-content table { width: 100%; border-collapse: collapse; }
.article-content th, .article-content td { border: 1px solid #cbd5e1; padding: .65rem; }
.article-content th { background: #f1f5f9; font-weight: 700; }
.article-content hr { border: 0; border-top: 1px solid #cbd5e1; margin: 1.75rem 0; }
.article-content::after { content: ''; display: block; clear: both; }

.sun-editor .material-symbols-rounded {
    display: inline-block;
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
}

.sun-editor {
    border-radius: .5rem;
    border-color: #cbd5e1;
}

@media (max-width: 640px) {
    .article-content h1 { font-size: 1.875rem; }
    .article-content h2 { font-size: 1.5rem; }
    .article-content table { display: block; overflow-x: auto; }
}
