@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:optional;src:url(/_next/static/media/cce080f35d014443-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:optional;src:url(/_next/static/media/4de1fea1a954a5b6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:optional;src:url(/_next/static/media/39969fcf98a3026e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:optional;src:url(/_next/static/media/6d664cce900333ee-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:optional;src:url(/_next/static/media/f97d1853053d8931-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:optional;src:url(/_next/static/media/7ff6869a1704182a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato Fallback;src:local("Arial");ascent-override:101.03%;descent-override:21.80%;line-gap-override:0.00%;size-adjust:97.69%}.__className_921a73{font-family:Lato,Lato Fallback;font-style:normal}.__variable_921a73{--font-lato:"Lato","Lato Fallback"}.contribution-card_card__6WoBr{position:relative;isolation:isolate;--glow-strength:7%;--pointer-x:50%;--pointer-y:50%;--spotlight-radius:26rem;--spotlight-strength:5%;--spotlight-border-strength:45%;--rail-strength:55%}html.dark .contribution-card_card__6WoBr{--glow-strength:11%;--spotlight-strength:7%;--spotlight-border-strength:65%;--rail-strength:75%}.contribution-card_card__6WoBr:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.5;background-image:radial-gradient(60% 90% at 4% 0,color-mix(in oklab,var(--glow-a,var(--foreground)) var(--glow-strength),transparent),transparent 76%),radial-gradient(55% 80% at 46% 2%,color-mix(in oklab,var(--glow-b,var(--foreground)) var(--glow-strength),transparent),transparent 74%),radial-gradient(50% 85% at 92% 8%,color-mix(in oklab,var(--glow-c,var(--foreground)) var(--glow-strength),transparent),transparent 72%)}.contribution-card_card__6WoBr:hover:before{opacity:1}.contribution-card_card__6WoBr:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background-image:radial-gradient(circle var(--spotlight-radius) at var(--pointer-x) var(--pointer-y),color-mix(in oklab,var(--glow-b,var(--foreground)) var(--spotlight-strength),transparent),color-mix(in oklab,var(--glow-c,var(--foreground)) calc(var(--spotlight-strength) * .4),transparent),transparent)}.contribution-card_card__6WoBr:hover:after{opacity:1}.contribution-card_rail__vizJo{position:absolute;top:1.5rem;bottom:1.5rem;left:0;width:2px;border-radius:999px;pointer-events:none;background:linear-gradient(to bottom,color-mix(in oklab,var(--glow-a,var(--foreground)) var(--rail-strength),transparent),color-mix(in oklab,var(--glow-b,var(--foreground)) calc(var(--rail-strength) * .5),transparent),transparent)}.contribution-card_border___t9o9{opacity:0;border-color:color-mix(in oklab,var(--glow-a,var(--foreground)) var(--spotlight-border-strength),transparent);-webkit-mask-image:radial-gradient(18rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent);mask-image:radial-gradient(18rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent)}.contribution-card_card__6WoBr:hover .contribution-card_border___t9o9{opacity:1}@media (prefers-reduced-motion:no-preference){.contribution-card_card__6WoBr:before{transition:opacity .3s ease-out}.contribution-card_border___t9o9,.contribution-card_card__6WoBr:after{transition:opacity .5s ease-out}}.project-card_card__IPRPA{position:relative;isolation:isolate;--glow-strength:6%;--pointer-x:50%;--pointer-y:50%;--spotlight-radius:21rem;--spotlight-strength:4%;--spotlight-border-strength:45%}html.dark .project-card_card__IPRPA{--glow-strength:9%;--spotlight-strength:6%;--spotlight-border-strength:65%}.project-card_card__IPRPA:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.5;background-image:radial-gradient(80% 85% at 0 0,color-mix(in oklab,var(--glow-a,var(--foreground)) var(--glow-strength),transparent),transparent 78%),radial-gradient(70% 75% at 20% 4%,color-mix(in oklab,var(--glow-b,var(--foreground)) var(--glow-strength),transparent),transparent 75%),radial-gradient(65% 70% at 2% 24%,color-mix(in oklab,var(--glow-c,var(--foreground)) var(--glow-strength),transparent),transparent 72%)}.project-card_card__IPRPA:hover:before{opacity:1}.project-card_card__IPRPA:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background-image:radial-gradient(circle var(--spotlight-radius) at var(--pointer-x) var(--pointer-y),color-mix(in oklab,var(--glow-b,var(--foreground)) var(--spotlight-strength),transparent),color-mix(in oklab,var(--glow-c,var(--foreground)) calc(var(--spotlight-strength) * .4),transparent),transparent)}.project-card_card__IPRPA:hover:after{opacity:1}.project-card_border__ilbI8{opacity:0;border-color:color-mix(in oklab,var(--glow-a,var(--foreground)) var(--spotlight-border-strength),transparent);-webkit-mask-image:radial-gradient(15rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent);mask-image:radial-gradient(15rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent)}.project-card_card__IPRPA:hover .project-card_border__ilbI8{opacity:1}@media (prefers-reduced-motion:no-preference){.project-card_card__IPRPA:before{transition:opacity .3s ease-out}.project-card_border__ilbI8,.project-card_card__IPRPA:after{transition:opacity .5s ease-out}}.skill-card_tile__ZpbDs{position:relative;isolation:isolate;--tile-glow:10%;--pointer-x:50%;--pointer-y:50%;--spotlight-strength:6%;--spotlight-border-strength:45%}html.dark .skill-card_tile__ZpbDs{--tile-glow:18%;--spotlight-strength:9%;--spotlight-border-strength:65%}.skill-card_tile__ZpbDs:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 100%,color-mix(in oklab,var(--brand-color,var(--foreground)) var(--tile-glow),transparent),transparent 72%)}.skill-card_tile__ZpbDs:hover:before{opacity:1}.skill-card_tile__ZpbDs:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(7rem circle at var(--pointer-x) var(--pointer-y),color-mix(in oklab,var(--brand-color,var(--foreground)) var(--spotlight-strength),transparent),transparent 70%)}.skill-card_tile__ZpbDs:hover:after{opacity:1}.skill-card_border__Nc_gf{opacity:0;border-color:color-mix(in oklab,var(--brand-color,var(--foreground)) var(--spotlight-border-strength),transparent);-webkit-mask-image:radial-gradient(5rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent);mask-image:radial-gradient(5rem circle at var(--pointer-x) var(--pointer-y),#000,rgb(0 0 0/.35),transparent)}.skill-card_tile__ZpbDs:hover .skill-card_border__Nc_gf{opacity:1}@media (prefers-reduced-motion:no-preference){.skill-card_border__Nc_gf,.skill-card_tile__ZpbDs:after,.skill-card_tile__ZpbDs:before{transition:opacity .4s ease-out}}