:root{--color-bg:#f6f8fa;--color-bg-alt:#fff;--color-navbar-bg:#24292f;--color-navbar-link:#c9d1d9;--color-navbar-link-active:#2da44e;--color-primary:#24292f;--color-secondary:#57606a;--color-accent:#2da44e;--color-link-hover:#0969da;--color-footer-bg:#161b22;--color-footer-text:#8b949e;--color-gradient-1:linear-gradient(120deg,#f6f8fa,#eaeef2);--color-gradient-2:linear-gradient(120deg,#eaeef2,#fff);--color-gradient-accent:linear-gradient(90deg,#2da44e22,#0969da11);--space-0:0;--space-1:clamp(3px,0.5vw,6px);--space-2:clamp(6px,1vw,12px);--space-3:clamp(12px,2vw,20px);--space-4:clamp(18px,3vw,32px);--space-5:clamp(24px,4vw,48px);--container-padding:var(--space-3);--max-width:820px;--section-spacing:var(--space-5);--font-main:"Inter","Segoe UI",Arial,sans-serif;--font-size-xs:clamp(12px,0.8vw + 0.5rem,13px);--font-size-sm:clamp(13px,1vw + 0.5rem,15px);--font-size-base:clamp(15px,1.1vw + 0.8rem,18px);--font-size-lg:clamp(18px,1.2vw + 1rem,20px);--font-size-h1:clamp(2.1rem,2.5vw + 1.5rem,2.7rem);--font-size-h2:clamp(1.4rem,1.5vw + 1.1rem,1.8rem);--font-size-h3:clamp(1.1rem,1vw + 0.9rem,1.3rem);--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-base:1.7;--line-height-heading:1.22;--radius:10px;--transition:0.22s cubic-bezier(.4,0,.2,1);--transition-fast:0.14s cubic-bezier(.4,0,.2,1);--shadow-navbar:0 2px 12px 0 #d0d7de33;--shadow-section:0 4px 24px 0 #1b1f230f;--shadow-footer:0 -1px 0 #21262d;--shadow-card:0 4px 24px 0 #1b1f2314;--shadow-card-hover:0 8px 24px 0 #1b1f231f;--focus-outline:2px solid #2da44e;--focus-outline-offset:2px}*,:after,:before{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#f6f8fa;background:var(--color-bg);color:#24292f;color:var(--color-primary);font-family:Inter,Segoe UI,Arial,sans-serif;font-family:var(--font-main);font-size:clamp(15px,1.1vw + .8rem,18px);font-size:var(--font-size-base);height:100%;line-height:1.7;line-height:var(--line-height-base);margin:0;padding:0;scroll-padding-top:68px;scroll-padding-top:calc(var(--navbar-height, 60px) + 8px)}body{background:linear-gradient(120deg,#f6f8fa,#eaeef2);background:var(--color-gradient-1);display:flex;flex-direction:column;min-height:100dvh}.App,body{overflow-x:hidden;width:100%}.App>#awards,.App>#certifications,.App>#contact,.App>#interests,.App>#profile,.App>#projects,.App>#publications,.App>section{margin-bottom:0}.section-title,h1{font-size:clamp(2.1rem,2.5vw + 1.5rem,2.7rem);font-size:var(--font-size-h1);letter-spacing:-.015em;margin-bottom:clamp(6px,1vw,12px);margin-bottom:var(--space-2);text-shadow:0 2px 8px #eaeef2cc;transition:color .22s cubic-bezier(.4,0,.2,1),text-shadow .22s cubic-bezier(.4,0,.2,1);transition:color var(--transition),text-shadow var(--transition)}.section-subtitle,.section-title,h1,h2{background:none;color:#24292f;color:var(--color-primary);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.22;line-height:var(--line-height-heading);text-align:left}.section-subtitle,h2{font-size:clamp(1.4rem,1.5vw + 1.1rem,1.8rem);font-size:var(--font-size-h2);letter-spacing:-.01em;margin-bottom:clamp(3px,.5vw,6px);margin-bottom:var(--space-1);transition:color .22s cubic-bezier(.4,0,.2,1);transition:color var(--transition)}.section-heading,h3{font-size:clamp(1.1rem,1vw + .9rem,1.3rem);font-size:var(--font-size-h3);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.22;line-height:var(--line-height-heading);margin-bottom:clamp(3px,.5vw,6px);margin-bottom:var(--space-1);text-align:left}.section-heading,h3,ol,p,ul{background:none;color:#57606a;color:var(--color-secondary);letter-spacing:.01em;transition:color .22s cubic-bezier(.4,0,.2,1);transition:color var(--transition)}ol,p,ul{font-family:Inter,Segoe UI,Arial,sans-serif;font-family:var(--font-main);font-weight:400;font-weight:var(--font-weight-normal);hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto;line-height:1.7;line-height:var(--line-height-base);margin-bottom:clamp(6px,1vw,12px);margin-bottom:var(--space-2);margin-top:0;text-align:justify;text-justify:inter-word;word-break:break-word;word-spacing:.15em}.navbar,ol,p,ul{font-size:clamp(15px,1.1vw + .8rem,18px);font-size:var(--font-size-base)}.navbar{--navbar-height:70px;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#24292f;background:var(--color-navbar-bg);box-shadow:0 2px 12px 0 #d0d7de33;box-shadow:var(--shadow-navbar);color:#c9d1d9;color:var(--color-navbar-link);font-weight:600;font-weight:var(--font-weight-semibold);left:0;position:fixed;top:0;transition:background .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1);transition:background var(--transition),box-shadow var(--transition);-webkit-user-select:none;user-select:none;width:100%;z-index:3000}.nav-container{align-items:center;display:flex;height:var(--navbar-height);justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 clamp(6px,1vw,12px);padding:0 var(--space-2)}.mobile-menu-toggle,.nav-brand{cursor:pointer;z-index:3001}.mobile-menu-toggle{background:none;border:none;color:#c9d1d9;color:var(--color-navbar-link);display:none;font-size:1.5rem;padding:.5rem;transition:color .14s cubic-bezier(.4,0,.2,1),transform .14s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast),transform var(--transition-fast)}.mobile-menu-toggle:hover{color:#2da44e;color:var(--color-accent);transform:scale(1.1)}.nav-links{gap:clamp(3px,.5vw,6px);gap:var(--space-1)}.nav-links,.nav-links a{align-items:center;display:flex}.nav-links a{background:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 4px #161b220a;color:#c9d1d9;color:var(--color-navbar-link);font-size:inherit;font-weight:600;font-weight:var(--font-weight-semibold);justify-content:center;letter-spacing:.01em;min-height:44px;outline:none;padding:.6em 1.2em;position:relative;text-decoration:none;touch-action:manipulation;transition:color .14s cubic-bezier(.4,0,.2,1),background .14s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.nav-links a:after{background:#2da44e;background:var(--color-accent);border-radius:1px;bottom:.18em;content:"";display:block;height:2px;left:18%;opacity:0;position:absolute;right:18%;transform:scaleX(.5);transition:opacity .14s cubic-bezier(.4,0,.2,1),transform .14s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast),transform var(--transition-fast)}.nav-links a.active,.nav-links a[aria-current=page]{background:linear-gradient(90deg,#2da44e22,#0969da11);background:var(--color-gradient-accent);box-shadow:0 2px 8px #2da44e22;color:#2da44e;color:var(--color-navbar-link-active);font-weight:700;font-weight:var(--font-weight-bold)}.nav-links a.active:after,.nav-links a:focus-visible:after,.nav-links a:hover:after,.nav-links a[aria-current=page]:after{opacity:1;transform:scaleX(1.1)}.nav-links a:focus-visible,.nav-links a:hover{background:linear-gradient(90deg,#2da44e22,#0969da11);background:var(--color-gradient-accent);border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 16px #2da44e22;color:#0969da;color:var(--color-link-hover);cursor:pointer;margin-left:clamp(6px,1vw,12px);margin-left:var(--space-2);min-height:48px;min-width:48px;outline:2px solid #2da44e;outline:var(--focus-outline);outline:none;outline-offset:2px;outline-offset:var(--focus-outline-offset);transition:color .14s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}.navbar .navbar-hamburger:focus-visible,.navbar .navbar-hamburger:hover{background:linear-gradient(90deg,#2da44e22,#0969da11);background:var(--color-gradient-accent);color:#0969da;color:var(--color-link-hover);outline:2px solid #2da44e;outline:var(--focus-outline);outline-offset:2px;outline-offset:var(--focus-outline-offset)}.about-section,.certifications-section,.contact-section,.hero-section,.interests-section,.projects-section,.publications-section,.section,.skills-section,section{align-items:center;background:linear-gradient(120deg,#eaeef2,#fff);background:var(--color-gradient-2);box-shadow:0 4px 24px 0 #1b1f230f;box-shadow:var(--shadow-section);display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:70dvh;overflow:hidden;padding:clamp(24px,4vw,48px) 0;padding:var(--section-spacing) 0;position:relative;scroll-margin-top:68px;scroll-margin-top:calc(var(--navbar-height, 60px) + 8px);width:100%;z-index:1}.about-section:before,.certifications-section:before,.contact-section:before,.hero-section:before,.interests-section:before,.projects-section:before,.publications-section:before,.section:before,.skills-section:before,section:before{background:radial-gradient(ellipse at 60% 10%,#2da44e0d 0,#0000 70%),radial-gradient(ellipse at 10% 80%,#0969da0a 0,#0000 70%);content:"";inset:0;opacity:.7;pointer-events:none;position:absolute;transition:opacity .22s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition);z-index:0}.section-content{align-items:flex-start;background:none;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 16px #eaeef233;flex-direction:column;gap:clamp(18px,3vw,32px);gap:var(--space-4);margin:0 auto;max-width:820px;max-width:var(--max-width);padding:clamp(24px,4vw,48px) clamp(18px,3vw,32px);padding:var(--space-5) var(--space-4)}.section-avatar,.section-content{display:flex;position:relative;z-index:2}.section-avatar{align-items:center;aspect-ratio:1/1;background:#fff;background:var(--color-bg-alt);border:2px solid #d0d7de;border-radius:50%;box-shadow:0 4px 24px #d0d7de33;height:clamp(56px,12vw,120px);justify-content:center;margin-bottom:clamp(6px,1vw,12px);margin-bottom:var(--space-2);overflow:hidden;transition:box-shadow .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition),transform var(--transition);width:clamp(56px,12vw,120px)}.section-avatar:focus-visible{outline:2px solid #2da44e;outline:var(--focus-outline);outline-offset:2px;outline-offset:var(--focus-outline-offset)}.section-avatar img{aspect-ratio:1/1;background:#fff;border-radius:50%;display:block;filter:brightness(1.04) saturate(1.05);height:100%;object-fit:cover;object-position:center;transition:filter .22s cubic-bezier(.4,0,.2,1);transition:filter var(--transition);width:100%}.section-card{background:#fff;background:var(--color-bg-alt);border:1px solid #eaeef2;border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 24px 0 #1b1f2314;box-shadow:var(--shadow-card);margin-bottom:clamp(12px,2vw,20px);margin-bottom:var(--space-3);max-width:100%;padding:clamp(24px,4vw,48px) clamp(18px,3vw,32px);padding:var(--space-5) var(--space-4);transition:box-shadow .22s cubic-bezier(.4,0,.2,1),background .22s cubic-bezier(.4,0,.2,1),filter .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition),background var(--transition),filter var(--transition),transform var(--transition)}.section-card:focus-within,.section-card:hover{box-shadow:0 8px 24px 0 #1b1f231f;box-shadow:var(--shadow-card-hover);filter:brightness(1.025) saturate(1.04);transform:translateY(-2px) scale(1.012)}.section-btn{align-items:center;background:#f6f8fa;border:1px solid #d0d7de;border-radius:10px;border-radius:var(--radius);box-shadow:0 2px 8px 0 #1b1f230f;color:#24292f;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:clamp(15px,1.1vw + .8rem,18px);font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);justify-content:center;letter-spacing:.01em;min-height:44px;min-width:44px;outline:none;overflow:hidden;padding:.6em 1.7em;position:relative;text-decoration:none;transition:background .14s cubic-bezier(.4,0,.2,1),color .14s cubic-bezier(.4,0,.2,1),transform .14s cubic-bezier(.4,0,.2,1),box-shadow .14s cubic-bezier(.4,0,.2,1),filter .14s cubic-bezier(.4,0,.2,1),border-color .14s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast),border-color var(--transition-fast)}.section-btn:focus-visible,.section-btn:hover{background:#eaeef2;border-color:#2da44e;border-color:var(--color-accent);box-shadow:0 8px 32px #2da44e22;color:#2da44e;color:var(--color-accent);filter:brightness(1.04);outline:2px solid #2da44e;outline:var(--focus-outline);outline-offset:2px;outline-offset:var(--focus-outline-offset);transform:translateY(-1px) scale(1.03)}.section-btn:active{transform:scale(.97)}:focus-visible{outline:2px solid #2da44e;outline:var(--focus-outline);outline-offset:2px;outline-offset:var(--focus-outline-offset)}a{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0969da;color:var(--color-link-hover);font-weight:600;font-weight:var(--font-weight-semibold);text-decoration:none;transition:color .14s cubic-bezier(.4,0,.2,1),-webkit-text-decoration .14s cubic-bezier(.4,0,.2,1);transition:color .14s cubic-bezier(.4,0,.2,1),text-decoration .14s cubic-bezier(.4,0,.2,1);transition:color .14s cubic-bezier(.4,0,.2,1),text-decoration .14s cubic-bezier(.4,0,.2,1),-webkit-text-decoration .14s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast),-webkit-text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast),-webkit-text-decoration var(--transition-fast)}a:focus,a:hover{color:#2da44e;color:var(--color-accent);outline:none;text-decoration:underline}.projects-grid,.section-card,.section-content,.timeline{box-sizing:border-box;max-width:100%;min-height:0;min-width:0;overflow-x:auto;padding-left:clamp(12px,2vw,20px);padding-left:var(--container-padding);padding-right:clamp(12px,2vw,20px);padding-right:var(--container-padding)}.projects-grid{grid-gap:clamp(18px,3vw,32px);grid-gap:var(--space-4);align-items:stretch;background:none;box-shadow:none;display:grid;gap:clamp(18px,3vw,32px);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:clamp(18px,3vw,32px);margin-top:var(--space-4);position:relative;width:100%;z-index:2}.skeleton{animation:skeleton-loading 1.1s linear infinite;background:linear-gradient(90deg,#eaeef2 25%,#f6f8fa 50%,#eaeef2 75%);background-size:200% 100%;border-radius:10px;border-radius:var(--radius);min-height:36px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.footer,footer{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#161b22;background:var(--color-footer-bg);bottom:0;box-shadow:0 -1px 0 #21262d;box-shadow:var(--shadow-footer);box-sizing:border-box;flex-direction:column;font-size:clamp(13px,1vw + .5rem,15px);font-size:var(--font-size-sm);gap:.2em;left:0;margin-top:auto;min-height:2.5rem;padding:clamp(6px,1vw,12px) 0;padding:var(--space-2) 0;position:relative;z-index:999}.footer,.footer>*,footer,footer>*{align-items:center;color:#8b949e;color:var(--color-footer-text);display:flex;font-family:Inter,Segoe UI,Arial,sans-serif;font-family:var(--font-main);justify-content:center;text-align:center;width:100%}@media (max-width:1200px){:root{--max-width:99vw}}@media (max-width:900px){.section-content{max-width:98vw}.projects-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.navbar{--navbar-height:auto;align-items:flex-start;flex-wrap:wrap;height:auto;min-height:0;min-height:auto;padding:0 clamp(3px,.5vw,6px);padding:0 var(--space-1)}.navbar .navbar-links{flex-direction:row;flex-wrap:wrap;gap:clamp(3px,.5vw,6px);gap:var(--space-1);justify-content:flex-start;margin:0}.navbar .navbar-hamburger{display:none}.navbar .navbar-links a{font-size:clamp(15px,1.1vw + .8rem,18px);font-size:var(--font-size-base);margin:0 2px 2px 0;min-height:40px;min-width:40px;padding:.5em .8em;width:auto}.navbar .navbar-links a:last-child{border-bottom:none}.navbar .navbar-links a:active,.navbar .navbar-links a:focus-visible,.navbar .navbar-links a:hover{background:linear-gradient(90deg,#2da44e22,#0969da11);background:var(--color-gradient-accent);color:#0969da;color:var(--color-link-hover);outline:2px solid #2da44e;outline:var(--focus-outline);outline-offset:2px;outline-offset:var(--focus-outline-offset)}.navbar .navbar-links a:after{background:#2da44e;background:var(--color-accent);border-radius:1px;bottom:.18em;height:2px;left:18%;opacity:0;right:18%;transform:scaleX(.5);transition:opacity .14s cubic-bezier(.4,0,.2,1),transform .14s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast),transform var(--transition-fast)}.navbar .navbar-links a.active:after,.navbar .navbar-links a:focus-visible:after,.navbar .navbar-links a:hover:after,.navbar .navbar-links a[aria-current=page]:after{background:#2da44e;background:var(--color-accent);opacity:1;transform:scaleX(1.1)}.about-section,.certifications-section,.contact-section,.hero-section,.interests-section,.projects-section,.publications-section,.section,.skills-section,section{margin-top:80px;padding:clamp(12px,2vw,20px) 0;padding:var(--space-3) 0;scroll-margin-top:80px}.section-avatar{margin-top:clamp(12px,2vw,20px);margin-top:var(--space-3);overflow:visible!important;position:relative;z-index:5}.section-avatar img{object-fit:contain!important}}@media (max-width:600px){:root{--font-size-h1:1.5rem;--font-size-h2:1.15rem;--font-size-h3:1rem;--font-size-base:15px;--font-size-sm:13px;--section-spacing:var(--space-3)}ol,p,ul{hyphens:auto!important;-webkit-hyphens:auto!important;line-height:1.7!important;text-align:left!important;word-spacing:.18em!important}.projects-grid,.section-card,.section-content,.timeline{padding-left:clamp(3px,.5vw,6px);padding-left:var(--space-1);padding-right:clamp(3px,.5vw,6px);padding-right:var(--space-1)}.projects-grid{gap:clamp(6px,1vw,12px);gap:var(--space-2);grid-template-columns:1fr}.footer,footer{font-size:clamp(13px,1vw + .5rem,15px);font-size:var(--font-size-sm)}.section,section{padding:clamp(12px,2vw,20px) 0;padding:var(--space-3) 0}.mobile-menu-toggle{display:block}.nav-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0d1117fa;box-shadow:-10px 0 30px #00000080;flex-direction:column;gap:0;height:100vh;justify-content:flex-start;padding-top:calc(var(--navbar-height) + 2rem);position:fixed;right:-100%;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:3000}.nav-links.mobile-open{right:0}.nav-links a{border-bottom:1px solid #ffffff0d;border-radius:0;font-size:1.1rem;justify-content:flex-start;padding:1.2rem 2rem;width:100%}.nav-links a:after{display:none}.nav-links a.active{background:linear-gradient(90deg,#2da44e26,#0000);border-left:3px solid #2da44e;border-left:3px solid var(--color-accent)}.section-avatar{height:80px;margin:0 auto clamp(6px,1vw,12px);margin:0 auto var(--space-2);overflow:visible!important;width:80px}.section-avatar img{border-radius:50%;height:100%;object-fit:contain!important;width:100%}}@media (max-width:400px){:root{--font-size-h1:1.08rem;--font-size-h2:0.98rem;--font-size-h3:0.92rem;--font-size-base:13px;--font-size-sm:12px}.nav-links{width:100%}.section-avatar{height:60px;overflow:visible!important;width:60px}.section-avatar img{object-fit:contain!important}.section,section{padding:clamp(6px,1vw,12px) 0;padding:var(--space-2) 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}@keyframes fadeInMenu{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.e079372f.css.map*/