/* Article body typography for blog posts (the HTML written in TinyMCE).
   Also loaded inside the editor so what you write looks like what you publish. */
.fr-prose { color: #33334A; font-size: 17px; line-height: 1.75; overflow-wrap: break-word; }
.fr-prose > * + * { margin-top: 1.15em; }
.fr-prose h2 { margin-top: 2em; font-size: 1.6em; line-height: 1.25; font-weight: 800; letter-spacing: -0.02em; color: #0B0A1A; }
.fr-prose h3 { margin-top: 1.7em; font-size: 1.28em; line-height: 1.35; font-weight: 700; color: #0B0A1A; }
.fr-prose h4 { margin-top: 1.5em; font-size: 1.08em; font-weight: 700; color: #0B0A1A; }
.fr-prose h2 + *, .fr-prose h3 + *, .fr-prose h4 + * { margin-top: .6em; }
.fr-prose a { color: #5A2EF0; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.fr-prose a:hover { color: #4A22D4; }
.fr-prose strong, .fr-prose b { color: #1B1A30; font-weight: 700; }
.fr-prose ul, .fr-prose ol { padding-left: 1.4em; }
.fr-prose ul { list-style: disc; }
.fr-prose ol { list-style: decimal; }
.fr-prose li + li { margin-top: .4em; }
.fr-prose li::marker { color: #7C58FA; }
.fr-prose blockquote { border-left: 3px solid #7C58FA; padding: .2em 0 .2em 1.1em; font-size: 1.08em; font-style: italic; color: #1B1A30; }
.fr-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.fr-prose figure figcaption { margin-top: .5em; font-size: .85em; color: #6B6B83; text-align: center; }
.fr-prose hr { border: 0; border-top: 1px solid #ECECF2; margin: 2.2em 0; }
.fr-prose code { background: #F5F2FF; color: #4A22D4; border-radius: 5px; padding: .12em .38em; font-size: .88em; }
.fr-prose pre { background: #0B0A1A; color: #ECECF2; border-radius: 12px; padding: 1em 1.2em; overflow-x: auto; font-size: .88em; line-height: 1.6; }
.fr-prose pre code { background: none; color: inherit; padding: 0; }
.fr-prose table { width: 100%; border-collapse: collapse; font-size: .92em; display: block; overflow-x: auto; }
.fr-prose th, .fr-prose td { border: 1px solid #ECECF2; padding: .55em .8em; text-align: left; }
.fr-prose th { background: #F7F7FA; color: #1B1A30; font-weight: 600; }
.fr-prose iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 14px; }
.fr-prose .alignleft { text-align: left; }
.fr-prose .aligncenter { text-align: center; }
.fr-prose .alignright { text-align: right; }
.fr-prose .alignjustify { text-align: justify; }
.fr-prose img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.fr-prose img.alignleft { float: left; margin: .3em 1.2em .8em 0; max-width: 50%; }
.fr-prose img.alignright { float: right; margin: .3em 0 .8em 1.2em; max-width: 50%; }
.fr-prose::after { content: ""; display: table; clear: both; }
