@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500&family=Jolly+Lodger&display=swap";:root{--bg: #ffffff;--text: #1a1a1a;--text-secondary: #525252;--muted: #737373;--border: #e5e5e5;--accent: #3b82f6;--accent-hover: #2563eb;--code-bg: #f5f5f5;--code-border: #e5e5e5;--content-width: 680px;--line-height: 1;--radius: 8px}html{background:var(--bg)}body{margin:0 auto;color:var(--text);font-family:Crimson Pro,Georgia,serif,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:var(--line-height);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blog{max-width:var(--content-width);margin:0 auto;padding:0 1.5rem 4rem}.hero-wrap{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-bottom:0}.blog-hero{width:100%;height:35vh;max-height:420px;min-height:240px;object-fit:cover;object-position:center;display:block}.blog-title{font-size:2.5rem;font-weight:700;line-height:1.15;margin:3rem 0 .75rem;letter-spacing:-.02em;color:var(--text)}.blog-date{display:block;font-size:.875rem;color:var(--muted);font-weight:500;margin-bottom:2rem}.blog-content{margin-top:1.5rem;font-size:1.0625rem;line-height:1.6;color:var(--text-secondary)}.blog-content img{width:100%;max-width:100%;height:auto;display:block;margin:1.75rem auto;border-radius:var(--radius);border:1px solid var(--border)}.blog-content p{margin:.875rem 0}.blog-content h2,.blog-content h3,.blog-content h4{margin-top:2rem;margin-bottom:.75rem;line-height:1.3;color:var(--text);font-weight:600;letter-spacing:-.01em}.blog-content h2{font-size:1.75rem;margin-top:2.5rem}.blog-content h3{font-size:1.375rem}.blog-content h4{font-size:1.125rem}.blog-content ul,.blog-content ol{padding-left:1.5rem;margin:1rem 0}.blog-content li{margin:.375rem 0;line-height:1.6}.blog-content li>p{margin:.5rem 0}.blog-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.blog-content a:hover{border-bottom-color:var(--accent)}.blog-content code{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.775em;background:var(--code-bg);color:#e11d48;padding:.2em .4em;border-radius:4px;border:1px solid var(--code-border);font-weight:100}.blog-content pre{padding:1.25rem 1.5rem;overflow-x:auto;border-radius:var(--radius);border:1px solid var(--code-border);margin:1.5rem 0;line-height:1.6}.blog-content pre code{background:none;border:none;padding:0;color:inherit;font-size:.8em}.blog-content blockquote{margin:1.75rem 0;padding:1rem 1.25rem;background:#f9fafb;border-left:4px solid var(--accent);color:var(--text-secondary);font-style:italic;border-radius:0 var(--radius) var(--radius) 0}.blog-content blockquote p{margin:.5rem 0}.blog-content blockquote p:first-child{margin-top:0}.blog-content blockquote p:last-child{margin-bottom:0}.blog-content .footnotes h2{display:none}.sidenote{margin:1.5rem 0;padding:.875rem 1rem;font-size:.875rem;color:var(--text-secondary);background:#f9fafb;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0}@media(min-width:1100px){.sidenote{position:relative;margin-right:-280px;width:240px;float:right;clear:right;font-size:.8125rem;padding:.875rem 1rem}}.blog-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.blog-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem}.blog-content th,.blog-content td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.blog-content th{font-weight:600;color:var(--text);background:#f9fafb}@media(max-width:768px){.blog-title{font-size:2rem;margin-top:2rem}.blog-content{font-size:1rem}.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.25rem}.blog-hero{height:25vh;min-height:200px}}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0000004d}::selection{background:#fef3c7;color:#1a1a1a}::-moz-selection{background:#fef3c7;color:#1a1a1a}
