:root{--bg: #f6f1e7;--text: #1f1d1a;--muted: #6b655a;--link: #0b57d0;--border: #ddd5c3;--code-bg: #ece5d6;--code-keyword: #8a2be2;--code-string: #1a7f37;--code-number: #b35900;--code-function: #0b57d0;--code-tag: #c0224a;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.0625rem;line-height:1.65}h1,h2,h3,h4{line-height:1.25;margin:2rem 0 .5rem}h1{font-size:1.9rem;margin-top:2.5rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p,ul,ol,dl,pre{margin:0 0 1rem}a{color:var(--link);text-underline-offset:.15em}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.wrap{width:100%;max-width:44rem;margin-inline:auto;padding-inline:1.25rem}.muted{color:var(--muted);font-size:.95rem}.skip-link{position:absolute;left:.5rem;top:.5rem;padding:.4rem .75rem;background:var(--bg);border:1px solid var(--border);transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}.site-header{border-bottom:1px solid var(--border)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1rem}.site-name{color:var(--text);font-weight:600;text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0}.nav a{color:var(--muted);text-decoration:none}.nav a:hover,.nav a.is-active{color:var(--text);text-decoration:underline}.site-footer{margin-top:4rem;border-top:1px solid var(--border);color:var(--muted);font-size:.95rem}.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.25rem}.site-footer__inner p{margin:0}.photo{display:block;width:10rem;height:10rem;margin:2.5rem 0 1rem;border-radius:50%;object-fit:cover}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.social-links{display:flex;flex-wrap:wrap;gap:1rem;margin:0}.social-links a{display:inline-flex;padding:.25rem;color:var(--muted)}.social-links a:hover{color:var(--text)}.inline-list{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0}.entries>li{margin-bottom:2rem}.entries>li h2,.entries>li h3{margin-top:0}.entries>li p{margin-bottom:.5rem}.bullets{list-style:disc;padding-left:1.25rem}.bullets li{margin-bottom:.35rem}.skills dt{font-weight:600}.skills dd{margin:0 0 .75rem}.prose>*+*{margin-top:1rem}.prose h2{margin-top:2.25rem}.prose .heading-anchor{display:none}.prose ul,.prose ol{padding-left:1.5rem}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose blockquote{margin:1rem 0;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted)}.prose hr{border:none;border-top:1px solid var(--border);margin-block:2rem}.prose img{max-width:100%;height:auto}.prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.95rem}.prose th,.prose td{padding:.4rem .75rem;border-bottom:1px solid var(--border);text-align:left}.prose code,.prose pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.prose :not(pre)>code{padding:.1em .35em;background:var(--code-bg);border-radius:3px}.prose pre{padding:1rem;overflow-x:auto;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;line-height:1.5}.prose .code-lang{display:none}.hljs-comment,.hljs-quote{color:var(--muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-type{color:var(--code-keyword)}.hljs-string,.hljs-regexp,.hljs-attribute{color:var(--code-string)}.hljs-number,.hljs-symbol,.hljs-bullet{color:var(--code-number)}.hljs-title,.hljs-section{color:var(--code-function)}.hljs-name,.hljs-tag,.hljs-built_in{color:var(--code-tag)}
