.article-content { overflow-wrap: anywhere; line-height: 1.85; }
.article-content > :first-child { margin-top: 0; }
.article-content h2, .article-content h3, .article-content h4 { margin: 2rem 0 .8rem; line-height: 1.3; }
.article-content h2 { font-size: clamp(1.45rem, 3vw, 1.85rem); }
.article-content h3 { font-size: 1.3rem; }
.article-content p, .article-content ul, .article-content ol { margin-bottom: 1.25rem; }
.article-content ul, .article-content ol { padding-inline-start: 1.5rem; }
.article-content li { margin-bottom: .45rem; }
.article-content a { color: #b99aff; text-decoration: underline; text-underline-offset: .2em; }
.article-content pre { max-width: 100%; overflow-x: auto; padding: 1.25rem; border: 1px solid #49365e; border-radius: 12px; background: #090611; color: #eee7fa; font-size: .9rem; line-height: 1.7; white-space: pre; }
.article-content code { font-family: Consolas, ui-monospace, monospace; color: #d5baff; }
.article-content :not(pre) > code { padding: .15rem .3rem; border-radius: 4px; background: #251a35; }
.article-content pre code { color: inherit; }
.article-content blockquote { padding: 1rem 1.5rem; border-inline-start: 3px solid #8750f7; background: #20152c; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 1.5rem; }
.article-content td, .article-content th { padding: .7rem; border: 1px solid #49365e; }
.blog-empty { padding: 2rem; border: 1px solid #49365e; border-radius: 12px; }
