.blog-post{max-width:48rem;margin:0 auto;padding:3rem 1.5rem}.blog-post__header{margin-bottom:2.5rem;border-bottom:1px solid hsla(0,0%,100%,.1);padding-bottom:2rem}.blog-post__title{font-family:Inter,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.2;color:#f8fafc;margin:0 0 1rem}.blog-post__date{display:block;font-size:.875rem;color:#94a3b8;margin-bottom:1rem}.blog-post__tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-post__tag{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:9999px;background-color:rgba(37,99,235,.15);color:#0ea5e9;border:1px solid rgba(37,99,235,.3)}.blog-post__repo{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem;font-weight:500;color:#94a3b8;text-decoration:none;padding:.375rem .875rem;border-radius:.375rem;border:1px solid hsla(0,0%,100%,.1);background-color:hsla(0,0%,100%,.04);transition:color .15s,border-color .15s,background-color .15s}.blog-post__repo:hover{color:#f1f5f9;border-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.08)}.blog-post__repo svg{width:1.125rem;height:1.125rem;flex-shrink:0}.blog-post__content.prose{color:#cbd5e1;line-height:1.75;font-size:1.0625rem}.blog-post__content.prose h2{color:#f1f5f9;font-weight:600;font-size:1.5rem;margin-top:2.5rem;margin-bottom:1rem}.blog-post__content.prose h3{color:#f1f5f9;font-weight:600;font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}.blog-post__content.prose p{margin-bottom:1.25rem}.blog-post__content.prose a{color:#0ea5e9;text-decoration:underline;text-underline-offset:2px}.blog-post__content.prose a:hover{color:#2563eb}.blog-post__content.prose code{font-family:JetBrains Mono,monospace;font-size:.875em;background-color:hsla(0,0%,100%,.06);padding:.2em .4em;border-radius:.25rem;color:#e2e8f0}.blog-post__content.prose pre{background-color:#0f172a;border:1px solid hsla(0,0%,100%,.08);border-radius:.5rem;padding:1.25rem;overflow-x:auto;margin-bottom:1.5rem}.blog-post__content.prose pre code{background:none;padding:0;font-size:.875rem}.blog-post__content.prose ol,.blog-post__content.prose ul{padding-left:1.5rem;margin-bottom:1.25rem}.blog-post__content.prose li{margin-bottom:.375rem}.blog-post__content.prose blockquote{border-left:3px solid #2563eb;padding-left:1rem;color:#94a3b8;font-style:italic;margin:1.5rem 0}.blog-post__content.prose img{border-radius:.5rem;margin:2rem 0}.blog-post__content.prose hr{border-color:hsla(0,0%,100%,.1);margin:2rem 0}@media (max-width:640px){.blog-post__title{font-size:1.75rem}}