@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaCode-Light.CVyKgPU5.otf);font-weight:300;font-style:normal}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaCode-Regular.EQn8HH8d.otf);font-weight:400;font-style:normal}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaMono-Light.DZrRAeU5.otf);font-weight:300;font-style:normal}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaMono-Bold.sDKZl18O.otf);font-weight:700;font-style:normal}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaMono-ExtraLight.CP24sV6V.otf);font-weight:200;font-style:normal}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaCodeNF-Bold.CWs9HHXB.otf);font-weight:700;font-style:bold}@font-face{font-family:CascadiaCode;src:url(/_astro/CascadiaCodeNF-ExtraLight.Si6etidP.otf);font-weight:200;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreRegular.ZMTinVFs.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreRegularItalic.B1APDhl_.otf) format("opentype");font-weight:400;font-style:italic}@font-face{font-family:Calibre;src:url(/_astro/CalibreMedium.86tEo7Z8.otf) format("opentype");font-weight:500;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreMediumItalic.DGYNlPOS.otf) format("opentype");font-weight:500;font-style:italic}@font-face{font-family:Calibre;src:url(/_astro/CalibreSemibold.l6EQ3ieP.otf) format("opentype");font-weight:600;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreSemiboldItalic.DNQH_m3D.otf) format("opentype");font-weight:600;font-style:italic}@font-face{font-family:Calibre;src:url(/_astro/CalibreBold.LekpdOt4.otf) format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreBoldItalic.BQnquA3T.otf) format("opentype");font-weight:700;font-style:italic}@font-face{font-family:Calibre;src:url(/_astro/CalibreBlack.BYY2L3hm.otf) format("opentype");font-weight:900;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreBlackItalic.Bn-PRCWx.otf) format("opentype");font-weight:900;font-style:italic}@font-face{font-family:Calibre;src:url(/_astro/CalibreLight.DHOT__nL.otf) format("opentype");font-weight:300;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreThin.LXJDlt8m.otf) format("opentype");font-weight:100;font-style:normal}@font-face{font-family:Calibre;src:url(/_astro/CalibreThinItalic.BufhmQ1y.otf) format("opentype");font-weight:100;font-style:italic}:root{--bp-xxl: 1440px;--bp-xl: 1280px;--bp-lg: 1024px;--bp-md: 768px;--bp-sm: 480px;--bp-sml: 425px;--bp-xs-md: 375px;--bp-xs: 330px;--fs-xxs: clamp(10px, 1vw, 13px);--fs-xs: clamp(13px, 1vw, 15px);--fs-sm: clamp(14px, 1.1vw, 16px);--fs-md: clamp(16px, 1.2vw, 18px);--fs-lg: clamp(18px, 1.5vw, 20px);--fs-xl: clamp(20px, 1.5vw, 20px);--fs-xxl: clamp(22px, 2vw, 26px);--fs-heading: clamp(26px, 4vw, 30px);--fs-heading-lg: clamp(40px, 8vw, 80px);--f-line-height-body: clamp(1.3, 1.4vw, 1.45);--f-line-height-heading: clamp(1.1, 1.3vw, 1.5);--font-family: "Calibre", sans-serif;--font-family-footer: "CascadiaCode", monospace;--font-weight-body: 400;--font-weight-link: 500;--font-weight-h1: 900;--font-weight-h1-light: 600;--font-weight-h2: 700;--font-weight-h3: 600;--font-weight-li: 400;--color-bg: #0a192f;--bg-image: radial-gradient( 90rem 70rem at 15% 120%, rgba(15, 76, 117, .45) 0%, rgba(15, 76, 117, .12) 40%, transparent 65% ), radial-gradient( 80rem 60rem at 85% 110%, rgba(76, 201, 240, .35) 0%, rgba(76, 201, 240, .1) 38%, transparent 62% ), radial-gradient( 75rem 65rem at 80% 45%, rgba(94, 96, 206, .4) 0%, rgba(94, 96, 206, .12) 38%, transparent 60% ), radial-gradient( 70rem 55rem at 25% 55%, rgba(58, 12, 163, .35) 0%, rgba(58, 12, 163, .1) 35%, transparent 58% ), radial-gradient( 50rem 40rem at 92% 8%, rgba(105, 48, 195, .3) 0%, rgba(105, 48, 195, .08) 40%, transparent 65% ), linear-gradient( to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 75%, rgba(0, 0, 0, .55) 100% ), linear-gradient(to top, rgba(10, 25, 47, 0) 0%, rgba(10, 25, 47, .9) 40%);--bg-blend-mode: screen, screen, screen, screen, screen, normal, normal;--bg-attachment: fixed;--bg-repeat: no-repeat;--bg-size: cover;--color-text: #c9d4f5;--color-secondary-text: #a4b8dd;--color-credit-text: #94a3b8;--color-credit-link-hover: #deedee;--color-highlight-text: rgba(255, 255, 255, .792);--color-h1: #64ffda;--color-h2: #b8c0ff;--color-h3: #b3c2f2;--color-link: #64ffda;--color-link-active: #b3c2f2;--color-link-hover: #8be9ff;--scrollbar-color: #94a3b8;--nav-header-height: 45px;--menu-transition-duration: 1s}main{animation:fadeInAnimation ease-in .9s;animation-iteration-count:1;animation-fill-mode:forwards;display:flex;flex-direction:column;flex:1}html,body{box-sizing:border-box;margin:0;padding:0;height:100%;overflow-x:hidden;-webkit-tap-highlight-color:transparent}html{scrollbar-color:var(--scrollbar-color) transparent;scroll-behavior:smooth;scrollbar-width:thin}body{display:flex;flex-direction:column;text-align:left;min-height:100dvh;line-height:var(--f-line-height-body);font-family:var(--font-family);font-weight:var(--font-weight-body);font-size:var(--fs-xl);color:var(--color-text);background-color:var(--color-bg);background-image:var(--bg-image);background-blend-mode:var(--bg-blend-mode);background-repeat:var(--bg-repeat);background-size:var(--bg-size)}.content{flex:1;display:flex;flex-direction:column}h1,h2,h3{line-height:var(--f-line-height-heading)}header{display:flex;align-items:center;position:sticky;top:1.5em;z-index:999;width:min(100% - 2em,720px);min-height:var(--nav-header-height);margin:0 auto;padding:0 1em;box-sizing:border-box;border-radius:1em;text-decoration:none;backdrop-filter:blur(15px);box-shadow:inset 0 0 0 1px #fff3,0 2px 8px #121212cc;transition:background-color .3s ease,backdrop-filter .3s ease}nav{display:flex;align-items:center;justify-content:space-between;margin:0;width:min(100% - 2em,720px)}nav a{display:inline-block;padding:12px .5em 11px;font-weight:var(--font-weight-link);font-size:var(--fs-md);text-decoration:none;color:var(--color-link);position:relative;transition:color .3s ease}nav a:hover{color:var(--color-secondary-text)}nav a.active{color:var(--color-link-active);border-bottom:1px solid var(--color-link)}.overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60rem circle at var(--x, 50%) var(--y, 50%),rgba(15,76,117,.45),transparent 40%);opacity:var(--opacity, 0);transition:opacity .3s ease-out}.header-mini{width:fit-content;max-width:720px;left:calc(100% - 4.5em - 200px)}#homepg{display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-height:calc(100dvh - 6rem - var(--nav-header-height));padding-block:0;width:min(100% - 2em,720px);margin-inline:auto}#aboutpg,#projectspg{display:flex;flex-direction:column;justify-content:flex-start;width:min(100% - 2em,720px);margin:auto}section{width:min(100% - 2em,720px);margin-inline:auto;padding-block:6rem;box-sizing:border-box}.p-main{color:var(--color-secondary-text);margin-top:1.25rem}.p-main a{position:relative;display:inline-block;color:var(--color-link);text-decoration:none;transition:color .3s ease}.p-main a:before{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background-color:var(--color-link-hover);transition:.2s ease-in}.p-main a:hover{transition:color .2s ease-out;color:var(--color-link-hover)}.p-main a:hover:before{width:100%}.highlight-skill{color:var(--color-highlight-text);font-weight:400}.highlight-cta{color:var(--color-link);font-weight:600;text-decoration:underline;text-underline-offset:2px}img{display:block;max-width:100%;height:auto;object-fit:contain}h1{color:var(--color-h1);font-weight:var(--font-weight-li);font-size:var(--fs-heading);margin:0 0 .875rem .25rem}h2{color:var(--color-h2);font-weight:var(--font-weight-h2);font-size:var(--fs-sm),var(--fs-md);line-height:var(--f-line-height-body);margin:0}h2.big-heading{color:var(--color-h2);font-weight:var(--font-weight-h2);font-size:var(--fs-heading-lg);margin:0}h3{color:var(--color-h3);font-weight:var(--font-weight-h3);font-size:var(--fs-lg);line-height:var(--f-line-height-heading);margin:0}h3.big-heading{color:var(--color-h3);font-weight:var(--font-weight-h3);font-size:var(--fs-heading-lg);margin:0}.project{display:flex;flex-wrap:wrap;gap:.5rem .0175rem;margin-bottom:3rem;padding:0;justify-content:flex-start;color:var(--color-link);list-style:none}.technologies-used{background-color:#2dd4bf1a;color:var(--color-link);border-radius:10px;margin-right:.5rem;padding:.25rem .75rem;box-sizing:border-box;font-size:var(--fs-md)}#custom_footer{display:flex;flex-direction:column;align-items:center;font-family:var(--font-family-footer);font-weight:300;padding-block:inherit;margin-top:auto;height:auto;color:var(--color-secondary-text)}.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:10px}.footer-social-link img{display:block;width:100%;height:auto;transition:transform .3s ease}.footer-social-link:hover img{transform:scale(1.1)}.credit{margin:0;padding:.625rem;text-align:center;font-size:var(--fs-xs)}.credit a{font-weight:var(--font-weight-link);color:var(--color-credit-text);text-decoration:none;position:relative;transition:color .3s ease}.credit a:hover{color:var(--color-credit-link-hover)}.cursor{display:inline-block;margin-left:4px;color:var(--color-link);opacity:1;transition:opacity .2s ease-in-out}.cursor.blink{animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.nav-toggle{display:none}@media(hover:none){nav a:hover:after{width:0}}@media screen and (min-width:769px){.nav-close{display:none}}@media screen and (max-width:768px){header{position:fixed;top:1rem;left:0;width:100%;z-index:1001;height:100px;padding:0 1rem;display:flex;justify-content:flex-end;background:transparent;border-radius:0;box-shadow:none;backdrop-filter:none}nav a.active{color:var(--color-link-active);border-bottom:none}body{background-image:none;background-color:var(--color-bg);background-attachment:scroll}.nav-toggle{display:inline-block;margin-left:auto;padding:.9rem;background:#0a192f4d;border:1px solid var(--color-link);border-radius:999px;color:var(--color-link);font-weight:600;backdrop-filter:blur(10px);cursor:pointer}.nav-close{position:absolute;top:3.4rem;right:1.25rem;z-index:2100;line-height:1;border:none;font-size:2rem;color:var(--color-link);cursor:pointer;opacity:0;background:none;transition:opacity .3s ease .3s,color .3s ease}.mobile-menu.is-open .nav-close{opacity:1;transition-delay:calc(var(--menu-transition-duration) - .2s)}.mobile-menu{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:none;background:#0a192f;clip-path:circle(0% at calc(100% - 2.5rem) 2.5rem);transition:clip-path var(--menu-transition-duration) cubic-bezier(.42,0,.58,1)}.mobile-menu.is-open{clip-path:circle(150% at calc(100% - 2.5rem) 2.5rem);background:#0a192f}.no-scroll{overflow:hidden}.mobile-menu a.mobile-nav{margin:.75rem 0;font-size:var(--fs-xxl);opacity:0;transform:translateY(20px) scale(.96);filter:blur(4px);transition:opacity .4s ease .4s,transform .4s ease .4s,filter .4s ease .4s}.mobile-menu.is-open a{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.mobile-menu.is-open a:nth-child(2){transition-delay:calc(var(--menu-transition-duration) / 2)}.mobile-menu.is-open a:nth-child(3){transition-delay:calc(var(--menu-transition-duration) / 2 + .1s)}.mobile-menu.is-open a:nth-child(4){transition-delay:calc(var(--menu-transition-duration) / 2 + .2s)}.mobile-menu.is-open a:nth-child(5){transition-delay:calc(var(--menu-transition-duration) / 2 + .3s)}.mobile-menu:not(.is-open) a{opacity:0;transform:translateY(20px) scale(.96);filter:blur(4px)}.mobile-menu:not(.is-open) a:nth-child(5){transition-delay:0s}.mobile-menu:not(.is-open) a:nth-child(4){transition-delay:calc(var(--menu-transition-duration) / 10)}.mobile-menu:not(.is-open) a:nth-child(3){transition-delay:calc(var(--menu-transition-duration) / 5)}.mobile-menu:not(.is-open) a:nth-child(2){transition-delay:calc(var(--menu-transition-duration) / 3)}.technologies-used{background-color:#2dd4bf1a;color:var(--color-link);border-radius:10px;margin-right:.5rem;padding:.25rem .75rem;box-sizing:border-box;font-size:var(--fs-xs)}.credit{margin:0;padding:.625rem;text-align:center;font-size:var(--fs-xxs)}}@media screen and (max-width:480px){body{font-size:var(--fs-lg)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
