.blog-prose{font-size:13px;line-height:1.6;max-width:70ch}.blog-prose h1{font-size:1.6rem;margin:1.4em 0 .6em;color:#8cb4e0;font-weight:700;letter-spacing:-.01em}.blog-prose h2{font-size:1.3rem;margin:1.8em 0 .6em;color:#8cb4e0;font-weight:700;padding-bottom:.3em;border-bottom:1px solid #2c2f33}.blog-prose h3{font-size:1rem;margin:1.5em 0 .4em;color:#8cb4e0;font-weight:600}.blog-prose p{margin:.8em 0}.blog-prose ol,.blog-prose ul{margin:.8em 0 .8em 1.5em;padding-left:1em}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose ul ul{list-style-type:circle}.blog-prose ul ul ul{list-style-type:square}.blog-prose li,.blog-prose li>p{margin:.25em 0}.blog-prose li::marker{color:#8cb4e0}.blog-prose a{color:#8cb4e0;text-decoration:underline}.blog-prose blockquote{border-left:2px solid #2c2f33;padding-left:.8em;color:#8b8e93;margin:1em 0}.blog-prose code:not(pre code){background:#1a1c1e;padding:1px 4px;border-radius:3px;font-size:.9em}.blog-prose pre{border-radius:4px;padding:.8em 1em;margin:1em 0;overflow-x:auto;font-size:12px;background:#141517;border:1px solid #2c2f33;color:#d6d7d9}.blog-prose math{font-size:1.05em}.blog-prose .katex:has(>math[display=block]){display:block;margin:1.2em 0;text-align:center;overflow-x:auto;overflow-y:hidden;padding:.2em 0}.blog-prose table{display:block;width:-moz-max-content;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.2em 0;font-size:.95em}.blog-prose td,.blog-prose th{border:1px solid #2c2f33;padding:.45em .7em;text-align:left;vertical-align:top}.blog-prose thead th{background:#1a1c1e;color:#8cb4e0;font-weight:600;border-color:#2c2f33}.blog-prose tbody tr:nth-child(2n){background:#141517}.blog-prose details{margin:1.4em 0;border:1px solid #2c2f33;border-radius:6px;background:#141517;padding:0 1em}.blog-prose details[open]{border-color:#2c2f33;background:#1a1c1e}.blog-prose summary{cursor:pointer;padding:.75em .1em;color:#8cb4e0;font-weight:600;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;gap:.55em}.blog-prose summary::-webkit-details-marker{display:none}.blog-prose summary:before{content:"▶";font-size:.7em;color:#8cb4e0;flex:none}.blog-prose details[open] summary:before{transform:rotate(90deg)}.blog-prose summary:hover{color:#aecbec}.blog-prose details[open] summary{border-bottom:1px solid #2c2f33;margin-bottom:.6em}.blog-prose details>:last-child{margin-bottom:1em}.blog-prose code[class*=language-],.blog-prose pre[class*=language-]{color:#d6d7d9;text-shadow:none;background:none}.blog-prose .token.cdata,.blog-prose .token.comment,.blog-prose .token.doctype,.blog-prose .token.prolog{color:#5d6065;font-style:italic}.blog-prose .token.entity,.blog-prose .token.operator,.blog-prose .token.punctuation,.blog-prose .token.url{color:#8b8e93}.blog-prose .token.atrule,.blog-prose .token.important,.blog-prose .token.keyword,.blog-prose .token.rule,.blog-prose .token.selector,.blog-prose .token.tag{color:#8cb4e0}.blog-prose .token.attr-value,.blog-prose .token.char,.blog-prose .token.regex,.blog-prose .token.string{color:#aecbec}.blog-prose .token.attr-name,.blog-prose .token.boolean,.blog-prose .token.constant,.blog-prose .token.number,.blog-prose .token.property,.blog-prose .token.symbol,.blog-prose .token.variable{color:#b9bcc2}.blog-prose .token.class-name,.blog-prose .token.function{color:#d6d7d9}.blog-prose .token.deleted{color:#c58e8e}.blog-prose .token.inserted{color:#8ec59a}.blog-prose .token.bold{font-weight:700}.blog-prose .token.italic{font-style:italic}