@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
@font-face{font-family:Inter var;font-style:normal;font-weight:100 900;font-display:block;src:url(/fonts/Inter-roman.var.woff2)format("woff2")}@font-face{font-family:Inter var;font-style:italic;font-weight:100 900;font-display:block;src:url(/fonts/Inter-italic.latin.var.woff2)format("woff2");font-named-instance:"Italic"}body{-webkit-font-smoothing:subpixel-antialiased;font-feature-settings:"case" 1,"cpsp" 1,"dlig" 1,"cv01" 1,"cv02","cv03" 1,"cv04" 1;font-variation-settings:"wght" 450;font-variant:common-ligatures contextual;letter-spacing:-.02em;background-color:#f8f8ff;margin:0;padding:0;font-family:Inter var,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}b,strong,h3,h4,h5,h6{font-variation-settings:"wght" 650}h1{font-variation-settings:"wght" 850;line-height:2.5rem}h2{font-variation-settings:"wght" 750}blockquote{background:#f9f9f9;border-left:10px solid #ccc;margin:1.5em 10px;padding:.5em 10px;font-style:italic}table{border:3px solid #000;padding:1rem}@media screen and (min-device-pixel-ratio:1.5),screen and (min-resolution:1.5x){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}details summary{cursor:pointer}img.next-image{margin:0}time{font-size:80%}.nav-line .nav-link{color:#69778c}.container{max-width:660px;padding:0 2rem}.prose{font-size:1rem;line-height:1.75}.prose a{color:#0074de}.profile-picture{box-sizing:border-box;background-color:#eee;border-radius:50%;max-width:200px}.profile-picture-border{border-radius:50%;max-width:200px;max-height:200px;box-shadow:0 0 0 3px #fff,0 0 0 4px #ddd,0 0 0 9px #fff}.hero{justify-content:center;width:100%;min-height:300px;padding:3rem;display:flex}.hero-container{flex-wrap:wrap-reverse;justify-content:center;align-items:center;max-width:660px;display:flex}.hero-image{transition:transform .3s;transform:skew(0deg)}.hero-image:hover{transform:rotate3d(-1,1,.3,30deg)}.hero-content{text-align:center}@media screen and (min-width:660px){.hero-container{justify-content:space-between}.hero-content{text-align:left;max-width:60%}}.title{margin:0;font-size:3rem;line-height:1.15}.main{max-width:660px;margin:0 auto}.post-modified-date,.post-create-date,.post-tags{color:#718096;font-size:.9rem}.post-item-more{text-transform:uppercase;font-size:75%}.alert{padding:10px}.alert-primary{background-color:#9ec3eb;border:1px solid #0074de;border-radius:5px}.tech-logos{flex-wrap:wrap;display:flex;position:relative}.tech-description{color:#fff;background:#000;border-radius:10px;margin:-10px 10px 10px;padding:20px;line-height:1.5;position:absolute;transform:translateY(-120%)}.tech-tooltip svg{margin:10px;transition:transform .3s}.tech-tooltip svg:hover{transition:transform .3s;transform:scale3d(1.5,1.5,1.5)rotate3d(1,1,.5,30deg)}.tech-tooltip:hover:before{opacity:1}.tech-tooltip:before{content:attr(data-text);color:#fff;text-align:left;opacity:0;background:#000;border-radius:10px;margin:10px;padding:20px;line-height:1.5;transition:opacity .3s;position:absolute;left:0;transform:translateY(-130%)}.project-summary{column-count:2;column-width:12rem}.company-name{margin-bottom:10px}.position-title{font-size:70%;font-weight:100;display:inline-block}.position-date-range{margin-top:0}.vertical-timeline-element-content li,.vertical-timeline-element-content details{padding:.2rem 0}.name{-webkit-text-fill-color:#0000;-moz-text-fill-color:#0000;background-image:linear-gradient(176deg,#0700b8 0%,#0f8 100%);-webkit-background-clip:text;background-clip:text}.site-navigation{justify-content:flex-end;max-width:660px;margin:0 auto;font-size:90%;display:flex}.site-navigation ul li{list-style-type:none;display:inline-block}.site-navigation a{color:#444;border-bottom:1px solid #0000;margin:.5rem;text-decoration:none;display:block}.site-navigation a:hover{border-bottom:1px solid #000}.long-anchor{word-break:break-all}@media only screen and (max-width:600px){figure{margin-inline:0}}
code[class*=language-],pre[class*=language-]{color:#d6deeb;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]::-moz-selection{text-shadow:none;background:#1d3b53fc}pre[class*=language-] ::-moz-selection{text-shadow:none;background:#1d3b53fc}code[class*=language-]::-moz-selection{text-shadow:none;background:#1d3b53fc}code[class*=language-] ::-moz-selection{text-shadow:none;background:#1d3b53fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#1d3b53fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{color:#fff;background:#011627}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.prolog,.token.cdata{color:#637777;font-style:italic}.token.punctuation{color:#c792ea}.namespace{color:#b2ccd6}.token.deleted{color:#ef53508f;font-style:italic}.token.symbol,.token.property{color:#80cbc4}.token.tag,.token.operator,.token.keyword{color:#7fdbca}.token.boolean{color:#ff5874}.token.number{color:#f78c6c}.token.constant,.token.function,.token.builtin,.token.char{color:#82aaff}.token.selector,.token.doctype{color:#c792ea;font-style:italic}.token.attr-name,.token.inserted{color:#addb67;font-style:italic}.token.string,.token.url,.token.entity,.language-css .token.string,.style .token.string{color:#addb67}.token.class-name,.token.atrule,.token.attr-value{color:#ffcb8b}.token.regex,.token.important,.token.variable{color:#d6deeb}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}
