.blog-prose{--bp-text:rgb(30 41 59);--bp-body:rgb(51 65 85);--bp-heading:rgb(15 23 42);--bp-meta:rgb(71 85 105);--bp-marker:rgb(100 116 139);--bp-rule:rgb(226 232 240);--bp-underline:rgb(203 213 225);--bp-underline-dashed:rgb(148 163 184);--bp-surface:rgb(248 250 252);--bp-code-bg:rgb(241 245 249);--bp-pre-bg:rgb(15 23 42);--bp-pre-text:rgb(241 245 249);color:var(--bp-text);font-size:1.0625rem;line-height:1.85}.dark .blog-prose{--bp-text:hsl(var(--foreground));--bp-body:hsl(var(--foreground)/0.88);--bp-heading:hsl(var(--foreground));--bp-meta:hsl(var(--muted-foreground));--bp-marker:hsl(var(--muted-foreground));--bp-rule:hsl(var(--border));--bp-underline:hsl(var(--input));--bp-underline-dashed:hsl(var(--input));--bp-surface:hsl(var(--card));--bp-code-bg:hsl(var(--muted));--bp-pre-bg:hsl(var(--card));--bp-pre-text:hsl(var(--foreground))}.blog-prose>*+*{margin-top:1.25em}.blog-prose h2{margin-top:2.5em;margin-bottom:.75em;padding-bottom:.5rem;font-size:1.6rem;font-weight:700;letter-spacing:-.01em;color:var(--bp-heading);border-bottom:1px solid var(--bp-rule)}.blog-prose h3:not(.not-prose *){margin-top:2em;margin-bottom:.5em;font-size:1.25rem;font-weight:700;color:var(--bp-heading)}.blog-prose h4{margin-top:1.5em;font-size:1.05rem;font-weight:700;color:var(--bp-heading)}.blog-prose p:not(.not-prose *){color:var(--bp-body)}.blog-prose strong:not(.not-prose *){color:var(--bp-heading);font-weight:600}.blog-prose a{color:var(--bp-heading);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--bp-underline);text-underline-offset:3px;transition:text-decoration-color .15s ease,color .15s ease}.blog-prose a:hover{color:var(--bp-heading);text-decoration-color:var(--bp-heading)}.blog-prose ol:not(.not-prose *),.blog-prose ul:not(.not-prose *){padding-left:1.5rem}.blog-prose ul:not(.not-prose *){list-style:disc}.blog-prose ol:not(.not-prose *){list-style:decimal}.blog-prose li:not(.not-prose *){margin-top:.4em;color:var(--bp-body)}.blog-prose li:not(.not-prose *)::marker{color:var(--bp-marker)}.blog-prose blockquote{margin:1.75em 0;padding:1.1rem 1.4rem;background:var(--bp-surface);border:1px solid var(--bp-rule);border-radius:.875rem;color:var(--bp-text);position:relative}.blog-prose blockquote p{margin:0;color:var(--bp-body)}.blog-prose blockquote>*+*{margin-top:.5em}.blog-prose blockquote strong{color:var(--bp-heading)}.blog-prose code:not(.not-prose *){font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.92em;padding:.15em .4em;background:var(--bp-code-bg);border:1px solid var(--bp-rule);border-radius:.375rem;color:var(--bp-heading)}.blog-prose pre{margin:1.5em 0;padding:1.1rem 1.25rem;background:var(--bp-pre-bg);color:var(--bp-pre-text);border-radius:.75rem;overflow-x:auto;font-size:.92em;line-height:1.65}.blog-prose pre code,.blog-prose pre code:not(.not-prose *){padding:0;background:transparent;border:0;color:inherit}.blog-prose table{width:100%;margin:0;border-collapse:separate;border-spacing:0;font-size:.95em}.blog-prose thead{background:var(--bp-surface)}.blog-prose td,.blog-prose th{padding:.65rem .85rem;border-bottom:1px solid var(--bp-rule);text-align:left;vertical-align:top;min-width:6rem}.blog-prose td:first-child,.blog-prose th:first-child{border-left:1px solid var(--bp-rule)}.blog-prose td:last-child,.blog-prose th:last-child{border-right:1px solid var(--bp-rule)}.blog-prose thead th{font-weight:600;color:var(--bp-heading);border-top:1px solid var(--bp-rule)}.blog-prose thead th:first-child{border-top-left-radius:.5rem}.blog-prose thead th:last-child{border-top-right-radius:.5rem}.blog-prose tbody tr:last-child td:first-child{border-bottom-left-radius:.5rem}.blog-prose tbody tr:last-child td:last-child{border-bottom-right-radius:.5rem}.blog-prose hr{margin:2.5em 0;border:0;border-top:1px solid var(--bp-rule)}.blog-prose .footnotes{margin-top:3em;padding-top:1.5em;border-top:1px solid var(--bp-rule);font-size:.9em;color:var(--bp-meta)}.blog-prose .footnotes ol{padding-left:1.25rem}.blog-prose .footnotes li{color:var(--bp-meta)}.blog-prose .footnotes p{display:inline;color:var(--bp-meta)}.blog-prose .data-footnote-backref{text-decoration:none;margin-left:.35em}.blog-prose sup{font-weight:600}.blog-prose sup a{color:var(--bp-heading);text-decoration:none;padding:0 .15em;border-bottom:1px dashed var(--bp-underline-dashed);transition:border-color .15s ease}.blog-prose sup a:hover{border-bottom-color:var(--bp-heading)}