:root{--color-white: #dedede;--color-black: #181818;--color-background: #333;--color-full: #cc7832;--color-light: #eab868;--color-accent: #9876aa;--color-accent-dark: rgb(151 118 171 / 50%);--anim-duration: .35s;--anim-easing: cubic-bezier(.25, .87, .58, 1);--spacer-xs: .2rem;--spacer-sm: .5rem;--spacer: 1rem;--spacer-md: 1.5rem;--spacer-lg: 2rem;--spacer-xl: 5rem;--radius: .313rem;--fontsize-1: 1.8rem;--fontsize-2: 1.5rem;--fontsize-3: 1.2rem;--fontsize-4: 1rem;--bp-desktop: 1024px;--font-sans: ubuntu}@media print{:root{--fontsize-1: 18pt;--fontsize-2: 15pt;--fontsize-3: 12pt;--fontsize-4: 10pt;--spacer: 10pt;--spacer-md: 12pt;--spacer-lg: 18pt;--spacer-xl: 26pt}}@media (prefers-reduced-motion){:root{--anim-duration: 0}}*,*:before,*:after{background:transparent;border:0;box-sizing:border-box;margin:0;padding:0;position:relative}html{font-family:var(--font-sans),system-ui,sans-serif;scroll-behavior:smooth;scroll-padding:var(--spacer-lg)}body{background:var(--color-background);font-size:var(--fontsize-4);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;min-height:100vh;padding:0;text-rendering:optimizelegibility}@page{margin:0;size:a4}h1{font-size:var(--fontsize-1)}h2{font-size:var(--fontsize-2)}h3,h4,h5,h6{font-size:var(--fontsize-3)}p{line-height:1.4}hr{background:currentcolor;height:1px;opacity:.5;width:100%}blockquote{border-left:2px solid var(--color-accent);font-style:italic;max-width:512px;padding-block:var(--spacer-sm);padding-inline-start:var(--spacer-md)}mark{background-color:var(--color-light);color:var(--color-black);padding:.2em}i{color:var(--color-accent);font-style:normal}a{color:var(--color-light);cursor:url(/icons/hand-pointer-duotone.svg) 16 4,pointer;text-underline-offset:3px}a:hover{text-decoration:underline;text-decoration-color:var(--color-accent)}a[target=_blank]{cursor:url(/icons/external-link-square-duotone.svg) 16 16,pointer}ul{padding-inline-start:var(--spacer-lg)}ul li{padding-block:var(--spacer-xs)}.fade-enter-active,.fade-leave-active{transition:opacity var(--anim-duration) var(--anim-easing)}.fade-enter-from,.fade-leave-to{opacity:0}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ubuntu-latin-400-normal.5Llmrjj6.woff2) format("woff2"),url(/_astro/ubuntu-latin-400-normal.CB0YmOUt.woff) format("woff")}@font-face{font-family:Ubuntu;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ubuntu-latin-700-normal.BOBUN3KY.woff2) format("woff2"),url(/_astro/ubuntu-latin-700-normal.CNhgAdGR.woff) format("woff")}.OFooter{align-items:center;background-color:var(--color-black);color:var(--color-white);display:flex;flex-direction:column-reverse;gap:1rem;justify-content:space-between;padding:2rem;text-align:center}@media print{.OFooter{flex-direction:row}}@media (min-width: 1024px){.OFooter{flex-direction:row}}@media print{.OFooter{display:none}}.OFooter__hints{max-width:380px}@media print{.OFooter__hints{text-align:start}}@media (min-width: 1024px){.OFooter__hints{text-align:start}}@media print{.OFooter__imprint{text-align:end}}@media (min-width: 1024px){.OFooter__imprint{text-align:end}}.ANavLink{color:var(--color-accent);font-family:monospace;font-size:var(--fontsize-4);padding:.5rem;position:relative;text-decoration:none;text-transform:lowercase}@media (width >= 1024px){.ANavLink{font-size:var(--fontsize-2);padding:1rem}}.ANavLink[data-variant=call]{cursor:url(/icons/phone-square-alt-duotone.svg) 32 32,pointer}.ANavLink[data-variant=write]{cursor:url(/icons/envelope-square-duotone.svg) 32 32,pointer}.ANavLink[data-variant=chat]{cursor:url(/icons/whatsapp-square-brands.svg) 32 32,pointer}.ANavLink:hover{text-decoration:none}.MNavList{display:flex;list-style-type:none}.MNavList li{display:inline}.ONavBar{align-items:center;background-color:var(--color-black);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;padding:2rem}@media print{.ONavBar{flex-direction:row}}@media (min-width: 1024px){.ONavBar{flex-direction:row}}@media print{.ONavBar{display:none}}.ONavBar__logo{max-width:50vw}.TPage{min-height:100vh}.TPage main{align-items:center;color:var(--color-white);display:flex;flex-direction:column;justify-content:center;margin:auto;max-width:var(--bp-desktop);padding:4rem 1rem;width:100%}@media print{.TPage main{padding:4rem 0}}@media (min-width: 1024px){.TPage main{padding:4rem 0}}@media print{.TPage main{padding:var(--spacer-lg)}}.TFlex{--flex-gap: var(--spacer-md);display:flex;flex-flow:column wrap;gap:var(--flex-gap);width:100%}@media print{.TFlex:not([data-column]){flex-direction:row}}@media (min-width: 1024px){.TFlex:not([data-column]){flex-direction:row}}.TFlex[data-spacious]{--flex-gap: var(--spacer-xl)}.ASocialLink{--icon-filter: invert(94%) sepia(42%) saturate(7007%) hue-rotate(310deg) brightness(99%) contrast(85%);align-items:center;display:flex}.ASocialLink:hover{--icon-filter: invert(56%) sepia(11%) saturate(1221%) hue-rotate(235deg) brightness(88%) contrast(88%)}.ASocialLink__icon{filter:var(--icon-filter)}.QNoPrint[data-v-3552e451]{display:contents}@media print{.QNoPrint[data-v-3552e451]{display:none}}.QYesPrint[data-v-3552e451]{display:none}@media print{.QYesPrint[data-v-3552e451]{display:contents}}.OIntro{flex-wrap:nowrap}.OIntro__content{flex-grow:0;flex-shrink:1;text-align:start}.OIntro__content h1 em{color:var(--color-light);font-style:normal}.OIntro__img{height:auto;max-width:512px;object-fit:contain;width:100%}.OIntro__links{display:flex;gap:var(--spacer-sm);list-style-type:none}@media print{.OIntro__brief{columns:2;max-height:5lh}}.OSelfDescription{font-size:var(--fontsize-3)}.OFloatingNav{background-color:var(--color-background);height:100%;left:calc(-1 * var(--spacer-lg));padding:var(--spacer);position:absolute;top:0;transform:translate(-100%);z-index:1000}.OFloatingNav:focus,.OFloatingNav:focus-within{transform:translate(var(--spacer))}@media print{.OFloatingNav,.OFloatingNav:focus,.OFloatingNav:focus-within{transform:translate(-100%)}}@media (min-width: 1024px){.OFloatingNav,.OFloatingNav:focus,.OFloatingNav:focus-within{transform:translate(-100%)}}@media print{.OFloatingNav{display:none}}.OFloatingNav__list{display:flex;flex-direction:column;gap:var(--spacer-sm);list-style-type:none;position:sticky;top:var(--spacer-lg)}.AComment{color:var(--color-light);font-family:monospace;font-style:normal;letter-spacing:-1px;padding-inline-start:var(--spacer-sm)}.OLanguages td:first-child{white-space:nowrap;width:0}.ACurriculumEntryTitle{align-items:center;display:flex;flex-direction:column;gap:var(--spacer-xs);width:100%}@media print{.ACurriculumEntryTitle{flex-direction:row}}@media (min-width: 1024px){.ACurriculumEntryTitle{flex-direction:row}}.MCurriculumEntry{flex-wrap:nowrap}.MCurriculumEntry__date{background-color:var(--color-background);display:flex;font-size:var(--fontsize-3);font-weight:700;height:100%;padding:var(--spacer-md);position:sticky;top:0;width:100%;z-index:100}@media print{.MCurriculumEntry__date{padding:0;top:var(--spacer-md);width:128px}}@media (min-width: 1024px){.MCurriculumEntry__date{padding:0;top:var(--spacer-md);width:128px}}@media print{.MCurriculumEntry__date{left:unset;position:relative;top:unset}}.OCurriculum[data-v-19db4d8f]{break-after:always}.MProjectCard{--name-scale: 1;align-items:center;display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;max-width:100%;text-decoration:none}.MProjectCard:hover{--name-scale: 1.1}.MProjectCard__image{display:flex;height:auto;max-height:256px;max-width:100%}.MProjectCard__name{display:flex;font-size:var(--fontsize-2);line-height:1;margin:auto;padding:1rem 1rem 1rem 1.5rem;position:relative;text-align:center;transform:scale(var(--name-scale));transition:transform var(--anim-duration) var(--anim-easing)}.MOpenSourceProject__imageWrapper{width:100%}.MOpenSourceProject__imageLink{display:block;width:100%}.MOpenSourceProject__image{border:2px dashed var(--color-accent);display:block;height:auto;width:100%}.AGithubCTA__content{align-items:center;background-color:var(--color-accent-dark);color:var(--color-light);font-size:var(--fontsize-1);justify-content:flex-end;padding:var(--spacer-lg);width:100%}.AGithubCTA__icon{filter:invert(94%) sepia(42%) saturate(7007%) hue-rotate(310deg) brightness(99%) contrast(85%)}.AGithubCTA:hover{text-decoration-color:var(--color-light)}
