.blog-editor [hidden] { display: none !important; }
.blog-editor { min-width: 0; margin-top: .25rem; }
.blog-editor .ql-toolbar.ql-snow { border-color: var(--line-strong); background: var(--paper); padding: .65rem; }
.blog-editor .ql-toolbar button { min-width: 32px; min-height: 32px; }
.blog-editor .ql-toolbar .ql-formats { margin-right: .6rem; }
.blog-editor .ql-container.ql-snow { border-color: var(--line-strong); background: #fafaf9; font: inherit; }
.blog-editor .ql-editor { min-height: 360px; padding: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.blog-editor .ql-editor img, .blog-rich-content img { display: block; max-width: 100%; height: auto; margin: 1.4rem auto; }
.blog-editor .ql-editor.ql-blank::before { font-style: normal; }
.blog-editor .ql-editor:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.blog-editor .image-description { padding: 1rem; border: 1px solid var(--line); border-top: 0; }
.blog-editor .image-description label { display: block; }
.blog-editor .ql-snow .ql-tooltip { white-space: normal; max-width: 100%; }
.blog-rich-content { white-space: normal; }
.blog-rich-content p { margin: 0 0 1.2em; }
.blog-rich-content p, .blog-rich-content li { white-space: pre-wrap; }
.blog-rich-content h2 { font-size: 2rem; margin: 1.5em 0 .6em; }
.blog-rich-content h3 { font-size: 1.6rem; margin: 1.3em 0 .6em; }
.blog-rich-content strong, .blog-rich-content b { font-weight: 700; }
.blog-rich-content blockquote { border-left: 3px solid var(--line-strong); padding-left: 1.2rem; margin: 1.4rem 0; color: var(--muted); }
.blog-rich-content ul, .blog-rich-content ol { padding-left: 1.7rem; margin: 1rem 0; }
.blog-rich-content a { color: var(--ink); text-decoration: underline; text-underline-offset: .15em; }
.blog-rich-content pre { white-space: pre-wrap; background: #e5e5e3; padding: 1rem; }
@media (max-width: 540px) {
    .blog-editor .ql-toolbar.ql-snow { padding: .35rem; }
    .blog-editor .ql-toolbar .ql-formats { margin-right: .3rem; }
    .blog-editor .ql-editor { min-height: 300px; padding: .8rem; }
}
