@charset "UTF-8";header{max-width:624px;position:relative;padding:32px;margin:0 auto}@media (max-width:624px){header{padding:24px}}header a{border:none;color:var(--fg)}header a:hover{color:rgb(var(--link-fg));border:none}header .to-home{display:inline-flex}header .to-home .title{line-height:1;font-size:12px;padding:4px 0 0 8px;-webkit-font-smoothing:antialiased}header .to-home .monogram{background-image:url(/monogram.72638a97.svg);background-size:cover;border-radius:2px;box-shadow:0 1px 2px var(--shadow);transition:all .3s;height:32px;width:32px}@media (prefers-color-scheme:dark){header .to-home .monogram{background-image:url(/monogram-dark.54eab229.svg)}}header .right{line-height:36px;font-size:18px}header .right>*{margin-left:5px;transition:all .3s;padding:5px}header .right>:hover{color:rgb(var(--link-fg))}pre{-webkit-font-smoothing:antialiased;letter-spacing:.1px;border-radius:5px;line-height:1.6;font-size:14px;overflow:auto;padding:20px 20px 20px 55px}:not(pre)>code,pre{background-color:var(--subtle-contrast-bg)}:not(pre)>code{border-radius:2px;white-space:pre;font-size:90%;padding:2px 4px 3px}code,pre{word-spacing:normal;font-family:PragmataPro;white-space:pre;word-break:normal;word-wrap:normal;text-align:left;position:relative;color:var(--code-fg);-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code .line-numbers,pre .line-numbers{counter-reset:linenumber;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;letter-spacing:-1px;position:absolute;font-size:100%;width:24px;left:-40px;top:-2px}code .line-numbers>span,pre .line-numbers>span{counter-increment:linenumber;color:rgba(149,157,166,.4);pointer-events:none;text-align:right;display:block}code .line-numbers>span:before,pre .line-numbers>span:before{content:counter(linenumber)}code .token.cdata,code .token.comment,code .token.doctype,code .token.prolog,pre .token.cdata,pre .token.comment,pre .token.doctype,pre .token.prolog{color:var(--code-comment)}code .token.punctuation,pre .token.punctuation{color:var(--code-idle-fg)}code .namespace,pre .namespace{opacity:.7}code .token.boolean,code .token.constant,code .token.deleted,code .token.number,code .token.property,code .token.symbol,code .token.tag,pre .token.boolean,pre .token.constant,pre .token.deleted,pre .token.number,pre .token.property,pre .token.symbol,pre .token.tag{color:var(--code-tag)}code .token.attr-name,code .token.builtin,code .token.char,code .token.inserted,code .token.selector,code .token.string,pre .token.attr-name,pre .token.builtin,pre .token.char,pre .token.inserted,pre .token.selector,pre .token.string{color:var(--code-string)}code .language-css .token.string,code .style .token.string,code .token.entity,code .token.operator,code .token.url,pre .language-css .token.string,pre .style .token.string,pre .token.entity,pre .token.operator,pre .token.url{color:var(--code-operator)}code .token.atrule,code .token.attr-value,code .token.keyword,pre .token.atrule,pre .token.attr-value,pre .token.keyword{color:var(--code-keyword)}code .token.class-name,code .token.function,pre .token.class-name,pre .token.function{color:var(--code-function)}code .token.important,code .token.regex,code .token.variable,pre .token.important,pre .token.regex,pre .token.variable{color:var(--code-regex)}code .token.bold,code .token.important,pre .token.bold,pre .token.important{font-weight:700}code .token.italic,pre .token.italic{font-style:italic}code .token.entity,pre .token.entity{cursor:help}.intro{background-color:var(--contrast-bg);border-radius:5px;line-height:20px;align-items:center;font-size:14px;position:relative;padding:18px 28px;display:flex;color:var(--subtle-fg)}@media (max-width:624px){.intro{flex-direction:column;border-radius:0;padding:24px}.intro .image{margin-bottom:16px}}.intro .image{background-image:url(/me.c1a552f2.jpg);background-size:cover;border-radius:50%;margin-right:16px;flex-shrink:0;height:64px;width:64px}@font-face{font-family:PragmataPro;font-style:normal;font-weight:400;src:url(/PragmataProLiga.bb35b022.woff2) format("woff2"),url(/PragmataProLiga.c3d2592b.woff) format("woff")}#cv{font-family:-apple-system,system-ui;flex-direction:column;align-items:center;font-size:16px;display:flex}#cv h2{margin-bottom:24px;font-weight:300;font-size:28px;color:var(--subtle-fg)}#cv .header{align-items:center;display:flex;height:500px;width:624px}#cv .header h1{font-size:34px}@media (max-width:624px){#cv .header{padding-left:30px;width:100%}}#cv .summary{border-bottom:2px solid var(--shadow);border-top:2px solid var(--shadow);justify-content:space-between;margin-bottom:60px;padding:40px 0;display:flex;width:width}#cv .summary li{list-style:none;width:128px}#cv .summary li .name{margin-bottom:8px;font-weight:500;color:var(--subtle-fg);font-size:14px}#cv .summary li .value{line-height:20px;font-weight:400}@media (max-width:624px){#cv .summary{width:100%}}#cv .skills{padding:60px 0;width:624px}#cv .skills .items{justify-content:space-between;flex-wrap:wrap;display:flex;width:100%}#cv .skills .items .item{align-content:baseline;box-sizing:border-box;margin-bottom:32px;align-items:center;flex-wrap:wrap;display:flex;width:47%}#cv .skills .items .item .name{line-height:20px;margin-right:5px;font-weight:500;font-size:16px}#cv .skills .items .item .description{line-height:20px;margin-top:4px;font-size:14px;color:var(--subtle-fg)}#cv .skills .items .item .stars{justify-content:space-between;box-sizing:border-box;padding:4px 5px;display:flex;height:24px;width:116px}#cv .skills .items .item .stars .star{background-image:url(/star.a0278f27.svg);background-repeat:no-repeat;height:20px;width:20px}#cv .skills .items .item .stars .star.-inactive{background-image:url(/star-inactive.b7cf1b9d.svg);background-position:center 15%}#cv .experience{padding:30px 0;width:624px}#cv .experience .items .item{margin-bottom:32px;display:flex}#cv .experience .items .item .side{margin-right:16px;min-width:176px}#cv .experience .items .item .side .logo{background-repeat:no-repeat;background-size:contain;filter:grayscale(100%);height:16px;width:100%;opacity:.4}#cv .experience .items .item .side .logo.is-toptal{background-image:url(/toptal.09fa181f.svg)}#cv .experience .items .item .side .logo.is-vchain{background-image:url(/vchain.be3eb547.svg);max-width:65px}#cv .experience .items .item .side .title{margin-bottom:5px;line-height:20px;font-weight:500;font-size:16px}#cv .experience .items .item .side .period{text-transform:uppercase;margin-bottom:8px;font-weight:700;font-size:11px;color:var(--subtle-fg)}#cv .experience .items .item .description{line-height:22px;font-size:14px}#about h1{margin-bottom:10px}#about img{max-width:100vw;width:624px;margin:32px 0}#about .text{line-height:1.6}@media (max-width:624px){#about .text{padding:0 24px}}#about .text p{margin-bottom:25px}#about .social{display:flex;align-items:center;justify-content:space-evenly;margin-bottom:40px}@media (max-width:624px){#post article{padding:24px}}#post article{line-height:24px;font-size:14px}#post article>*{margin-top:24px}#post article .post-title{margin-top:32px}#post article .post-title .date{line-height:24px;font-size:14px;position:relative;color:var(--subtle-fg)}#post article h1,#post article h2,#post article h3{align-content:baseline;position:relative;display:flex}#post article *+h2,#post article *+h3{margin-top:64px}#post article h1+h2,#post article h2+h3{margin-top:10px}#post article h1+p,#post article h2+p,#post article h3+p{margin-top:16px}#post article .header-anchor{text-decoration:none;font-weight:400;margin-left:-16px;font-size:14px;position:relative;display:inline-block;border:none;color:rgba(var(--subtle-fg),.7);width:16px}#post article .header-anchor:before{content:"¶"}#post article .header-anchor:hover{color:rgb(var(--link-fg))}#post article .button-wrapper{text-align:center}#post article img{transform:translateX(-50%);max-width:100vw;position:relative;display:block;width:1200px;left:50%}#post article hr{height:40px;border:none}#post article hr:after{font-family:monospace;line-height:40px;font-weight:800;text-align:center;content:"* * *";display:block;color:var(--subtle-fg)}#post article ol,#post article ul{padding-left:35px}#post article ol li,#post article ul li{margin-top:25px}#post article ol li>*,#post article ul li>*{margin-top:20px}#post article blockquote{font-family:Georgia,Times New Roman,Times,serif;font-style:italic;font-size:18px;position:relative;padding:0 28px;color:var(--subtle-fg)}#post article blockquote:before{font-family:Georgia,Times New Roman,Times,serif;line-height:1;font-style:normal;font-size:60px;position:absolute;content:"“";color:rgba(var(--subtle-fg),.6);left:-3px;top:0}#post .intro{margin:64px 0}#post .recents{justify-content:space-between;margin-bottom:32px;display:flex}#post .recents .next,#post .recents .prev{line-height:20px;width:50%}#post .recents .next .label,#post .recents .prev .label{margin-bottom:4px;font-weight:600;font-size:14px}#post .recents .next .title,#post .recents .prev .title{margin-bottom:2px;font-weight:500;font-size:15px}#post .recents .next .date,#post .recents .prev .date{font-weight:400;font-size:13px;position:relative;color:var(--subtle-fg)}#post .recents .next .abstract,#post .recents .prev .abstract{color:var(--subtle-fg)}#home{min-height:100vh}#home .intro{margin-top:32px}#home .posts{margin-top:64px}@media (max-width:624px){#home .posts{padding:24px}}#home .posts .post{list-style-type:none;text-decoration:none;margin-bottom:32px;transition:all .3s;display:block;border:none;color:inherit}#home .posts .post:hover .title{color:rgb(var(--link-fg))}#home .posts .post .cover{background-size:cover;flex-shrink:0;min-height:100%;position:absolute;z-index:0;opacity:.4;filter:blur(10px);width:100%}#home .posts .post .title{font-weight:500;line-height:24px;font-size:18px}#home .posts .post .date{line-height:24px;font-size:13px;color:var(--subtle-fg)}#home .posts .post .abstract{line-height:24px;margin-top:16px;font-size:14px;letter-spacing:.05px}#home .posts .post .button{margin-top:20px}:root{--bg:#fff;--contrast-bg:#f5f5f5;--subtle-contrast-bg:#fafafa;--button-bg:#fff;--fg:#172b4d;--link-fg:0,82,204;--subtle-fg:#6b7c99;--shadow:rgba(23,43,77,0.1);--code-fg:rgba(23,43,77,0.7);--code-idle-fg:rgba(23,43,77,0.4);--code-comment:#abb0b6;--code-tag:#55b4d4;--code-string:#86b300;--code-operator:#ed9366;--code-keyword:#fa6e32;--code-function:#f29718;--code-regex:#4cbf99}@media (prefers-color-scheme:dark){:root{--bg:#191d26;--contrast-bg:#212632;--subtle-contrast-bg:#1d222c;--button-bg:#29303f;--fg:#dfe3e6;--link-fg:73,141,242;--subtle-fg:#707a8c;--shadow:rgba(0,0,0,0.2);--code-fg:rgba(223,227,230,0.7);--code-idle-fg:rgba(223,227,230,0.4);--code-comment:#5c6773;--code-tag:#5ccfe6;--code-string:#bae67e;--code-operator:#f29e74;--code-keyword:#ffa759;--code-function:#ffd580;--code-regex:#95e6cb}}@media (prefers-color-scheme:dark){::selection{background-color:rgba(51,136,255,.3)}}*{padding:0;margin:0}strong{font-weight:600}a{text-decoration:none;transition:all .3s;position:relative;color:rgb(var(--link-fg));border-bottom:1.5px solid rgba(var(--link-fg),0)}a:hover{border-bottom:1.5px solid rgba(var(--link-fg),1)}h1,h2,h3,h4{font-weight:500}h1{line-height:40px;font-size:32px}h2{font-size:22px}h2,h3{line-height:24px}h3{font-size:18px}body,html{background-color:var(--bg);text-rendering:optimizeLegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.7;font-size:14px;color:var(--fg);width:100%}.top-gradient{background-image:linear-gradient(0deg,var(--bg),var(--subtle-contrast-bg));transform:translateX(-50%);position:absolute;height:150px;width:100vw;left:50%;top:0}main{margin-right:auto;margin-left:auto;max-width:624px;position:relative}main:before{background-image:linear-gradient(0deg,var(--bg),var(--subtle-contrast-bg));transform:translateX(-50%);position:absolute;display:block;height:200px;width:100vw;left:50%;top:0}footer{line-height:36px;text-align:center;max-width:624px;font-size:13px;margin:0 auto;height:36px;color:var(--subtle-fg)}.button{background-color:var(--button-bg);border-radius:4px;margin-right:auto;margin-left:auto;font-weight:500;line-height:40px;box-shadow:0 4px 15px var(--shadow),0 1px 3px var(--shadow);transition:all .3s;box-sizing:border-box;font-size:15px;padding:0 14px;display:inline-block;height:40px;color:rgb(var(--link-fg))}.button:hover{border-color:transparent;box-shadow:0 7px 18px var(--shadow),0 1px 5px var(--shadow);transform:translateY(-2px)}