html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}*[hidden]{display:none}body{line-height:1}menu,ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--lt-background: rgb(230, 230, 230);--lt-text: rgb(10, 10, 10);--lt-text-faded: rgba(50, 50, 50, .7);--dt-background: rgb(41, 41, 41);--dt-text: rgb(200, 200, 200);--dt-text-faded: rgba(150, 150, 150, .7);--interactive-color: rgb(3, 148, 184)}:root{--color-background: var(--lt-background);--color-text: var(--lt-text);--color-text-faded: var(--lt-text-faded);--color-interact: var(--interactive-color)}@media (prefers-color-scheme: dark){:root{--color-background: var(--dt-background);--color-text: var(--dt-text);--color-text-faded: var(--dt-text-faded)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400;line-height:1}html{scroll-behavior:smooth}html:has(body.noscroll){overflow:hidden}body.noscroll{overflow:hidden}body{color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:18px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{margin:auto;padding:1rem 1rem 10vh;max-width:1440px}button,a{cursor:pointer}a{color:var(--color-interact)}button:not(.clear){background-color:var(--color-interact);color:var(--color-text);font-size:1.2em;padding:.75em 2em;min-width:70px;min-height:25px;border:none;border-radius:4px;box-shadow:0 0 #000;transition:box-shadow .2s ease-in-out}button:not(.clear):hover{box-shadow:4px 8px 8px -4px #111}button:not(.clear):active{box-shadow:2px 4px 4px -4px #111}button.clear{background-color:transparent;border:none;padding:0;border-radius:50%}h1{font-size:1.4em}h2,h3{font-size:1em}p{font-size:1em;line-height:1.4}.mono{font-family:Courier New,Courier,monospace;font-weight:700}@media screen and (min-width: 720px){#app{padding-left:2rem;padding-right:2rem}h1{font-size:2em}h2{font-size:1.6em}h3{font-size:1.4em}p{font-size:1em;line-height:1.4}}h1[data-v-6be128c4]{margin-bottom:.5rem}h2[data-v-6be128c4]{font-size:1.4em;margin-bottom:2rem}.header button[data-v-6be128c4]{font-size:1em}.header[data-v-6be128c4]{--image-size: 350px;display:grid;grid-template-columns:1fr var(-image-size);grid-template-rows:auto;grid-template-areas:"text image" "nav .";row-gap:4rem;column-gap:4rem;padding-top:10vh;padding-bottom:20vh}.header .text[data-v-6be128c4]{grid-area:text;align-self:end}.header .image[data-v-6be128c4]{grid-area:image}.header nav[data-v-6be128c4]{grid-area:nav;text-align:left}.header nav span[data-v-6be128c4]{display:inline-flex;flex-direction:row;justify-content:space-between;gap:1rem}.header img[data-v-6be128c4]{display:block;width:var(--image-size);height:var(--image-size);border-radius:4px}@media screen and (max-width: 1080px){.header[data-v-6be128c4]{--image-size: 250px;column-gap:2rem}}@media screen and (max-width: 720px){.header[data-v-6be128c4]{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"text" "nav"}.header .image[data-v-6be128c4]{display:none}.header nav[data-v-6be128c4]{text-align:center}}.image-viewer{position:relative}.image-viewer.closed .gallery{display:none}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.image-viewer.closed .overlay{display:none}.gallery{background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;position:fixed;width:100vw;height:100vh;top:0;left:0;z-index:2;padding:2em;cursor:pointer}.gallery ul{display:flex;flex-direction:row;overflow-x:scroll;list-style:none;width:100%;padding:0;margin:0;gap:2em}.interaction{display:flex;flex-direction:column;gap:2em;align-items:center}.gallery ul{cursor:auto}.gallery .interaction:hover~.prompt{opacity:0}.gallery .prompt{position:fixed;opacity:1}.gallery img{min-width:400px;min-height:400px}.cover img{position:relative;display:inline-block;box-shadow:none;transition:all .2s ease-in-out}.prompt{--background-color: black;--color: white;--size: 50px;display:inline-block;width:var(--size);height:var(--size);padding:calc(var(--size) / 25);border-radius:100%;pointer-events:none;background-color:var(--background-color);color:var(--color);box-shadow:4px 4px 4px -2px #000;transition:opacity .1s ease-in}.prompt i:before{font-size:2em;position:absolute;top:20%;left:20%;width:60%;height:60%;color:inherit}.prompt.light{--background-color: white;--color: black}.follow{position:fixed;opacity:0}.still{opacity:1;position:absolute;bottom:20px;right:20px}.image-viewer.closed .cover img:hover~.follow{opacity:1}.image-viewer.closed .cover img:hover~.still{opacity:0}.cover img:hover:not(.disabled){box-shadow:2px 4px 8px -2px #000;transform:scale(1.05)}div.heading{padding-bottom:2rem}div.heading :not(:last-child){margin-bottom:1rem}h2{font-size:1.4em}h3{color:var(--color-text-faded);padding-bottom:.5rem}.project{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;grid-template-areas:"thumb" "details";gap:2rem}.thumb{grid-area:thumb}.roles ul{display:flex;flex-direction:column;gap:.5rem;list-style-type:none}.roles li{display:flex;flex-direction:row}li .dash{padding-right:1rem;font-weight:800}.thumb img{display:block;margin:0 auto;width:100%;height:100%;max-width:400px;max-height:400px;object-fit:cover;border-radius:4px}.details{grid-area:details;display:flex;flex-direction:column;justify-content:start;gap:2rem}.roles{flex-grow:1}.techs ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:start;gap:.5em;list-style:none}.techs li{position:relative}.techs .tooltip{position:absolute;top:-80%;right:60%;text-align:center;padding:.25em .5em;width:max-content;background-color:#050505d9;border-radius:4px;z-index:100}.tooltip[data-hidden=true]{display:none;position:absolute}.tooltip[data-hidden=false]{display:inline-block}.techs img{--size: 35px;width:var(--size);height:var(--size)}@media screen and (min-width: 720px){.project{grid-template-columns:auto 1fr;grid-template-areas:"thumb details"}.roles ul{list-style-position:inside}}@media screen and (min-width: 1020px){.techs ul{gap:2rem}.techs img{--size: 40px}}.project-list[data-v-c806a59b]{display:flex;flex-direction:column;gap:4rem}@media screen and (min-width: 720px){.project-list[data-v-c806a59b]{gap:6rem}}
