:root{--blog-max-width: 4rem;--blog-prose-width: 65ch}.blog-container{margin-top:-80px;padding-top:0;min-height:100vh}.blog-content{font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blog-prose{max-width:var(--blog-prose-width);line-height:1.75;font-size:1.125rem;color:#181a20}.dark .blog-prose{color:#d1d5db}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose h5,.blog-prose h6{font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;scroll-margin-top:6rem;color:#181a20}.dark .blog-prose h1,.dark .blog-prose h2,.dark .blog-prose h3,.dark .blog-prose h4,.dark .blog-prose h5,.dark .blog-prose h6{color:#f9fafb}.blog-prose h1{font-size:2.25rem}.blog-prose h2{font-size:1.875rem}.blog-prose h3{font-size:1.5rem}.blog-prose h4{font-size:1.25rem}.blog-prose p{margin-bottom:1.5rem;line-height:1.75}.blog-prose blockquote{border-left:4px solid #3b82f6;background:#eff6ff;padding:1.5rem 2rem;margin:2rem 0;border-radius:0 .75rem .75rem 0;font-style:italic;position:relative;quotes:""" """ "'" "'"}.dark .blog-prose blockquote{background:#3b82f61a;border-left-color:#60a5fa}.blog-prose blockquote:before{content:open-quote;font-size:4rem;color:#93c5fd;position:absolute;top:-.5rem;left:1rem;line-height:1;font-family:Georgia,serif}.blog-prose code{background:#f3f4f6;padding:.125rem .375rem;border-radius:.375rem;font-size:.875rem;font-weight:500;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.dark .blog-prose code{background:#374151;color:#e5e7eb}.blog-prose pre{background:#1f2937;padding:1.5rem;border-radius:.75rem;overflow-x:auto;margin:2rem 0}.blog-prose pre code{background:transparent;padding:0;color:#e5e7eb}.blog-prose table{width:100%;border-collapse:collapse;margin:2rem 0;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.blog-prose th,.blog-prose td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.blog-prose th{background:#f9fafb;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.dark .blog-prose th{background:#374151;color:#f3f4f6}.dark .blog-prose td,.dark .blog-prose th{border-bottom-color:#4b5563}.blog-prose ul,.blog-prose ol{margin:1.5rem 0;padding-left:2rem}.blog-prose li{margin:.5rem 0;line-height:1.75}.blog-prose ul li{list-style-type:none;position:relative}.blog-prose ul li:before{content:"•";color:#3b82f6;font-weight:700;position:absolute;left:-1rem}.blog-prose a{color:#2563eb;text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:all .2s ease}.blog-prose a:hover{color:#1d4ed8;border-bottom-color:#3b82f6}.dark .blog-prose a{color:#60a5fa}.dark .blog-prose a:hover{color:#93c5fd;border-bottom-color:#60a5fa}.blog-prose img{border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d;margin:2rem auto;max-width:100%;height:auto}.blog-prose figure{margin:2rem 0}.blog-prose figcaption{text-align:center;font-size:.875rem;color:#6b7280;margin-top:.75rem;font-style:italic;line-height:1.5}.dark .blog-prose figcaption{color:#9ca3af}@media print{.blog-content{font-size:12pt;line-height:1.5;color:#000}.blog-prose h1{font-size:18pt}.blog-prose h2{font-size:16pt}.blog-prose h3{font-size:14pt}.no-print{display:none!important}.blog-prose a{color:#000!important;text-decoration:underline}.blog-prose a:after{content:" (" attr(href) ")";font-size:.8em;color:#666}}@media (prefers-reduced-motion: reduce){.blog-content *,.reading-progress{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){.blog-prose{color:#000}.dark .blog-prose{color:#fff}.blog-prose a{color:#06c;text-decoration:underline}.dark .blog-prose a{color:#66b3ff}}.blog-content a:focus-visible,.blog-content button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.25rem}@media (max-width: 768px){.blog-prose{font-size:1rem;line-height:1.6}.blog-prose h1{font-size:1.875rem}.blog-prose h2{font-size:1.5rem}.blog-prose h3{font-size:1.25rem}.blog-prose blockquote{margin-left:0;margin-right:0;padding:1rem 1.5rem}}
