@font-face{font-family:Share Tech;src:url(/_astro/ShareTech-Regular.DGkRprxs.woff2)format("woff2"),url(/_astro/ShareTech-Regular.ChU0s9vM.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--primary-color:#070e14;--secondary-color:#fafafa;--tertiary-color:#818487;--link-primary-color-lighter:#83888d;--link-primary-color-darker:#1d2228;--link-secondary-color-lighter:#fcfcfc;--link-secondary-color-darker:#969696;--menu-bg:var(--primary-color);--menu-fg:var(--secondary-color)}@media (prefers-color-scheme:dark){:root{--menu-bg:var(--secondary-color);--menu-fg:var(--primary-color)}}body{background-color:var(--secondary-color);color:var(--primary-color);cursor:crosshair;margin:0;padding:0;font-family:Share Tech,Arial,sans-serif;font-style:normal;font-weight:400}@media (prefers-color-scheme:dark){body{background-color:var(--primary-color);color:var(--secondary-color)}}.gradient{z-index:-1;display:none;position:fixed;inset:0}@media (hover:hover) and (pointer:fine){.gradient{background-image:radial-gradient(circle at var(--gradient-position,50% 50%), var(--tertiary-color), var(--secondary-color) 20%);display:block}}@media (hover:hover) and (pointer:fine) and (prefers-color-scheme:dark){.gradient{background-image:radial-gradient(circle at var(--gradient-position,50% 50%), var(--tertiary-color), var(--primary-color) 20%)}}main a{background-color:var(--primary-color);color:var(--secondary-color)}@media (prefers-color-scheme:dark){main a{background-color:var(--secondary-color);color:var(--primary-color)}}main.page{flex-direction:column;align-content:center;margin:0 auto;display:flex}main.page:before,main.page:after{content:"";border-color:var(--primary-color);z-index:1;border-style:solid;border-width:0 0 0 1px;display:block;position:fixed}@media (prefers-color-scheme:dark){main.page:before,main.page:after{border-color:var(--secondary-color)}}main.page:before{top:4.7rem;bottom:5.3rem;right:6rem}main.page:after{opacity:.5;top:5rem;bottom:5rem;right:12rem}@media (width>=768px) and (width<=1024px){main.page:before{top:2.3rem;bottom:2.7rem;right:3rem}main.page:after{top:2.5rem;bottom:2.5rem;right:6rem}}@media (width<=767px){main.page:before{top:1.9rem;bottom:2.1rem;right:2rem}main.page:after{top:2rem;bottom:2rem;right:4rem}}.content{width:calc(100% - .6rem);max-width:1200px;margin:0 auto;padding-left:.3rem;padding-right:.3rem}main.page h1{margin-top:0;margin-bottom:0;padding-top:5rem;padding-bottom:5rem;font-size:8rem;position:relative;transform:skewY(-3deg)}main.page h1:after{content:"";border-bottom-color:var(--primary-color);z-index:1;border-bottom-style:solid;border-bottom-width:1px;width:50%;position:absolute;top:50%;right:0}@media (prefers-color-scheme:dark){main.page h1:after{border-bottom-color:var(--secondary-color)}}@media (width>=768px) and (width<=1024px){main.page h1{padding-top:3rem;padding-bottom:3rem;font-size:6rem}}@media (width<=767px){main.page h1{padding-top:2rem;padding-bottom:2rem;font-size:4rem}}.home{width:100%;font-size:6rem}@media (width>=768px) and (width<=1024px){.home{font-size:3rem}}@media (width<=767px){.home{font-size:2rem}}.home .text{width:calc(100% - .6rem);padding-top:2.5rem;padding-bottom:10rem;transform:skewY(3deg)}@media (width>=768px) and (width<=1024px){.home .text{padding-top:1.5rem;padding-bottom:5rem}}@media (width<=767px){.home .text{padding-top:1rem;padding-bottom:3rem}}.separator{z-index:2;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;max-width:2400px;height:200px;margin:0 auto;transform:skewY(-3deg)}.skills h2{margin-bottom:0}.skills span{display:inline-block}.skills span:hover{background:-webkit-linear-gradient(var(--link-primary-color-lighter), var(--link-primary-color-darker));backface-visibility:hidden;perspective:1000px;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:.82s cubic-bezier(.36,.07,.19,.97) both shake;transform:translate(0,0)}@media (prefers-color-scheme:dark){.skills span:hover{background:-webkit-linear-gradient(var(--link-secondary-color-lighter), var(--link-secondary-color-darker));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.home footer{text-align:center;width:calc(100% - .6rem);margin:1rem auto;font-size:1rem;transform:skewY(-3deg)}.home footer p{margin:0}.menu{font-size:initial}.menu-button{color:var(--primary-color);cursor:crosshair;z-index:60;background:0 0;border:0;flex-direction:column;align-items:center;gap:.45rem;padding:.9rem;display:flex;position:fixed;top:.6rem;right:.6rem}.menu-button:hover{background-color:var(--primary-color);color:var(--secondary-color)}.menu[data-open=true] .menu-button{color:var(--menu-fg)}@media (prefers-color-scheme:dark){.menu-button{color:var(--secondary-color)}.menu-button:hover{background-color:var(--secondary-color);color:var(--primary-color)}.menu[data-open=true] .menu-button{color:var(--menu-fg)}}.menu-button .bar{background-color:currentColor;width:1.7rem;height:2px;transition:opacity .2s,transform .3s;display:block}.menu[data-open=true] .bar:first-child{transform:translateY(.5rem)rotate(45deg)}.menu[data-open=true] .bar:nth-child(2){opacity:0}.menu[data-open=true] .bar:nth-child(3){transform:translateY(-.5rem)rotate(-45deg)}.menu-overlay{background-color:var(--menu-bg);color:var(--menu-fg);opacity:0;visibility:hidden;z-index:50;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:clamp(1.5rem,10vw,10rem);transition:opacity .25s,visibility 0s linear .25s;display:flex;position:fixed;inset:0}.menu[data-open=true] .menu-overlay{opacity:1;visibility:visible;transition:opacity .25s}.menu-overlay a{color:var(--menu-fg);opacity:0;font-size:clamp(2.2rem,8vw,6rem);line-height:1.35;text-decoration:none;transition:opacity .15s,transform .15s;transform:skewY(-3deg)translateY(2.5rem)}.menu[data-open=true] .menu-overlay a{opacity:1;transition:opacity .4s,transform .4s;transition-delay:calc(.1s + var(--i) * 90ms);transform:skewY(-3deg)translateY(0)}.menu-overlay a:hover .braces,.menu-overlay a:hover{animation:.82s cubic-bezier(.36,.07,.19,.97) both shake}.menu-overlay .braces{opacity:.4}.menu-mail{opacity:.6;margin:0;font-size:1rem;position:absolute;bottom:1.5rem;left:clamp(1.5rem,10vw,10rem)}.blog{width:100%}.blog .intro{width:calc(100% - .6rem);padding-top:1.5rem;padding-bottom:4rem;font-size:clamp(1.2rem,3vw,2rem);transform:skewY(3deg)}.post{border-bottom:1px solid;padding-top:3rem;padding-bottom:3rem;transform:skewY(-3deg)}.post:last-of-type{border-bottom:0}.post .meta{letter-spacing:.05em;opacity:.7;font-size:1.1rem}.post h2{margin:.6rem 0;font-size:clamp(1.8rem,4.5vw,3.5rem);line-height:1.15}.post h2 a{text-decoration:none;display:inline-block}.post h2 a:hover{animation:.82s cubic-bezier(.36,.07,.19,.97) both shake}.post .desc{opacity:.85;margin:0;font-size:clamp(1.05rem,2.5vw,1.4rem)}.post-header{width:calc(100% - .6rem);padding-top:1.5rem;padding-bottom:3rem;transform:skewY(3deg)}.post-header .meta{letter-spacing:.05em;opacity:.7;margin-top:12px;font-size:1.1rem}.post-header h2{margin:.8rem 0;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.2}.post-header .links{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;font-size:1.1rem;display:flex}.prose{width:calc(100% - .6rem);max-width:46rem;padding-bottom:6rem;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.65;transform:skewY(3deg)}.prose h2{margin:2.5rem 0 1rem;font-size:1.5em;line-height:1.25;position:relative;transform:skewY(-3deg)}.prose h3{margin:2rem 0 .75rem;font-size:1.2em}.prose p{margin:0 0 1.25rem}.prose ul,.prose ol{margin:0 0 1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose blockquote{opacity:.75;border-left:3px solid;margin:0 0 1.25rem;padding:.25rem 0 .25rem 1.25rem}.prose img{max-width:100%;height:auto;display:block}.prose hr{border:0;border-top:1px solid;margin:2.5rem 0}.prose :not(pre)>code{background-color:var(--primary-color);color:var(--secondary-color);padding:.08em .35em;font-family:inherit}@media (prefers-color-scheme:dark){.prose :not(pre)>code{background-color:var(--secondary-color);color:var(--primary-color)}}.prose pre{border:1px solid #ffffff1f;margin:0 0 1.5rem;padding:1.25rem;font-size:1rem;line-height:1.6;position:relative;overflow-x:auto}.prose pre code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.copy{background-color:var(--secondary-color);color:var(--primary-color);cursor:crosshair;opacity:0;border:0;padding:.25rem .6rem;font-family:inherit;font-size:.85rem;transition:opacity .15s;position:absolute;top:.5rem;right:.5rem}.prose pre:hover .copy,.copy:focus-visible{opacity:1}@media (prefers-reduced-motion:reduce){.skills span:hover,.post h2 a:hover,.menu-overlay a:hover,.menu-overlay a:hover .braces{animation:none}.menu-overlay a{transition:none}}
