.blog-toc-link{display:block;border-left:2px solid transparent;border-radius:.375rem;padding:.5rem .5rem .5rem .75rem;font-size:.875rem;line-height:1.4;color:var(--color-text-secondary,#5c5c5c);text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.blog-toc-link:hover{color:var(--color-text,#1a1a1a);border-left-color:var(--brand,#2d5a27);background-color:color-mix(in srgb,var(--brand-muted,#e8f0e0) 40%,transparent)}.blog-toc-link--active,.blog-toc-link[data-active=true]{border-left-color:var(--brand,#2d5a27);background-color:color-mix(in srgb,var(--brand-muted,#e8f0e0) 55%,transparent);color:var(--brand,#2d5a27);font-weight:500}.dark .blog-toc-link{color:var(--color-text-secondary)}.dark .blog-toc-link:hover{color:var(--color-text)}.dark .blog-toc-link--active,.dark .blog-toc-link[data-active=true]{color:var(--brand-light,#4a7c43)}.blog-prose{font-family:var(--font-serif);font-size:1.0625rem;line-height:1.75;color:hsl(var(--foreground));max-width:none}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4{font-family:var(--font-sans);font-weight:700;color:hsl(var(--foreground));letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:1.25rem;line-height:1.25}.blog-prose h1{font-size:2.25rem;font-weight:800;margin-top:0;margin-bottom:2rem}.blog-prose h2{font-size:1.875rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border));margin-top:3rem}.blog-prose h3{font-size:1.5rem;margin-top:2rem}.blog-prose h4{font-size:1.25rem;margin-top:1.5rem}.blog-prose p{margin-top:1.5rem;margin-bottom:1.5rem}.blog-prose p:first-child{margin-top:0}.blog-prose>p:first-of-type:first-letter{font-size:3.5rem;line-height:1;float:left;margin-right:.5rem;margin-top:.1rem;font-weight:700;color:var(--brand)}.blog-prose b,.blog-prose strong{font-weight:700;color:hsl(var(--foreground))}.blog-prose em{font-style:italic;color:hsl(var(--foreground)/.9)}.blog-prose a{color:var(--brand);text-decoration:underline;text-decoration-color:var(--brand-light);text-underline-offset:3px;text-decoration-thickness:1px;transition:all .2s ease;font-weight:500}.blog-prose a:hover{color:var(--brand-light);text-decoration-color:var(--brand);text-decoration-thickness:2px}.blog-prose ol,.blog-prose ul{margin-top:1.5rem;margin-bottom:1.5rem;padding-left:1.75rem}.blog-prose ul{list-style-type:none}.blog-prose ul>li{position:relative;padding-left:1.75rem;margin-top:.75rem;margin-bottom:.75rem}.blog-prose ul>li:before{content:"";position:absolute;left:0;top:.6em;width:.375rem;height:.375rem;background-color:var(--brand);border-radius:50%}.blog-prose ol{counter-reset:list-counter}.blog-prose ol>li{position:relative;counter-increment:list-counter;padding-left:2rem;margin-top:.75rem;margin-bottom:.75rem}.blog-prose ol>li:before{content:counter(list-counter) ".";position:absolute;left:0;font-weight:600;color:var(--brand);font-family:var(--font-sans)}.blog-prose blockquote{margin-top:2rem;margin-bottom:2rem;border-left:4px solid var(--brand);font-style:italic;color:hsl(var(--foreground)/.85);background-color:hsl(var(--brand-muted)/.3);padding:1.5rem;border-radius:0 .5rem .5rem 0}.blog-prose blockquote p{margin-top:0;margin-bottom:0}.blog-prose blockquote p+p{margin-top:1rem}.blog-prose code{font-family:var(--font-mono);font-size:.9em;padding:.2em .4em;border-radius:.25rem;color:var(--accent-brand);font-weight:500}.blog-prose code,.blog-prose pre{background-color:hsl(var(--muted))}.blog-prose pre{margin-top:2rem;margin-bottom:2rem;padding:1.5rem;border-radius:.5rem;overflow-x:auto;border:1px solid hsl(var(--border))}.blog-prose pre code{padding:0;background-color:transparent;color:inherit;font-size:.875rem;line-height:1.75}.blog-prose table{width:100%;margin-top:2rem;margin-bottom:2rem;border-collapse:collapse;font-size:.95rem}.blog-prose thead{border-bottom:2px solid hsl(var(--border))}.blog-prose th{padding:.75rem 1rem;text-align:left;font-weight:700;font-family:var(--font-sans);background-color:hsl(var(--muted)/.5);color:hsl(var(--foreground))}.blog-prose td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}.blog-prose tbody tr:hover{background-color:hsl(var(--muted)/.3)}.blog-prose img{margin-top:2rem;margin-bottom:2rem;border-radius:.75rem;box-shadow:0 4px 12px rgba(0,0,0,.1);max-width:100%;height:auto}.blog-prose figure{margin-top:2.5rem;margin-bottom:2.5rem}.blog-prose figcaption{margin-top:.75rem;text-align:center;font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic}.blog-prose hr{margin-top:3rem;margin-bottom:3rem;border:none;border-top:1px solid hsl(var(--border))}.blog-prose .callout,.blog-prose aside{margin-top:2rem;margin-bottom:2rem;padding:1.25rem 1.5rem;border-left:4px solid var(--accent-brand);background-color:hsl(var(--muted)/.5);border-radius:0 .5rem .5rem 0}.blog-prose .callout p:first-child,.blog-prose aside p:first-child{margin-top:0}.blog-prose .callout p:last-child,.blog-prose aside p:last-child{margin-bottom:0}@media (max-width:768px){.blog-prose{font-size:1rem}.blog-prose h1{font-size:1.875rem}.blog-prose h2{font-size:1.5rem}.blog-prose h3{font-size:1.25rem}.blog-prose h4{font-size:1.125rem}.blog-prose>p:first-of-type:first-letter{font-size:inherit;float:none;margin-right:0;margin-top:0;font-weight:inherit;color:inherit}.blog-prose table{font-size:.875rem}.blog-prose td,.blog-prose th{padding:.5rem .75rem}}.dark .blog-prose blockquote{background-color:hsl(var(--muted)/.3)}.dark .blog-prose code{background-color:hsl(var(--muted)/.8)}.dark .blog-prose pre{background-color:hsl(var(--muted)/.5)}.dark .blog-prose th{background-color:hsl(var(--muted)/.3)}@media print{.blog-prose{font-size:12pt;color:#000}.blog-prose a{color:#000;text-decoration:underline}.blog-prose img{max-width:100%;page-break-inside:avoid}.blog-prose h1,.blog-prose h2,.blog-prose h3{page-break-after:avoid}}