:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:var(--accent-fg);text-decoration:inherit}a:hover{color:var(--accent-highlight-fg)}body{margin:0;min-width:320px;min-height:100vh}#app{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--accent-bg);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--accent-fg)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{--base-bg: white;--bg: whitesmoke;--base-fg: black;--fg: #213547;--accent-fg: #646cff;--accent-highlight-fg: #747bff;--accent-bg: #f9f9f9}@media screen and (prefers-color-scheme: dark){:root{--base-bg: black;--bg: #242424;--base-fg: white;--fg: rgba(255, 255, 255, .87);--accent-bg: #1a1a1a;--accent-highlight-fg: #535bf2}}@media print{#app>*{display:none}#cv{display:initial}}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_gPqPQw.ttf) format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:100;font-display:swap;src:url(https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjojIWWaA.ttf) format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjo0oSWaA.ttf) format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoUoOWaA.ttf) format("truetype")}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/robotoslab/v34/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoJYOWaA.ttf) format("truetype")}#cv{position:relative;justify-content:flex-start;--gap: 2em;--page-padding: 1.5cm;padding:var(--page-padding);width:calc(210mm - 2 * var(--page-padding));min-height:calc(296mm - 2 * var(--page-padding));font-family:"Roboto Slab",Serif,serif;font-size:10pt;color-scheme:light dark;color:var(--fg);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--picture-width: calc(var(--picture-zoom) * (var(--picture-clip-right) - var(--picture-clip-left)));--picture-height: calc(var(--picture-zoom) * (var(--picture-clip-bottom) - var(--picture-clip-top)))}#cv a{font-weight:500;color:var(--accent-fg);text-decoration:inherit}#cv a:hover{color:var(--accent-highlight-fg)}#cv .fa-li.before-a{color:var(--accent-fg)}#cv .picture:is(img){width:calc(var(--picture-zoom) * var(--picture-original-width));height:calc(var(--picture-zoom) * var(--picture-original-height));position:absolute;top:calc(var(--page-padding) - var(--picture-clip-top) * var(--picture-zoom));left:calc(var(--page-padding) - var(--picture-clip-left) * var(--picture-zoom))}#cv .picture:is(img).background{clip:rect(calc(var(--picture-clip-top) * var(--picture-zoom) - var(--page-padding)) calc(var(--picture-clip-right) * var(--picture-zoom)) calc(var(--picture-clip-bottom) * var(--picture-zoom)) calc(var(--picture-clip-left) * var(--picture-zoom) - var(--page-padding)));filter:blur(8px);opacity:.5}#cv .picture:is(img).foreground{clip:rect(calc(var(--picture-clip-top) * var(--picture-zoom)) calc(var(--picture-clip-right) * var(--picture-zoom)) calc(var(--picture-clip-bottom) * var(--picture-zoom)) calc(var(--picture-clip-left) * var(--picture-zoom)))}#cv .picture.border{--border: 10px;width:calc(var(--picture-width) - 2 * var(--border));height:calc(var(--picture-height) - 2 * var(--border));border:var(--border) solid black;z-index:1;flex-shrink:0;flex-grow:0}#cv svg text{fill:var(--fg)!important}#cv svg .gridlayer path.crisp{stroke:var(--fg)!important}#cv h1,#cv h2,#cv h3,#cv h4,#cv h5,#cv h6{margin:calc(var(--gap) * .5) 0}#cv h1 .h-coloring,#cv h2 .h-coloring,#cv h3 .h-coloring,#cv h4 .h-coloring,#cv h5 .h-coloring,#cv h6 .h-coloring{background:var(--base-fg);color:var(--base-bg)}#cv h1:first-child,#cv h2:first-child,#cv h3:first-child,#cv h4:first-child,#cv h5:first-child,#cv h6:first-child{margin-top:0}#cv h1:not(.split),#cv h2:not(.split),#cv h3:not(.split),#cv h4:not(.split),#cv h5:not(.split),#cv h6:not(.split){background:var(--base-fg);color:var(--base-bg);padding:var(--h-padding)}#cv h1.split>span,#cv h2.split>span,#cv h3.split>span,#cv h4.split>span,#cv h5.split>span,#cv h6.split>span{background:var(--base-fg);color:var(--base-bg);padding-top:var(--h-padding);padding-bottom:var(--h-padding)}#cv h1.split>span:first-child,#cv h2.split>span:first-child,#cv h3.split>span:first-child,#cv h4.split>span:first-child,#cv h5.split>span:first-child,#cv h6.split>span:first-child{padding-left:var(--h-padding)}#cv h1.split>span:last-child,#cv h2.split>span:last-child,#cv h3.split>span:last-child,#cv h4.split>span:last-child,#cv h5.split>span:last-child,#cv h6.split>span:last-child{padding-right:var(--h-padding)}#cv h1{font-size:20pt}#cv h2{font-size:14pt;font-family:"Roboto Slab",Serif,serif;font-weight:600}body{background:var(--base-bg)}@media (max-width: 210mm){#cv{position:absolute;left:0;right:0;top:0;width:calc(100% - 2 * var(--h-padding));height:calc(100% - var(--v-padding));padding-bottom:0;box-shadow:none!important}}@media screen and (max-width: 700px){#cv .row{flex-direction:column!important}#cv #name{position:absolute;top:var(--page-padding);right:var(--page-padding);width:calc(100% - var(--picture-width) - 2 * var(--page-padding) - var(--gap))}#cv header h2{margin-left:0!important;--h-padding: 0 !important;background:var(--base-fg)}#cv #details{width:100%!important}}@media print{@page{size:A4;margin:0}#cv{position:absolute;left:0;right:0;top:0;width:calc(100% - 2 * var(--h-padding));height:calc(100% - var(--v-padding));padding-bottom:0;box-shadow:none!important}}@media screen{#cv{box-shadow:0 3px 10px color-mix(in srgb,var(--base-fg),transparent 20%)}}.column{display:flex;flex-direction:column;justify-content:space-between;gap:var(--gap)}.row{display:flex;flex-direction:row;justify-content:space-between;gap:var(--gap)}#cv header *{--gap: 5px}#cv header #name{margin-top:5px;margin-bottom:.5em;font-size:20pt}#cv header ul{margin-top:0;margin-bottom:0;font-size:11pt}#cv header h2{margin-left:2em;margin-block-start:1em;margin-block-end:0;--h-padding: 2px}#cv header code{font-family:"Roboto Slab",Serif,serif;letter-spacing:.2rem;font-weight:300}#cv header p{font-weight:300;margin:0}#cv header a{font-family:Roboto Mono,Monospaced,monospace;font-weight:300}#cv header svg .yaxislayer-above{transform:translate(-10px)}#cv #details{width:var(--picture-width);flex-shrink:0}#cv #experiencesContainer{justify-content:flex-start;--gap: 10px}#cv #experiences th{text-align:left;font-size:11pt;font-weight:600}#cv #experiences tr:not(:first-child) th{padding-top:2em}#cv #experiences .description{text-indent:1.7em;font-family:Roboto,Arial,sans-serif;font-size:9pt;font-weight:400;font-style:italic}#cv #experiences .skills{width:100%;display:flex;flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:1em}#cv #experiences .skills .skill{border:.5em solid var(--skill-bg, #48f);border-top:0;border-bottom:0;border-radius:.5em;background:var(--skill-bg, #48f);color:#000;font-family:Roboto,Arial,sans-serif;font-weight:400;font-style:normal}#skillTreeMapOverlay{visibility:hidden;position:absolute;z-index:1;width:calc(100% - 2 * var(--page-padding));display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center}h2#skillTreeMapOverlay>span{display:inline-block}#skillTreeMapOverlay small{font-family:Roboto,Arial,sans-serif;z-index:-1;color:color-mix(in srgb,var(--fg),var(--bg) 20%);background:color-mix(in srgb,var(--bg),transparent 50%)}@media print{#skillTreeMap{opacity:.5}#skillTreeMapOverlay{visibility:initial}}body{margin:0}
