.blog-prose{color:hsl(var(--foreground));font-size:1rem;line-height:1.7}.blog-prose>*+*{margin-top:1.1em}.blog-prose h2{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin-top:2.25rem;margin-bottom:.5rem;scroll-margin-top:5rem}.blog-prose h3{font-size:1.15rem;font-weight:600;letter-spacing:-.005em;line-height:1.3;margin-top:1.75rem;margin-bottom:.25rem;scroll-margin-top:5rem}.blog-prose h4{font-size:1rem;font-weight:600;margin-top:1.5rem}.blog-prose p{margin-top:1em;margin-bottom:1em}.blog-prose strong{font-weight:600;color:hsl(var(--foreground))}.blog-prose a{color:hsl(var(--primary));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:500}.blog-prose a:hover{text-decoration-thickness:2px}.blog-prose ol,.blog-prose ul{padding-left:1.4rem;margin-top:1em;margin-bottom:1em}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose li{margin-top:.4em}.blog-prose li::marker{color:hsl(var(--muted-foreground))}.blog-prose blockquote{border-left:3px solid hsl(var(--primary));padding:.25rem 0 .25rem 1rem;margin:1.25rem 0;font-style:italic;color:hsl(var(--muted-foreground))}.blog-prose code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.92em;background:hsl(var(--muted));padding:.15rem .35rem;border-radius:.25rem}.blog-prose pre{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem;overflow-x:auto;font-size:.9rem;line-height:1.55;margin:1.25rem 0}.blog-prose pre code{background:transparent;padding:0;border-radius:0}.blog-prose hr{border:0;border-top:1px solid hsl(var(--border));margin:2rem 0}.blog-prose img{border-radius:.5rem;margin:1.5rem 0}.blog-prose table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1.5rem 0;display:block;overflow-x:auto;white-space:nowrap}@media (min-width:640px){.blog-prose table{display:table;white-space:normal}}.blog-prose thead{background:hsl(var(--muted))}.blog-prose th{text-align:left;font-weight:600;padding:.6rem .75rem}.blog-prose td,.blog-prose th{border-bottom:1px solid hsl(var(--border))}.blog-prose td{padding:.55rem .75rem}.blog-prose tr:last-child td{border-bottom:0}@media (min-width:768px){.blog-prose{font-size:1.05rem}.blog-prose h2{font-size:1.75rem}.blog-prose h3{font-size:1.25rem}}