:root{color-scheme:dark;--bg: #02050c;--bg-mid: #08101d;--panel: rgba(10, 16, 27, .56);--panel-strong: rgba(10, 18, 30, .78);--line: rgba(148, 178, 225, .14);--line-strong: rgba(133, 189, 255, .26);--text: #f2f6fd;--muted: #9ba8bc;--accent: #b9e8ff;--accent-2: #61c2ff;--accent-3: #7df0ce;--shadow: 0 24px 80px rgba(0, 0, 0, .42);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 18px;--shell: min(1180px, calc(100vw - 32px) )}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#010307,#06101b 34%,#02050b);color:var(--text);font-family:Manrope,sans-serif;overflow-x:hidden;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img,canvas{display:block;max-width:100%}button,input{font:inherit}.site-bg,.site-bg__gradient,.site-bg__mesh,.site-bg__vignette{position:fixed;inset:0;pointer-events:none}.site-bg__gradient{background:radial-gradient(circle at 18% 18%,rgba(24,70,140,.24),transparent 28%),radial-gradient(circle at 78% 16%,rgba(88,151,255,.15),transparent 30%),radial-gradient(circle at 50% 72%,rgba(88,151,255,.08),transparent 34%)}.site-bg__mesh{opacity:.14;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:74px 74px;-webkit-mask-image:radial-gradient(circle at center,black 26%,transparent 82%);mask-image:radial-gradient(circle at center,black 26%,transparent 82%)}.site-bg__vignette{background:radial-gradient(circle at center,transparent 42%,rgba(0,0,0,.62) 100%)}.loader{position:fixed;inset:0;z-index:80;display:grid;place-items:center;gap:14px;background:#010409eb;transition:opacity .5s ease,visibility .5s ease}.loader.is-hidden{opacity:0;visibility:hidden}.loader__planet{width:86px;height:86px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#d2f6ff,#2d67a8 48%,#08101b);box-shadow:0 0 50px #61c2ff66;animation:drift 1.8s ease-in-out infinite}.loader__text{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--muted)}.shell{width:var(--shell);margin:0 auto}.page-content{flex:1;padding-bottom:80px}.glass{background:linear-gradient(180deg,#0b121fbd,#060b13ad);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar{position:sticky;top:0;z-index:40;border-radius:0;border-left:none;border-right:none;border-top:none}.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.brand,.hero h1,.page-hero h1,.section__head h2,.hero__profile h2,.skill-pill h3,.project-card h3,.tool-card h3,.contact-card h3{font-family:Sora,sans-serif}.brand{font-size:.92rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;gap:22px;color:var(--muted)}.nav a{transition:color .25s ease;padding:6px 0}.nav a:hover,.nav a.is-active{color:var(--text)}.nav a.is-active{border-bottom:2px solid var(--accent-2)}.topbar__cta{padding:10px 14px;border-radius:999px;border:1px solid var(--line);color:var(--accent);transition:color .25s ease,border-color .25s ease;white-space:nowrap}.topbar__cta:hover{color:var(--text);border-color:var(--line-strong)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;width:36px;height:36px;flex-direction:column;justify-content:center;gap:5px}.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.page-hero{padding:60px 0 40px}.page-hero h1{margin:12px 0 0;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.03em}.page-hero__sub{margin:12px 0 0;color:var(--muted);font-size:1.1rem;max-width:500px;line-height:1.6}.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:54px 0 48px;overflow:clip}.hero__content{position:relative;z-index:2;max-width:680px;padding:48px 0 72px}.hero__kicker,.section__eyebrow,.hero__profile-label,.feature-card__label,.project-card__badge{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em}.hero__kicker,.section__eyebrow,.project-card__badge{color:var(--accent-3)}.hero h1{margin:18px 0;font-size:clamp(3rem,6.5vw,5.8rem);line-height:.98;letter-spacing:-.04em;max-width:11ch}.hero__lede,.section__copy,.feature-card p,.skill-pill p,.contact-panel p,.project-card__description,.project-card__footer,.hero__profile p,.projects-toolbar__meta{color:var(--muted);line-height:1.75}.hero__profile{display:inline-flex;align-items:center;gap:16px;padding:14px 18px;margin-top:28px;border-radius:22px}.hero__profile img{width:62px;height:62px;border-radius:18px;object-fit:cover;border:1px solid var(--line-strong)}.hero__profile h2{margin:2px 0 4px;font-size:1.08rem}.hero__profile p{margin:0;font-size:.92rem}.hero__actions,.contact-panel__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;font-weight:700;cursor:pointer;transition:transform .28s ease,border-color .28s ease,background .28s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button--solid{color:#06101a;border:none;background:linear-gradient(135deg,#c7efff,#63c5ff)}.button--subtle{border:1px solid var(--line-strong);background:#ffffff05}.hero__earth-wrap{position:absolute;inset:0 0 0 auto;width:min(58vw,860px);pointer-events:none}.hero__earth,.hero__earth-glow{position:absolute;right:-10%;top:47%;transform:translateY(-50%);border-radius:50%}.hero__earth{width:min(68vw,860px);height:min(68vw,860px);min-width:500px;min-height:500px;pointer-events:auto;z-index:2;overflow:hidden;filter:saturate(1.06);mask-image:radial-gradient(circle at 50% 50%,black 57%,rgba(0,0,0,.98) 62%,transparent 73%);-webkit-mask-image:radial-gradient(circle at 50% 50%,black 57%,rgba(0,0,0,.98) 62%,transparent 73%)}.hero__earth-glow{width:min(76vw,980px);height:min(76vw,980px);background:radial-gradient(circle at 54% 48%,rgba(110,170,255,.18),rgba(110,170,255,.05) 44%,transparent 66%),radial-gradient(circle at 50% 50%,rgba(49,92,170,.2),transparent 72%);filter:blur(28px)}#earth-stage canvas{width:100%!important;height:100%!important}.feature-card,.skill-pill,.contact-panel,.projects-toolbar,.project-card{border-radius:var(--radius-lg);padding:18px;background:linear-gradient(180deg,#0d131fc7,#080d17ad);border:1px solid rgba(150,178,219,.1)}.about-layout{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}.feature-card{min-height:180px}.feature-card--large{display:flex;align-items:end;min-height:240px}.skill-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.skill-pill h3,.project-card h3{margin:0 0 10px}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-card{border-radius:var(--radius-lg);padding:24px;background:linear-gradient(180deg,#0d131fc7,#080d17ad);border:1px solid rgba(150,178,219,.1);display:flex;flex-direction:column;gap:14px}.tool-card h3{margin:0;font-size:1.2rem}.tool-card__desc{color:var(--muted);margin:0;font-size:.92rem;line-height:1.6}.tool-card__form{display:flex;flex-direction:column;gap:12px;margin-top:4px}.tool-field{display:flex;flex-direction:column;gap:4px}.tool-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.tool-field input,.tool-field select{border:1px solid rgba(150,178,219,.14);background:#ffffff0a;color:var(--text);border-radius:12px;padding:10px 14px;font:inherit;font-size:.95rem;outline:none;transition:border-color .2s ease}.tool-field input:focus,.tool-field select:focus{border-color:var(--accent-2)}.tool-field select option{background:#0a1220;color:var(--text)}.tool-field-row{display:flex;gap:12px}.tool-field--grow{flex:1}.tool-card .button{margin-top:4px;min-height:44px;font-size:.92rem}.tool-result{min-height:0;border-radius:12px;font-size:.9rem;line-height:1.7;color:var(--accent);transition:all .3s ease}.tool-result:not(:empty){padding:14px 16px;margin-top:4px;background:#61c2ff0f;border:1px solid rgba(97,194,255,.15)}.tool-result p{margin:0;display:flex;justify-content:space-between;gap:8px}.tool-result p span:first-child{color:var(--muted)}.tool-result p span:last-child{color:var(--text);font-weight:600}.tool-result .tool-result__highlight{font-size:1.1rem;color:var(--accent-3);font-weight:700;text-align:center;margin-top:6px}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.github-form{display:flex;gap:12px;flex:1}.github-form input{flex:1;min-width:0;border:1px solid rgba(150,178,219,.14);background:#ffffff0a;color:var(--text);border-radius:16px;padding:0 16px;min-height:52px;outline:none}.projects-toolbar__meta{display:flex;flex-direction:column;gap:2px;min-width:190px;text-align:right;font-size:.9rem}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.project-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;min-height:270px;transition:transform .34s ease,border-color .34s ease,box-shadow .34s ease}.project-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(112,194,255,.18),transparent 44%);opacity:.9;transition:opacity .34s ease,transform .34s ease}.project-card:hover,.project-card:focus-visible{transform:translateY(-8px);border-color:#70c2ff59;box-shadow:0 22px 54px #0000006b,0 0 36px #70c2ff14}.project-card:hover:before,.project-card:focus-visible:before{opacity:1;transform:scale(1.05)}.project-card__top,.project-card__footer,.tags{position:relative;z-index:1}.project-card__top{display:flex;justify-content:space-between;gap:12px;align-items:start}.project-card__description{margin:0}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#69adff1f;color:#d6edff;font-size:.82rem}.project-card__footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:.88rem}.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-card{border-radius:var(--radius-lg);padding:28px;background:linear-gradient(180deg,#0d131fc7,#080d17ad);border:1px solid rgba(150,178,219,.1);display:flex;flex-direction:column;gap:10px;transition:transform .3s ease,border-color .3s ease}.contact-card:hover{transform:translateY(-4px);border-color:#70c2ff4d}.contact-card__icon{color:var(--accent-2)}.contact-card h3{margin:4px 0 0;font-size:1.15rem}.contact-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.contact-card__link{margin-top:auto;color:var(--accent);font-size:.88rem;font-weight:600}.about-hero{display:flex;gap:32px;align-items:center;padding:60px 0 40px}.about-hero__photo img{width:140px;height:140px;border-radius:28px;object-fit:cover;border:2px solid var(--line-strong);box-shadow:0 12px 40px #0006}.about-hero__info{flex:1}.about-hero__info h1{font-family:Sora,sans-serif;margin:8px 0 4px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.about-hero__title{color:var(--accent-2);font-size:1.1rem;font-weight:600;margin:0 0 16px}.about-hero__meta{display:flex;flex-wrap:wrap;gap:12px 20px}.about-meta-item{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.88rem}.about-meta-item svg{color:var(--accent-2);flex-shrink:0}.about-meta-item--link:hover{color:var(--text)}.about-section{margin-top:40px}.about-section__title{font-family:Sora,sans-serif;margin:0 0 20px;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em}.about-section__title .section__eyebrow{display:block;margin-bottom:6px}.about-summary{border-radius:var(--radius-lg);padding:28px}.about-summary h2{font-family:Sora,sans-serif;margin:0 0 14px;font-size:1.3rem}.about-summary p{color:var(--muted);line-height:1.8;margin:0 0 12px}.about-summary p:last-child{margin-bottom:0}.about-summary strong{color:var(--text)}.timeline{display:flex;flex-direction:column;gap:16px}.timeline__item{border-radius:var(--radius-lg);position:relative;padding:24px 24px 24px 40px}.timeline__dot{position:absolute;left:16px;top:30px;width:12px;height:12px;border-radius:50%;background:var(--muted);border:2px solid var(--line)}.timeline__dot--active{background:var(--accent-3);box-shadow:0 0 12px #7df0ce66}.timeline__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.timeline__header h3{font-family:Sora,sans-serif;margin:0;font-size:1.1rem}.timeline__company{color:var(--accent-2);margin:4px 0 0;font-size:.9rem}.timeline__date{color:var(--muted);font-size:.82rem;white-space:nowrap;background:#61c2ff14;padding:4px 12px;border-radius:999px;font-weight:600}.timeline__list{margin:0;padding-left:18px;color:var(--muted);line-height:1.8;font-size:.92rem}.timeline__list li{margin-bottom:4px}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.highlight-card{border-radius:var(--radius-lg);padding:24px;text-align:center}.highlight-card__number{display:block;font-family:Sora,sans-serif;font-size:2.2rem;font-weight:800;color:var(--accent-2);letter-spacing:-.03em}.highlight-card__label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-3);margin:4px 0 10px;font-weight:700}.highlight-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.edu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.edu-card{border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:8px}.edu-card__icon{color:var(--muted)}.edu-card__icon--accent{color:var(--accent-2)}.edu-card h3{font-family:Sora,sans-serif;margin:0;font-size:1rem}.edu-card p{margin:0;color:var(--muted);font-size:.88rem}.edu-card__year{margin-top:auto;color:var(--muted);font-size:.82rem;font-weight:600}.edu-card__badge{margin-top:auto;display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:999px;background:#7df0ce1f;color:var(--accent-3);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.about-extra{border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:24px}.about-extra__item{flex:1}.about-extra__item h3{font-family:Sora,sans-serif;margin:0 0 4px;font-size:.9rem}.about-extra__item p{margin:0;color:var(--muted);font-size:.88rem}.about-extra__divider{width:1px;height:40px;background:var(--line)}.skills-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-category{border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .3s ease,border-color .3s ease}.skill-category:hover{transform:translateY(-4px);border-color:#70c2ff40}.skill-category__icon{color:var(--accent-2)}.skill-category h3{font-family:Sora,sans-serif;margin:0;font-size:1.1rem}.skill-category p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.skill-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.skill-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#69adff1a;color:#d6edff;font-size:.78rem;font-weight:500}.certs-bar{margin-top:40px}.certs-row{display:flex;flex-wrap:wrap;gap:12px}.cert-badge{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-lg);color:var(--accent);font-weight:600;font-size:.92rem}.cert-badge svg{color:var(--accent-3);flex-shrink:0}.site-footer{margin-top:auto;padding:28px 0;border-top:1px solid var(--line)}.site-footer p{margin:0;text-align:center;color:var(--muted);font-size:.85rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal--delay{transition-delay:.18s}.reveal.is-visible{opacity:1;transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes drift{0%,to{transform:translateY(0) scale(.98)}50%{transform:translateY(-6px) scale(1.02)}}@media(max-width:1120px){.hero{min-height:auto;padding-top:28px}.hero__content{max-width:620px;padding-top:80px}.hero__earth-wrap{position:relative;width:100%;height:520px;margin-top:24px;order:-1}.hero__earth,.hero__earth-glow{left:50%;right:auto;transform:translate(-50%,-50%)}.hero__earth{width:min(78vw,640px);height:min(78vw,640px);min-width:360px;min-height:360px}.hero__earth-glow{width:min(84vw,720px);height:min(84vw,720px)}.about-layout,.skill-strip,.projects-grid,.tools-grid,.contact-cards,.skills-categories,.highlights-grid,.edu-grid{grid-template-columns:repeat(2,1fr)}.about-extra{flex-direction:column;align-items:stretch}.about-extra__divider{width:100%;height:1px}.timeline__header{flex-direction:column}.projects-toolbar{flex-direction:column;align-items:stretch}.projects-toolbar__meta{text-align:left;min-width:0}}@media(max-width:760px){:root{--shell: calc(100vw - 24px) }.topbar__inner{padding:12px 0}.nav-toggle{display:flex}.topbar__cta{display:none}.nav{display:none;flex-direction:column;position:fixed;inset:0;z-index:100;background:#02050cf7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:80px 32px 32px;gap:0}.nav.is-open{display:flex}.nav a{font-size:1.4rem;font-weight:600;padding:16px 0;border-bottom:1px solid var(--line);color:var(--muted)}.nav a:hover,.nav a.is-active{color:var(--text);border-bottom-color:var(--accent-2)}.nav-toggle.is-open{position:fixed;top:14px;right:16px;z-index:110}.hero h1{font-size:clamp(2.4rem,10vw,3.6rem)}.hero__earth-wrap{height:360px}.hero__earth{min-width:280px;min-height:280px}.hero__profile{flex-direction:column;text-align:center}.hero__actions{justify-content:center}.page-hero{padding:40px 0 28px}.page-hero h1{font-size:clamp(1.8rem,7vw,2.6rem)}.github-form{flex-direction:column}.projects-grid{grid-template-columns:1fr}.project-card{min-height:220px}.tools-grid{grid-template-columns:1fr}.tool-field-row{flex-direction:column}.contact-cards{grid-template-columns:1fr}.contact-card{padding:22px}.about-layout,.skill-strip,.skills-categories,.highlights-grid,.edu-grid{grid-template-columns:1fr}.feature-card--large{min-height:auto}.about-hero{flex-direction:column;text-align:center;padding:40px 0 28px}.about-hero__photo img{width:110px;height:110px}.about-hero__meta{justify-content:center}.certs-row{flex-direction:column}.cert-badge{justify-content:center}}@media(max-width:400px){:root{--shell: calc(100vw - 16px) }.hero h1{font-size:2rem}.page-hero h1{font-size:1.6rem}.button{min-height:44px;padding:0 16px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
