*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}html{-moz-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{height:auto;max-width:100%;display:block}input,button,textarea,select{font:inherit}@font-face{font-family:Exo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/exo-bold-webfont.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-bold-webfont.woff2) format("woff2"),url(/fonts/nunito-bold-webfont.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/nunito-medium-webfont.woff2) format("woff2"),url(/fonts/nunito-medium-webfont.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-regular-webfont.woff2) format("woff2"),url(/fonts/nunito-regular-webfont.woff) format("woff")}:root{--color-dark: hsl(0, 0%, 15%);--color-light: hsl(0, 0%, 98%);--color-mid: hsl(0, 0%, 40%);--color-primary: hsl(201, 86%, 29%);--space-zero: clamp(0rem, -.02rem + .11vw, .0625rem);--space-2xs: clamp(.25rem, .16rem + .43vw, .5rem);--space-xs: clamp(.75rem, .71rem + .22vw, .875rem);--space-s: clamp(1rem, .96rem + .22vw, 1.125rem);--space-m: clamp(1.5rem, 1.43rem + .33vw, 1.6875rem);--space-l: clamp(2rem, 1.91rem + .43vw, 2.25rem);--space-xl: clamp(2.25rem, 1.99rem + 1.3vw, 3rem);--space-2xl: clamp(4rem, 3.83rem + .87vw, 4.5rem);--space-3xl: clamp(5rem, 4.78rem + 1.09vw, 5.625rem);--space-4xl: clamp(6rem, 5.74rem + 1.3vw, 6.75rem);--space-xs-s: clamp(.75rem, .62rem + .65vw, 1.125rem);--space-s-m: clamp(1rem, .76rem + 1.2vw, 1.6875rem);--space-s-l: clamp(1rem, .57rem + 2.17vw, 2.25rem);--space-m-l: clamp(1.5rem, 1.24rem + 1.3vw, 2.25rem);--space-m-xl: clamp(1.5rem, .98rem + 2.61vw, 3rem);--space-l-xl: clamp(2rem, 1.52rem + 2.39vw, 3.375rem);--space-xl-2xl: clamp(3rem, 2.48rem + 2.61vw, 4.5rem);--space-2xl-3xl: clamp(4rem, 3.43rem + 2.83vw, 5.625rem);--space-3xl-4xl: clamp(5rem, 4.39rem + 3.04vw, 6.75rem);--size-step-neg-1: clamp(1rem, .96rem + .22vw, 1.125rem);--size-base: clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--size-step-0: clamp(.875rem, .83rem + .22vw, 1rem);--size-step-1: clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--size-step-2: clamp(1.4375rem, 1.33rem + .54vw, 1.75rem);--size-step-3: clamp(1.6875rem, 1.51rem + .87vw, 2.1875rem);--size-step-4: clamp(2.0625rem, 1.85rem + 1.09vw, 2.6875rem);--size-step-5: clamp(2.5625rem, 1.98rem + 2.93vw, 4.25rem);--font-base: Nunito,sans-serif;--font-heading: Exo,sans-serif;--gutter: var(--space-s-m);--wrapper-width: clamp(16rem, 93vw, 85rem)}body{background:var(--color-light);color:var(--color-dark);line-height:1.6;font-size:var(--size-base);font-family:var(--font-base);font-weight:400;display:flex;flex-direction:column;min-height:100vh;border-top:6px solid var(--color-primary)}main{flex:auto}h1{font-size:var(--size-step-3)}h2{font-size:var(--size-step-2)}h3{font-size:var(--size-step-1);line-height:1.2}h4{font-size:var(--size-base)}:is(h1,h2,h3,h4){font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:currentColor;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:.2ex}a:hover{text-underline-offset:.1ex}time{display:block;font-style:italic}p,li,dl,blockquote,figcaption{max-width:65ch}ul{padding-left:1rem}ol{padding-left:1.375rem}ul{list-style-type:"- "}ul li::marker{color:var(--color-mid);font-weight:700}ol li::marker{color:var(--color-mid)}li+li{margin-top:var(--space-s)}main:focus{outline:none}code{color:var(--color-primary);font-size:1em;-webkit-hyphens:none;hyphens:none;-moz-tab-size:2;-o-tab-size:2;tab-size:2;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;box-decoration-break:clone;-webkit-box-decoration-break:clone}pre{padding:var(--space-xs) var(--space-s);background:var(--color-dark);overflow-x:auto;-webkit-overflow-scrolling:touch}pre code{font-size:var(--size-step-neg-1);color:var(--color-light)}.content{--flow-space: var(--space-s);line-height:1.8;max-width:50rem}.content h1+*{--flow-space: .5em}.content :is(h2,h3,h4){--flow-space: var(--space-l)}.prose{--flow-space: var(--space-s);line-height:1.6;max-width:50rem}.prose>img,.prose>table{width:100%}.prose time{font-size:var(--size-step-0)}.prose figure img{border:1px dashed var(--color-mid);margin-inline:auto}.prose li :is(ul,ol){margin-top:.75rem}.prose :is(pre,pre + *,figure,figure + *,h2,h3,h4){--flow-space: var(--space-l)}.prose h1+*{--flow-space: .5em}.prose :is(h2 + *,h3 + *,h4 + *){--flow-space: var(--space-s)}.prose :is(pre){margin-left:50%;max-width:52rem;transform:translate(-50%);width:100vw;border-radius:.25rem}.prose :not(pre)>code{background-color:#f1f5f9;border-color:#e2e8f0;border-radius:.25rem;border-style:solid;border-width:1px;font-size:var(--size-step-neg-1);padding:.2rem .25rem}.site-header .repel{--gutter: .5rem var(--space-m);padding-block:var(--space-m)}.site-header nav a{margin:0;font-size:var(--size-step-neg-1)}.site-header nav [aria-current=page]{color:var(--color-primary)}.site-header__brand{display:inline-block;color:var(--color-primary);font-size:2.5rem;height:2.5rem;line-height:0}.home-intro{--flow-space: 1.5em;--gutter: 1rem;max-width:50rem}.home-intro h1{font-size:var(--size-step-1);color:var(--color-mid)}.home-intro h1:before{all:unset}.home-intro p:first-of-type{--flow-space: .2em;line-height:1.1;color:var(--color-primary);font-family:var(--font-heading);font-size:var(--size-step-5);max-width:18ch}.home-intro p:first-of-type~p{max-width:56ch}.about .skills{--grid-placement: 2;--grid-min-item-size: 12ch;justify-content:space-between}@media (min-width: 640px){.about .skills{--grid-placement: 4;--grid-min-item-size: auto;--grid-max-item-size: auto}}.bookmarks{--grid-min-item-size: 12rem}.experience>*{--flow-space: var(--space-s)}@media (min-width: 640px){.experience__detail{display:flex;justify-content:space-between}}.skip-link{position:absolute;top:var(--gutter);left:var(--gutter);z-index:99}.skip-link:not(:focus){border:0;clip:rect(0 0 0 0);height:0;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.cluster{display:flex;flex-wrap:wrap;gap:var(--gutter, var(--space-s-l));justify-content:var(--cluster-horizontal-alignment, flex-start);align-items:var(--cluster-vertical-alignment, center)}.cluster-xs{--gutter: var(--space-xs) }.cover{display:flex;flex-direction:column}.cover>div{margin-block:auto}.auto-grid{display:grid;grid-template-columns:repeat(var(--grid-placement, auto-fill),minmax(var(--grid-min-item-size, 16rem),var(--grid-max-item-size, 1fr)));gap:var(--gutter, 1rem)}.repel{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:var(--repel-vertical-alignment, center);gap:var(--gutter, var(--space-s-l))}.repel[data-nowrap]{flex-wrap:nowrap}.no-list{padding:0;margin-bottom:0;list-style:none}.flow>*+*{margin-top:var(--flow-space, 1em)}.flow-zero{--flow-space: var(--space-zero)}.flow-space-2xs{--flow-space: var(--space-2xs)}.region{padding-block:var(--region-space, var(--space-l-xl))}.wrapper{width:var(--wrapper-width);margin-left:auto;margin-right:auto;padding-left:var(--gutter, 1rem);padding-right:var(--gutter, 1rem);position:relative}.wrapper[data-size=narrow]{max-width:50rem}.relative{position:relative}.mt-l{margin-top:clamp(2rem,1.91rem + .43vw,2.25rem)}.mt-m{margin-top:clamp(1.5rem,1.43rem + .33vw,1.6875rem)}.mt-xs{margin-top:clamp(.75rem,.71rem + .22vw,.875rem)}.block{display:block}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.gap-2xs{gap:clamp(.25rem,.16rem + .43vw,.5rem)}.pb-m{padding-bottom:clamp(1.5rem,1.43rem + .33vw,1.6875rem)}.pt-s{padding-top:clamp(1rem,.96rem + .22vw,1.125rem)}.text-base{font-size:clamp(1.125rem,1.08rem + .22vw,1.25rem)}.text-step-0{font-size:clamp(.875rem,.83rem + .22vw,1rem)}.text-step-neg-1{font-size:clamp(1rem,.96rem + .22vw,1.125rem)}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.not-italic{font-style:normal}.no-underline{text-decoration-line:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
