@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-mono-latin-ext-wght-normal.CXgNM06D.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-mono-latin-wght-normal.CoA7y8X5.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--ink:#1d2433;--paper:#fff;--shade:#eef1f5;--muted:#4b5566;--link:#1f4fbf;--rule:#c9d0db;--signal:#ffd60a;--on-signal:#1d2433;--font:"Atkinson Hyperlegible Next Variable", system-ui, sans-serif;--font-code:"Atkinson Hyperlegible Mono Variable", ui-monospace, monospace;--step--1:.9rem;--step-0:1.125rem;--step-1:1.406rem;--step-2:1.758rem;--step-3:2.197rem;--display:clamp(3.25rem, 1.6rem + 8vw, 7rem);--s-1:.5rem;--s-2:1rem;--s-3:1.5rem;--s-4:2.5rem;--s-5:4rem;--measure:66ch}@media (prefers-color-scheme:dark){:root{--ink:#e9edf3;--paper:#141922;--shade:#1e2430;--muted:#aab3c2;--link:#8fb0ff;--rule:#343c4b}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--step-0);margin:0;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;font-weight:750;line-height:1.2}h1{font-size:var(--step-3);margin-block:0 var(--s-3)}h2{font-size:var(--step-2);margin-block:var(--s-5) var(--s-2)}h3{font-size:var(--step-1);margin-block:var(--s-4) var(--s-1)}p,ul,ol,dl{margin-block:0 var(--s-2)}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:3px}img{max-width:100%;height:auto}code,pre,kbd{font-family:var(--font-code);font-size:.95em}pre.astro-code,pre.astro-code span{color:var(--shiki-light,var(--ink));font-weight:var(--shiki-light-font-weight,inherit)}@media (prefers-color-scheme:dark){pre.astro-code,pre.astro-code span{color:var(--shiki-dark,var(--ink));font-weight:var(--shiki-dark-font-weight,inherit)}}.code-block{margin-block:0 var(--s-2)}pre{padding:var(--s-2) var(--s-2) var(--s-2) 0;background:var(--shade);border:1px solid var(--rule);counter-reset:line;border-radius:4px;margin:0;line-height:1.6;overflow-x:auto}pre code{width:max-content;min-width:100%;font-size:.9em;display:block}pre .line:before{counter-increment:line;content:counter(line) / "";width:2.5rem;margin-right:var(--s-2);text-align:right;color:var(--muted);border-right:1px solid var(--rule);user-select:none;padding-right:.5rem;display:inline-block}.code-toolbar{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-1) var(--s-1) var(--s-2);border:1px solid var(--rule);background:var(--shade);font-family:var(--font-code);font-size:var(--step--1);color:var(--muted);border-bottom:0;border-radius:4px 4px 0 0;display:flex}.code-toolbar+pre{border-radius:0 0 4px 4px}.copy-code{border:2px solid var(--rule);background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);font:inherit;font-family:var(--font-code);font-size:var(--step--1);cursor:pointer;border-radius:4px;padding:.5rem .75rem}.copy-code:hover{border-color:var(--ink)}.copy-code[data-copied]{background:var(--signal);border-color:var(--on-signal);color:var(--on-signal);font-weight:750}.copy-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}:focus-visible{outline-offset:0;outline:3px solid #0000}a:not(.control):focus-visible{background:var(--signal);color:var(--on-signal);box-shadow:0 -2px var(--signal), 0 4px var(--on-signal);text-decoration:none}button:focus-visible,.control:focus-visible{box-shadow:0 0 0 3px var(--signal), 0 0 0 6px var(--on-signal)}main:focus{outline:none}.wrapper{max-width:var(--measure);padding-inline:var(--s-2);margin-inline:auto}.skip-link{left:var(--s-2);z-index:100;padding:var(--s-1) var(--s-2);background:var(--signal);color:var(--on-signal);font-weight:700;position:absolute;top:-100px}.skip-link:focus{top:var(--s-2)}.site-header{padding-block:var(--s-3)}.site-header .wrapper{justify-content:space-between;align-items:baseline;gap:var(--s-1) var(--s-3);flex-wrap:wrap;display:flex}.site-name{font-family:var(--font-code);color:var(--ink);font-weight:700;text-decoration:none}.site-name:hover{text-decoration:underline 3px}.site-nav ul{gap:var(--s-1) var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--ink);padding:.125rem .25rem;text-decoration:none}.site-nav a:hover{text-decoration:underline 3px}.site-nav a[aria-current=page]{background:var(--signal);color:var(--on-signal);font-weight:750}main{padding-block:var(--s-4) var(--s-5)}.site-footer{border-top:1px solid var(--rule);padding-block:var(--s-3);color:var(--muted)}.site-footer p{font-size:var(--step--1);margin:0}.hero{margin-block:var(--s-2) var(--s-5)}.hero-name{margin:0 0 var(--s-3);font-size:var(--display);letter-spacing:-.03em;font-weight:800;line-height:.95}.hero-name span{display:block}.hero-intro{max-width:34ch;font-size:var(--step-1);margin:0;line-height:1.45}.lede{font-size:var(--step-1);line-height:1.45}.data,.meta,.roles,.stack,.facts,.status{font-family:var(--font-code);font-size:var(--step--1)}.meta{color:var(--muted);margin-block:0 var(--s-1)}.breadcrumb{margin-block:0 var(--s-2);font-size:var(--step--1)}.inline-list{gap:var(--s-1) var(--s-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.entry-list{margin:0;padding:0;list-style:none}.entry{padding-left:var(--s-2);border-left:2px solid var(--rule)}.entry+.entry,.entry-list+p{margin-top:var(--s-4)}.entry-title{font-size:var(--step-1);margin:0 0 var(--s-1)}.entry-title a{color:var(--ink);text-decoration-color:var(--rule);text-decoration-thickness:2px}.entry-title a:hover{text-decoration-color:currentColor}.entry-title a:focus-visible{color:var(--on-signal)}.entry p{margin-bottom:var(--s-1)}.roles{font-size:var(--step--1);color:var(--muted)}.roles ul{margin:0;padding:0;list-style:none;display:inline}.roles li{display:inline}.roles li:not(:last-child):after{content:", "}.stack{color:var(--muted);margin-block:0 var(--s-1)}.stack ul{vertical-align:top;flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:inline-flex}.stack code,.prose :not(pre)>code{border:1px solid var(--rule);background:var(--shade);color:var(--ink);border-radius:4px;padding:.1em .4em;font-size:.9em}.control-list{gap:var(--s-1);margin:0 0 var(--s-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.control{border:2px solid var(--rule);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;font-size:var(--step--1);cursor:pointer;border-radius:4px;padding:.5rem .875rem;line-height:1.7;text-decoration:none;display:inline-block}.control:hover{border-color:var(--ink)}.control[aria-current],.control[aria-pressed=true]{border-color:var(--on-signal);background:var(--signal);color:var(--on-signal);font-weight:750}.control-label{margin:0 0 var(--s-1);font-weight:700}.status{color:var(--muted);font-size:var(--step--1)}.facts{gap:var(--s-1);margin-block:var(--s-3) var(--s-4);padding-left:var(--s-2);border-left:2px solid var(--rule);display:grid}.facts .stack{font-size:inherit}.facts>div{gap:var(--s-2);grid-template-columns:7rem 1fr;display:grid}.facts dt{font-weight:700}.facts dd{margin:0}@media (width<=30rem){.facts>div{grid-template-columns:1fr;gap:0}}.prose>:first-child{margin-top:0}.prose h2{font-size:var(--step-1);margin-top:var(--s-4)}.prose li+li{margin-top:.375rem}.entry-footer{margin-top:var(--s-5);padding-top:var(--s-2);border-top:1px solid var(--rule)}.cv-switcher{margin-block:0 var(--s-4);padding:var(--s-2);background:var(--shade);border-radius:4px}.cv-switcher .control-list{margin-bottom:var(--s-1)}.cv-switcher .status{margin:0}.cv-section h2{margin-top:var(--s-4)}.cv-section:first-child h2{margin-top:0}.timeline{--marker:.875rem;padding:0 0 0 var(--s-3);margin:0;list-style:none;position:relative}.timeline:before{content:"";top:.4em;bottom:0;left:calc(var(--marker) / 2 - 1px);background:var(--rule);width:2px;position:absolute}.timeline>li{position:relative}.timeline>li:before{content:"";top:.4em;left:calc(-1 * var(--s-3));width:var(--marker);height:var(--marker);border:2px solid var(--ink);background:var(--paper);border-radius:50%;position:absolute}.timeline>li[data-current]:before{background:var(--ink)}.timeline>li+li{margin-top:var(--s-4)}.timeline h3{margin-top:0}.timeline .org{font-weight:400}.skills>div{margin-bottom:var(--s-2)}.skills dt{font-weight:700}.skills dd,.skills .inline-list{margin:0}@media (forced-colors:active){.timeline:before{background:canvastext}.timeline>li:before{background:canvas;border-color:canvastext}.timeline>li[data-current]:before{background:canvastext}.control[aria-current],.control[aria-pressed=true],.site-nav a[aria-current=page]{border:3px solid canvastext;text-decoration:underline}a:focus-visible,button:focus-visible,.control:focus-visible{outline-offset:2px;outline:3px solid highlight}}@media print{:root{--ink:#000;--paper:#fff;--shade:#fff;--muted:#333;--link:#000;--rule:#999}.skip-link,.site-nav,.site-footer,.cv-switcher,.breadcrumb,.roles{display:none!important}body{font-size:11pt}main{padding-block:0}a{text-decoration:none}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.875em}.timeline article,.entry{break-inside:avoid}}
