@font-face{font-family:jetbrains mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/JetBrainsMono-2.304/JetBrainsMono-Regular.woff2)format('woff2')}@font-face{font-family:jetbrains mono;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/JetBrainsMono-2.304/JetBrainsMono-Bold.woff2)format('woff2')}@font-face{font-family:jetbrains mono;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/JetBrainsMono-2.304/JetBrainsMono-Italic.woff2)format('woff2')}@font-face{font-family:jetbrains mono;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/JetBrainsMono-2.304/JetBrainsMono-BoldItalic.woff2)format('woff2')}@font-face{font-family:open sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/OpenSans/OpenSans-VariableFont_wdth,wght.woff2)format('woff2')}@font-face{font-family:open sans;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/OpenSans/OpenSans-Italic-VariableFont_wdth,wght.woff2)format('woff2')}body{color:#222;font-family:open sans,arial,sans-serif;font-weight:400;font-style:normal;font-size:1rem;line-height:1.6;margin:0}a{color:#1e66f5;text-decoration:none}h1,h2,h3,h4,h5,h6{color:#333;font-weight:700;line-height:1.3;margin-top:2rem;margin-bottom:1rem}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4,h5,h6{font-size:1.125rem}.home>h1,.home>h2{padding:0;margin:0}.home>h1{font-size:4rem;font-weight:700;color:#333;line-height:1.3;margin-bottom:1rem}.home>h2{font-family:jetbrains mono,fira mono,menlo,monaco,monospace;color:#666;font-size:2rem;font-weight:500;line-height:1.4;margin-bottom:3rem}.home>p{margin:0}.home>p a:first-of-type{padding-right:.25rem}.home>p a:last-of-type{padding-left:.25rem}address{font-style:normal}code,pre{font-family:jetbrains mono,fira mono,menlo,monaco,monospace}pre{padding:1rem;overflow-x:auto;margin-bottom:1.5rem}blockquote{padding:.5rem 1rem;margin:.75rem 0;color:#666;border-left:.25rem solid #e5e5e5}blockquote p{margin:0;padding:0}.container{display:flex;flex-direction:column;max-width:860px;width:90%;margin:0 auto;min-height:100vh}main{padding-top:0;padding-bottom:2rem}main>*{margin-top:0;padding-top:0}main img{max-width:100%;height:auto}.site-header{padding-top:3.75rem;padding-bottom:3.75rem}.site-footer{margin-top:2.5rem;font-size:.875rem;line-height:1.4}.site-title{font-size:1.5rem;font-weight:700;color:#333;line-height:1.3;margin:0 0 .25rem}.menu{font-family:jetbrains mono,fira mono,menlo,monaco,monospace;display:flex;list-style:none;padding:0;margin:0;font-size:1rem;font-weight:500;line-height:1.4}.menu li{margin-right:1rem}.menu li:last-child{margin-right:0}.menu a{color:#666;text-decoration:none}.menu a:hover{color:#333;text-decoration:none}a:hover{color:#245580}.menu a:hover{color:#333;text-decoration:none}.term{font-family:jetbrains mono,fira mono,menlo,monaco,monospace}.page-title{font-size:2rem;color:#333;font-weight:700;margin-top:0;margin-bottom:2rem;line-height:1.3}section.blog-posts article header{border-bottom:none;margin-bottom:0}.blog-title{margin-top:0;margin-bottom:.25rem}p.blog-meta,p.talk-meta{font-family:jetbrains mono,fira mono,menlo,monaco,monospace;font-size:.95em;margin-top:0;color:#666;margin-bottom:2rem;display:flex;align-items:center;gap:1.25rem}section.talks article{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:1.5rem}section.talks p.talk-meta{margin-bottom:0}section.talks .talk-links span{display:inline-flex;align-items:center}section.talks .talk-links span:not(:last-child)::after{content:"·";color:#666;margin-left:.5rem;margin-right:.5rem}section.talks p.talk-description{margin-top:.5rem}section.talks .talk-title{margin-top:0;margin-bottom:.25rem}section.blog-posts p.blog-meta{margin-top:.5rem;margin-bottom:0}section.blog-posts p.blog-summary{margin-top:.5rem}section.blog-posts article>p{margin-top:0;margin-bottom:0}section.blog-posts article{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:1rem}section.blog-posts article:last-child{margin-bottom:0}main table{margin-bottom:1rem;width:100%;border:1px solid #e5e5e5;border-collapse:collapse;table-layout:auto}main th{background-color:#eff1f5;font-weight:700;text-align:left;padding:.5rem;border:1px solid #e5e5e5}main td{padding:.25rem .5rem;border:1px solid #e5e5e5}main tbody tr{background-color:initial}section.icons{background-color:initial}section.icons .icons-container{align-items:center;justify-content:flex-start}section.icons .icons-content{width:auto}section.icons .icons-content a{margin-left:.25rem;margin-right:.25rem;opacity:.6}section.icons .icons-content a:first-child{margin-left:0}section.icons .icons-content a:last-child{margin-right:0}section.icons .icons-content a:hover{opacity:.8;transition:transform .3s ease,opacity .3s ease}section.icons .icons-content a .icon{width:1rem;height:1rem}img[src="/img/profile.png"]{float:right;margin:0 0 1.5rem 1.5rem;width:240px;max-width:100%;height:auto;border-radius:8px}@media(max-width:768px){img[src="/img/profile.png"]{float:none;display:block;margin:0 auto 1.5rem;width:100%}p.blog-meta,section.talks p.talk-meta{flex-direction:column;align-items:flex-start;gap:.125rem;margin-bottom:.5rem}.blog-content>p:first-of-type,.talk-description>p:first-of-type{margin-top:0}}