/* Typography for rendered post bodies (Quill output), matching the site's dark theme */
.post-content { color: rgba(255, 255, 255, 0.75); font-size: 1.0625rem; line-height: 1.8; overflow-wrap: anywhere; }
.post-content > * + * { margin-top: 1.25em; }
.post-content h2 { font-size: 1.75rem; font-weight: 700; color: rgba(255, 255, 255, 0.95); line-height: 1.3; margin-top: 2em; }
.post-content h3 { font-size: 1.35rem; font-weight: 600; color: rgba(255, 255, 255, 0.92); margin-top: 1.75em; }
.post-content h4 { font-size: 1.1rem; font-weight: 600; color: rgba(255, 255, 255, 0.9); margin-top: 1.5em; }
.post-content a { color: #F2C94C; text-decoration: underline; text-underline-offset: 3px; }
.post-content a:hover { color: #fff; }
.post-content strong, .post-content b { color: rgba(255, 255, 255, 0.95); font-weight: 600; }
.post-content ul, .post-content ol { padding-left: 1.5em; }
.post-content ol > li[data-list="bullet"] { list-style: disc; }
.post-content ol > li[data-list="ordered"], .post-content ol > li:not([data-list]) { list-style: decimal; }
.post-content ul > li { list-style: disc; }
.post-content li + li { margin-top: 0.4em; }
.post-content li[data-list="checked"], .post-content li[data-list="unchecked"] { list-style: none; }
.post-content li[data-list="checked"]::before { content: "\2611\00a0"; }
.post-content li[data-list="unchecked"]::before { content: "\2610\00a0"; }
.post-content blockquote { border-left: 3px solid #27AE60; padding: 0.25em 0 0.25em 1.25em; color: rgba(255, 255, 255, 0.65); font-style: italic; }
.post-content pre, .post-content .ql-code-block-container {
  background: rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 0.75rem;
  padding: 1rem 1.25rem; overflow-x: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9rem; line-height: 1.6; color: #e5e7eb; white-space: pre;
}
.post-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em;
  background: rgba(255, 255, 255, 0.07); padding: 0.1em 0.35em; border-radius: 0.3em; }
.post-content pre code { background: none; padding: 0; }
.post-content img { max-width: 100%; height: auto; border-radius: 0.75rem; margin-left: auto; margin-right: auto; }
.post-content iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 0.75rem; }
.post-content hr { border: 0; border-top: 1px solid rgba(255, 255, 255, 0.1); margin: 2.5em 0; }
.post-content .ql-align-center { text-align: center; }
.post-content .ql-align-right { text-align: right; }
.post-content .ql-align-justify { text-align: justify; }
.post-content .ql-indent-1 { padding-left: 3em; }
.post-content .ql-indent-2 { padding-left: 6em; }
.post-content .ql-indent-3 { padding-left: 9em; }
.post-content .ql-size-small { font-size: 0.85em; }
.post-content .ql-size-large { font-size: 1.35em; }
.post-content .ql-size-huge { font-size: 1.8em; }

/* Admin: Quill editor on the dark theme */
.admin-editor .ql-toolbar.ql-snow { border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 0.75rem 0.75rem 0 0; background: rgba(255, 255, 255, 0.04); }
.admin-editor .ql-container.ql-snow { border: 1px solid rgba(255, 255, 255, 0.1); border-top: 0; border-radius: 0 0 0.75rem 0.75rem; min-height: 28rem; font-family: inherit; font-size: 1rem; }
.admin-editor .ql-editor { min-height: 28rem; color: rgba(255, 255, 255, 0.85); line-height: 1.7; }
.admin-editor .ql-editor.ql-blank::before { color: rgba(255, 255, 255, 0.35); font-style: normal; }
.admin-editor .ql-snow .ql-stroke { stroke: rgba(255, 255, 255, 0.7); }
.admin-editor .ql-snow .ql-fill { fill: rgba(255, 255, 255, 0.7); }
.admin-editor .ql-snow .ql-picker { color: rgba(255, 255, 255, 0.7); }
.admin-editor .ql-snow .ql-picker-options { background: #111827; border-color: rgba(255, 255, 255, 0.1); }
.admin-editor .ql-snow button:hover .ql-stroke, .admin-editor .ql-snow .ql-active .ql-stroke { stroke: #F2C94C; }
.admin-editor .ql-snow button:hover .ql-fill, .admin-editor .ql-snow .ql-active .ql-fill { fill: #F2C94C; }
.admin-editor .ql-snow .ql-tooltip { background: #111827; color: #fff; border-color: rgba(255, 255, 255, 0.1); box-shadow: none; }
.admin-editor .ql-snow .ql-tooltip input[type=text] { background: #0B0F19; color: #fff; border-color: rgba(255, 255, 255, 0.2); }
.admin-editor .ql-editor pre.ql-syntax, .admin-editor .ql-code-block-container { background: rgba(0, 0, 0, 0.45); color: #e5e7eb; border-radius: 0.5rem; }
.admin-editor .ql-editor img { max-width: 100%; }
