a:where(.astro-eimmu3lg){font-family:Raleway,sans-serif;display:inline-block;text-decoration:none;color:var(--text-color);font-weight:700;padding:3px 5px}slot:where(.astro-eimmu3lg){color:var(--text-color)}a:where(.astro-eimmu3lg):hover{background-color:var(--mesh-1);color:var(--highlight-text)}a:where(.astro-eimmu3lg):hover:after{content:"↗";font-size:.8em;font-weight:bolder}a:where(.astro-eimmu3lg).active{font-weight:bolder;background-color:var(--highlight-bg);color:var(--highlight-text)}a:where(.astro-eimmu3lg).active:after{content:"▾"}.title:where(.astro-3ef6ksr2){margin:0 0 0 20px;font-family:Syncopate,serif;font-weight:600;font-style:normal}#main-header:where(.astro-3ef6ksr2){position:sticky;top:0;z-index:1000;box-shadow:none;background-color:var(--bg-color);display:flex;align-items:center;width:100%}.nav-container:where(.astro-3ef6ksr2){display:flex;align-items:center;justify-content:space-between;width:100%;z-index:1000;transition:all .3s ease}nav:where(.astro-3ef6ksr2){display:flex;align-items:center;justify-content:space-between;width:100%;z-index:1000;padding:10px 5px;color:var(--text-color)}h2:where(.astro-3ef6ksr2) a:where(.astro-3ef6ksr2){color:var(--text-color);font-weight:700;text-decoration:none}.internal-links:where(.astro-3ef6ksr2){display:flex;z-index:1000;gap:1rem}.right-menu:where(.astro-3ef6ksr2) button:where(.astro-3ef6ksr2){background:none;z-index:1000;border:none;cursor:pointer}.burger-menu:where(.astro-3ef6ksr2){color:var(--text-color);display:none;z-index:1000}.nav-container:where(.astro-3ef6ksr2).scrolled{box-shadow:var(--nav-shadow);z-index:1000}.sun:where(.astro-3ef6ksr2){fill:var(--text-color)}.moon:where(.astro-3ef6ksr2){fill:transparent}.light .sun:where(.astro-3ef6ksr2){fill:transparent}.light .moon:where(.astro-3ef6ksr2){fill:var(--text-color)}.mobile-menu:where(.astro-3ef6ksr2){display:none;position:absolute;top:60px;right:0;width:100%;z-index:1000;padding:1rem;box-shadow:0 4px 10px #0000004d}@media (max-width: 768px){.burger-menu:where(.astro-3ef6ksr2){display:block;z-index:1000}.right-menu:where(.astro-3ef6ksr2){display:flex;justify-content:center;align-items:center;z-index:1000;color:var(--text-color)}.theme-toggle:where(.astro-3ef6ksr2){margin-right:20px}.internal-links:where(.astro-3ef6ksr2){display:none;z-index:1000}.mobile-menu:where(.astro-3ef6ksr2){display:none;background-color:var(--bg-muted);position:absolute;top:60px;right:0;width:100%;z-index:1000;padding:1rem;box-shadow:0 4px 10px #0000004d}#mobileMenu:where(.astro-3ef6ksr2).open{display:flex;justify-content:space-around;align-items:center;z-index:1000}.nav-container:where(.astro-3ef6ksr2).scrolled{width:100vw;z-index:1000;margin:0;box-shadow:none}}.site-footer:where(.astro-sz7xmlte){padding:2.5rem 1rem;background-color:var(--bg-muted);color:var(--text-light);text-align:center;border-top:1px solid rgba(var(--text-color-rgb, 0, 0, 0),.08);margin-top:4rem;font-family:Raleway,sans-serif}.footer-content:where(.astro-sz7xmlte){max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-text:where(.astro-sz7xmlte){font-size:.95rem;opacity:.8;margin:0}.heart-icon:where(.astro-sz7xmlte){display:inline-block;transform:translateY(1px) scale(1.1);margin:0 .2em}.social-links:where(.astro-sz7xmlte){display:flex;justify-content:center;gap:1.2rem}.social-links:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte){display:inline-flex;justify-content:center;align-items:center;color:var(--text-light);text-decoration:none;padding:.5rem;border-radius:50%;background-color:rgba(var(--text-color-rgb, 0, 0, 0),.05);transition:background-color .2s ease,color .2s ease,transform .2s ease}.social-links:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):hover,.social-links:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):focus-visible{color:var(--bg-muted);background-color:var(--clr-2);transform:translateY(-2px) scale(1.05);outline:none}.social-links:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte):focus-visible{box-shadow:0 0 0 3px var(--bg-color),0 0 0 5px var(--clr-2)}.icon:where(.astro-sz7xmlte){width:1.3em;height:1.3em;display:block}.sr-only:where(.astro-sz7xmlte){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.site-footer:where(.astro-sz7xmlte){padding:2rem 1rem}.footer-content:where(.astro-sz7xmlte){gap:1rem}.footer-text:where(.astro-sz7xmlte){font-size:.9rem}.social-links:where(.astro-sz7xmlte) a:where(.astro-sz7xmlte){padding:.4rem}.icon:where(.astro-sz7xmlte){width:1.2em;height:1.2em}}html.light{--bg-color: #f8feff;--bg-muted: #c7c7c70d;--bg-alt: #181818;--text-color: #121313;--text-alt: #ebf0f3;--text-light: #3a3a3a;--nav-shadow: 0 2px 4px rgba(0, 0, 0, .1);--highlight-bg: #212121;--highlight-text: #f8feff;--mesh-1: rgba(42, 43, 44, .982);--mesh-2: rgba(66, 66, 66, .05);--hero-bg: #090909;--hero-text: #f8feff;--waves: #bbd2ee;--clr-1: #228378;--clr-2: #3b74bb;--clr-3: #1f9bb4;--bg-code: #12223f;background-color:var(--bg-color);color:var(--text-color);font-family:Raleway,sans-serif;scroll-behavior:smooth}html{--bg-color: #141414;--bg-muted: #1f1f1f;--bg-alt: #efefef;--text-color: #fafafa;--text-light: #ffffff;--text-alt: #252525;--mesh-1: rgba(220, 220, 220, .982);--mesh-2: rgba(220, 220, 220, .1);--nav-shadow: 0 3px 6px rgba(255, 255, 255, .05);--highlight-bg: #f8feff;--highlight-text: #121313;--hero-bg: #090909;--hero-text: #f8feff;--waves: #3b6ba5;--clr-1: #b2f7ef;--clr-2: #7fb8ff;--clr-3: #7bdff2;background-color:var(--bg-color);color:var(--text-color);font-family:Raleway,sans-serif;scroll-behavior:smooth}body{margin:0;padding:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-muted)}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-color)}.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-color);padding:8px 14px;font-size:18px;border:none;background:var(--mesh-2);cursor:pointer;transition:background .3s ease,color .3s ease}.btn:hover{background-color:var(--mesh-1);color:var(--text-alt)}.btn:hover:after{content:"↗";font-size:1em;font-weight:700;margin-left:4px}.date{font-size:.85rem;color:var(--text-light);margin-top:auto;padding-top:.5rem;opacity:.7}@media (max-width: 768px){.project-header{height:180px}.project-body h3{font-size:1.2rem}.project-body p:not(.date){font-size:.9rem}}a{text-decoration:none;color:var(--text-color);cursor:pointer}@keyframes spin{to{transform:rotateY(1turn)}}@media (prefers-reduced-motion: no-preference){@supports (animation-timeline: scroll(x)){.spinner{animation:spin 2s ease 1;animation-delay:1s;animation-range:contain}}}@keyframes fadeIn{0%{opacity:.1;scale:.8}50%{opacity:1;scale:1}to{opacity:.95;scale:1}}@media (prefers-reduced-motion: no-preference) and (min-width: 1000px){@supports (animation-timeline: scroll()){.fadediv{animation:fadeIn linear both;animation-timeline:view();animation-range:contain}}}@keyframes scale{0%{transform:scale(1)}to{transform:scale(1.25)}}@media (prefers-reduced-motion: no-preference) and (min-width: 1000px){.scalediv:hover{animation:scale 1s ease-in-out both}}@keyframes wave-animation{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}@media (prefers-reduced-motion: no-preference){.wave{animation-name:wave-animation;animation-duration:2.5s;animation-iteration-count:infinite;transform-origin:70% 70%}}
