.article-content{font-family:Charter,Georgia,Cambria,Times New Roman,serif;font-size:1.125rem;line-height:1.75;color:hsl(var(--foreground) / .9);letter-spacing:-.003em}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:hsl(var(--foreground))}.article-content h1{font-size:2.25rem;margin-top:3rem;margin-bottom:1.5rem}.article-content h2{font-size:1.875rem;margin-top:3rem;margin-bottom:1.25rem;padding-top:.5rem}.article-content h3{font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem}.article-content h4{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}.article-content p{margin-bottom:1.5rem;text-wrap:pretty}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p{margin-top:0}.article-content>p:first-of-type:first-letter{float:left;font-size:3.5rem;line-height:1;font-weight:600;margin-right:.5rem;margin-top:-.1rem;font-family:var(--font-sans)}.article-content a{color:hsl(var(--primary));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;text-decoration-color:hsl(var(--primary) / .3);transition:text-decoration-color .2s}.article-content a:hover{text-decoration-color:hsl(var(--primary) / .8)}.article-content ul,.article-content ol{padding-left:1.75rem;margin-bottom:1.5rem}.article-content li{margin-bottom:.5rem;line-height:1.75}.article-content li>p{margin-bottom:.5rem}.article-content blockquote{font-style:italic;border-left:3px solid hsl(var(--border));padding-left:1.5rem;margin:2rem 0;color:hsl(var(--muted-foreground))}.article-content blockquote p{line-height:1.65}.article-content code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.875rem;background:hsl(var(--secondary));padding:.125rem .375rem;border-radius:.25rem}.article-content pre{margin:2rem 0;border-radius:.5rem;overflow-x:auto}.article-content pre code{background:none;padding:0;font-size:.875rem;line-height:1.6}.article-content img{width:100%;height:auto;border-radius:.5rem;margin:2rem 0}.article-content figcaption{text-align:center;font-size:.875rem;color:hsl(var(--muted-foreground));margin-top:.75rem;font-family:var(--font-sans)}.article-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem;font-family:var(--font-sans)}.article-content th{text-align:left;font-weight:600;padding:.75rem;border-bottom:2px solid hsl(var(--border))}.article-content td{padding:.75rem;border-bottom:1px solid hsl(var(--border))}.article-content hr{border:none;height:1px;background:hsl(var(--border));margin:3rem 0}.article-content strong{font-weight:600;color:hsl(var(--foreground))}.article-content em{font-style:italic}.astro-code{background-color:#1e1e1e!important;color:#d4d4d4!important;padding:1.5rem!important;border-radius:.5rem!important;overflow-x:auto!important;font-size:.875rem!important;line-height:1.6!important;margin:2rem 0!important}.astro-code code{background:none!important;color:inherit!important;font-family:SF Mono,Monaco,Consolas,Courier New,monospace!important}.astro-code span,.astro-code .token,.astro-code .keyword,.astro-code .string,.astro-code .function,.astro-code .number,.astro-code .operator,.astro-code .class-name,.astro-code .property{background:none!important;background-color:transparent!important}.astro-code,.astro-code *{color:#d4d4d4}.astro-code .token.keyword{color:#c586c0!important}.astro-code .token.string{color:#ce9178!important}.astro-code .token.function{color:#dcdcaa!important}.astro-code .token.number{color:#b5cea8!important}.astro-code .token.operator{color:#d4d4d4!important}.astro-code .token.comment{color:#6a9955!important}@media (max-width: 768px){.article-content{font-size:1.0625rem;line-height:1.7}.article-content h1{font-size:1.875rem}.article-content h2{font-size:1.5rem}.article-content h3{font-size:1.25rem}.article-content>p:first-of-type:first-letter{float:none;font-size:inherit;line-height:inherit;font-weight:inherit;margin:0}}@media (prefers-color-scheme: dark){.article-content{color:hsl(var(--foreground) / .85)}}
