@font-face{font-display:swap;font-family:Slabo13px;src:url(/assets/fonts/Slabo13px-Regular.ttf)}@font-face{font-display:swap;font-family:Montserrat;src:url(/assets/fonts/Montserrat-VariableFont_wght.ttf)}@font-face{font-display:swap;font-family:GloriaHallelujah;src:url(/assets/fonts/GloriaHallelujah-Regular.ttf)}*,:after,:before{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#__next,#root{isolation:isolate}:root{color-scheme:light dark;--ease-3:cubic-bezier(.25,0,.3,1);--ease-out-5:cubic-bezier(0,0,0,1);--ease-elastic-out-3:cubic-bezier(.5,1.25,.75,1.25);--ease-elastic-out-4:cubic-bezier(.5,1.5,.75,1.25);--ease-elastic-3:var(--ease-elastic-out-3);--ease-elastic-4:var(--ease-elastic-out-4)}html{scroll-behavior:smooth;scroll-padding-top:var(--margin-header);--margin-header:7.5rem}body{--jet-black:#16161b;--ghostly-white:#f8f8ff;--bluey-white:#dae1f3;--vscode-top-bar-bg:#181818;--vscode-top-bar-text:#aaa;--vscode-top-bar-border:#2b2b2b;--vscode-content-bg:#1f1f1f;--vscode-content-text:#bbd7ef;--shadow-color:0deg 0% 61%;--shadow-elevation-low:0.3px 0.5px 0.7px hsl(var(--shadow-color)/0.34),0.4px 0.8px 1px -1.2px hsl(var(--shadow-color)/0.34),1px 2px 2.5px -2.5px hsl(var(--shadow-color)/0.34);--shadow-elevation-medium:0.3px 0.5px 0.7px hsl(var(--shadow-color)/0.36),0.8px 1.6px 2px -0.8px hsl(var(--shadow-color)/0.36),2.1px 4.1px 5.2px -1.7px hsl(var(--shadow-color)/0.36),5px 10px 12.6px -2.5px hsl(var(--shadow-color)/0.36);background-color:light-dark(var(--ghostly-white),var(--jet-black));font-family:Montserrat,sans-serif;height:100vh;position:relative}[data-theme=dark] body{--shadow-color:0deg 0% 15%}header{--thickness:4px;--header-gap:5rem;align-items:center;background:light-dark(hsla(0,0%,100%,.95),rgba(0,0,0,.95));display:flex;gap:var(--header-gap);justify-content:center;padding:1rem 0;position:fixed;top:0;width:100%;z-index:10}header .backdrop{animation:fix .2s 3s}@keyframes fix{0%{display:none}to{display:block}}@supports (backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px)){header{background:light-dark(hsla(0,0%,100%,.5),rgba(0,0,0,.5))}header:before{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:light-dark(linear-gradient(180deg,#f2f2f2,transparent 50%),linear-gradient(180deg,#000,transparent 50%));inset:0}header:after,header:before{content:"";pointer-events:none;position:absolute}header:after{-webkit-backdrop-filter:blur(12px) brightness(.96);backdrop-filter:blur(12px) brightness(.96);background:hsla(0,0%,100%,.1);bottom:0;height:var(--thickness);left:0;right:0;transform:translateY(100%)}}@supports (mask-image:none) or (-webkit-mask-image:none){header:before{height:200%;-webkit-mask-image:linear-gradient(180deg,#000 0 50%,transparent 50% 100%);mask-image:linear-gradient(180deg,#000 0 50%,transparent 50% 100%)}header:after{animation:fadeIn .3s 4.25s forwards;height:100%;inset:0;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 var(--thickness),transparent var(--thickness));mask-image:linear-gradient(to bottom,#000 0,#000 var(--thickness),transparent var(--thickness))}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}header{animation:slide-in-top 1s cubic-bezier(.23,1,.32,1) 3.25s backwards}header a{opacity:.5;position:relative;text-decoration:none;transition:all .2s}nav:focus-within a,nav:hover a{opacity:1}header a:before{background-color:light-dark(var(--jet-black),var(--ghostly-white));clip-path:polygon(0 0,0 100%,0 100%,0 0,100% 0,100% 100%,0 100%,0 100%,100% 100%,100% 0);content:"";height:1px;left:0;pointer-events:none;position:absolute;top:100%;transform-origin:50% 100%;transition:clip-path .3s,transform .3s cubic-bezier(.2,1,.8,1);width:100%}header a img,header a span{display:inline-block;transition:transform .3s cubic-bezier(.2,1,.8,1)}header a:focus:before,header a:hover:before{clip-path:polygon(0 0,0 100%,50% 100%,50% 0,50% 0,50% 100%,50% 100%,0 100%,100% 100%,100% 0);transform:translate3d(0,2px,0) scale3d(1.08,3,1)}header a:hover img,header a:hover span{transform:translate3d(0,-2px,0)}:is(header a) .me-icon{-webkit-mask:url(/assets/svg/me.svg) no-repeat center;mask:url(/assets/svg/me.svg) no-repeat center}:is(header a) .lab-icon{-webkit-mask:url(/assets/svg/lab.svg) no-repeat center;mask:url(/assets/svg/lab.svg) no-repeat center}:is(header a) .lab-icon,:is(header a) .me-icon{background-color:light-dark(var(--jet-black),var(--ghostly-white));height:2rem;mask-size:cover;width:2rem}.navigation{z-index:10}.navigation a{align-items:center;color:light-dark(var(--jet-black),var(--ghostly-white));display:flex;font-family:Montserrat;font-size:2rem;font-weight:700;gap:.5rem;padding:.25rem}.navigation img{height:2rem}footer,main{margin-left:auto;margin-right:auto;max-width:100%;width:43.75rem}@media (min-width:64rem){footer,main{width:64rem}}@media (min-width:95rem){footer,main{width:56.25rem}}@media (min-width:118.75rem){footer,main{width:70rem}}main{padding-top:var(--margin-header)}footer{align-items:center;border:solid #353535;border-width:2px 0 0;display:grid;grid-template-columns:1fr 1fr 1fr;justify-content:center;padding-bottom:2rem;padding-top:2rem}footer div{text-align:center}main:after{animation:opac 5s infinite alternate;background-image:radial-gradient(rgba(49,49,49,.171) 2px,transparent 0);background-position:-5px -5px;background-size:30px 30px;bottom:0;content:"";height:100%;left:0;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 60%,transparent 100%);position:fixed;right:0;top:0;z-index:-1}[data-theme=dark] main:after{background-image:radial-gradient(hsla(0,0%,81%,.171) 2px,transparent 0)}@keyframes opac{0%{opacity:0}to{opacity:1}}h1{font-size:2rem;letter-spacing:-.05rem}h1,h2{color:light-dark(var(--jet-black),var(--ghostly-white));font-family:Montserrat,sans-serif;font-weight:900}h2{font-size:2.5rem;letter-spacing:-.1rem}h3{color:light-dark(var(--jet-black),var(--ghostly-white));font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-.05rem}.personal-links{display:flex;gap:.5rem;justify-content:center}.personal-links a{transition:transform .2s ease}.personal-links a:hover{transform:scale(1.1) translateY(-7%)}.personal-links .linkedin-icon{-webkit-mask:url(/assets/svg/linkedin-dark.svg) no-repeat center;mask:url(/assets/svg/linkedin-dark.svg) no-repeat center}.personal-links .github-icon{-webkit-mask:url(/assets/svg/github-dark.svg) no-repeat center;mask:url(/assets/svg/github-dark.svg) no-repeat center}.personal-links .github-icon,.personal-links .linkedin-icon{background-color:light-dark(var(--jet-black),var(--ghostly-white));height:2rem;mask-size:cover;width:2rem}.curly-background{display:none}@media (min-aspect-ratio:4/3){.curly-background{align-items:center;display:flex;height:100%;justify-content:space-between;left:0;position:fixed;top:0;width:100%;z-index:-1}}.bracket{height:50vh;width:auto}.left-bracket .drawing{stroke-dashoffset:51}.right-bracket .drawing{stroke-dashoffset:-51}.drawing{animation:draw 1.25s cubic-bezier(.78,0,.22,1) 2.75s forwards;stroke:light-dark(var(--jet-black),var(--ghostly-white));stroke-dasharray:51;stroke-width:1}.no-side-anims .navigation{animation:none!important}.navigation-list{align-items:center;display:flex;gap:var(--header-gap);justify-content:space-around;padding:0}li{list-style:none}@keyframes draw{to{stroke-dashoffset:0;stroke-width:4}}@keyframes slide-in-top{0%{opacity:0;-webkit-transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform:translateY(-1000px) scaleY(2.5) scaleX(.2)}to{opacity:1;-webkit-transform:translateY(0) scaleY(1) scaleX(1);transform:translateY(0) scaleY(1) scaleX(1)}}@media (prefers-reduced-motion:reduce){.drawing{stroke-dashoffset:0!important;stroke-width:4!important}}.no-side-anims .drawing{animation:none!important;stroke-dashoffset:0!important;stroke-width:4!important}.sun-and-moon>:is(.moon,.sun,.sun-beams){transform-origin:center center}.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill)}.theme-toggle:is(:hover,:focus-visible){opacity:.95;transform:scale(1.1)}.sun-and-moon>.sun-beams{stroke:var(--icon-fill);stroke-width:2px}[data-theme=dark] .sun-and-moon>.sun{transform:scale(1.75)}[data-theme=dark] .sun-and-moon>.sun-beams{opacity:0}[data-theme=dark] .sun-and-moon>.moon>circle{transform:translate(-7px)}@supports (cx:1){[data-theme=dark] .sun-and-moon>.moon>circle{cx:17;transform:translate(0)}}@media (prefers-reduced-motion:no-preference){.sun-and-moon>.sun{transition:transform .5s var(--ease-elastic-3)}.sun-and-moon>.sun-beams{transition:transform .5s var(--ease-elastic-4),opacity .5s var(--ease-3)}.sun-and-moon .moon>circle{transition:transform .25s var(--ease-out-5)}@supports (cx:1){.sun-and-moon .moon>circle{transition:cx .25s var(--ease-out-5)}}[data-theme=dark] .sun-and-moon>.sun{transform:scale(1.75);transition-duration:.25s;transition-timing-function:var(--ease-3)}[data-theme=dark] .sun-and-moon>.sun-beams{transform:rotate(-25deg);transition-duration:.15s}[data-theme=dark] .sun-and-moon>.moon>circle{transition-delay:.25s;transition-duration:.5s}}.theme-toggle{--size:2rem;--icon-fill:var(--jet-black);aspect-ratio:1;background:none;block-size:var(--size);border:none;border-radius:50%;cursor:pointer;display:block;inline-size:var(--size);opacity:.5;padding:0;touch-action:manipulation;z-index:10;-webkit-tap-highlight-color:transparent;outline-offset:5px;transition:transform .2s,opacity .8s}.theme-toggle>svg{block-size:100%;inline-size:100%;stroke-linecap:round}[data-theme=dark] .theme-toggle{--icon-fill:var(--ghostly-white)}