@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/b886574ba42c3409-s.1f4af8e6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.e20f337c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_5b66e03f-module__jdLdjq__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_5b66e03f-module__jdLdjq__variable{--font-sora:"Sora","Sora Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ba8e772932784a28-s.7bb0ada4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7546fe8f902b88b8-s.p.5f7c9333.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.4b5f6188.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.d8302362.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.e316a4a9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.f2813c2a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_15215d1a-module__9WsyoW__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_15215d1a-module__9WsyoW__variable{--font-dm-mono:"DM Mono","DM Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--bg:#09090c;--bg1:#0f0f13;--bg2:#141418;--bg3:#1a1a21;--border:#ffffff12;--border-hi:#ffffff24;--accent:#6366f1;--accent2:#8b5cf6;--accent-lo:#6366f11a;--accent-md:#6366f133;--green:#34d399;--green-lo:#34d39914;--yellow:#fbbf24;--yellow-lo:#fbbf2414;--rose:#fb7185;--text:#f2f2f8;--text-2:#9898b0;--text-3:#55556a;--mono:"DM Mono",monospace;--sans:"Sora",sans-serif;--r:14px;--r-sm:8px}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}.page-wrap{grid-template-columns:224px 1fr;max-width:1240px;min-height:100vh;margin:0 auto;display:grid}.sidenav{border-right:1px solid var(--border);scrollbar-width:none;flex-direction:column;height:100vh;padding:40px 0;display:flex;position:sticky;top:0;overflow-y:auto}.sidenav::-webkit-scrollbar{display:none}.nav-brand{border-bottom:1px solid var(--border);margin-bottom:20px;padding:0 24px 28px}.nav-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:700}.nav-role{color:var(--text-3);margin-top:3px;font-size:11px}.nav-avail{color:var(--green);background:var(--green-lo);border:1px solid #34d39933;border-radius:999px;align-items:center;gap:5px;margin-top:10px;padding:3px 9px;font-size:10px;display:inline-flex}.nav-avail-dot{background:var(--green);border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:4px;padding:0 24px 6px;font-size:10px;font-weight:600}.nav-link{color:var(--text-2);border-left:2px solid #0000;align-items:center;gap:9px;padding:8px 24px;font-size:13px;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.nav-link:hover{color:var(--text);background:#ffffff06;text-decoration:none}.nav-link.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-lo)}.nav-link-icon{text-align:center;opacity:.6;width:16px;font-size:13px}.nav-footer{border-top:1px solid var(--border);flex-direction:column;gap:7px;margin-top:auto;padding:20px 24px 0;display:flex}.nav-footer a{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;display:flex}.nav-footer a:hover{color:var(--text-2);text-decoration:none}.main-content{min-width:0;padding:0 56px 100px}.hero-wrap{padding:72px 0 80px;position:relative;overflow:hidden}.hero-wrap:before{content:"";pointer-events:none;background:radial-gradient(60% 50% at 20% 40%,#6366f12e 0%,#0000 60%),radial-gradient(40% 60% at 75% 20%,#8b5cf61f 0%,#0000 55%),radial-gradient(50% 40% at 55% 80%,#34d3990d 0%,#0000 50%);animation:14s ease-in-out infinite alternate meshshift;position:absolute;inset:-40px}@keyframes meshshift{0%{transform:scale(1)translate(0)}33%{transform:scale(1.04)translate(-1%,1.5%)}66%{transform:scale(.97)translate(1.5%,-1%)}to{transform:scale(1.02)translate(-.5%,.5%)}}.hero-wrap:after{content:"";background:linear-gradient(90deg,#0000,#6366f14d,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.hero{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) 50ms forwards rise;position:relative;transform:translateY(18px)}@keyframes rise{to{opacity:1;transform:translateY(0)}}.hero-eyebrow{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;background:var(--accent-lo);border:1px solid var(--accent-md);border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:5px 14px;font-size:11.5px;font-weight:500;display:inline-flex}.hero-name{letter-spacing:-.035em;background:linear-gradient(135deg,#f2f2f8 30%,#a5b4fc 65%,#c4b5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,6vw,76px);font-weight:800;line-height:1}.hero-sub{color:var(--text-2);max-width:580px;margin-top:22px;font-size:18px;font-weight:300;line-height:1.65}.hero-sub strong{color:var(--text);font-weight:500}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{border-radius:var(--r-sm);font-family:var(--sans);cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:500;text-decoration:none;transition:all .18s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{background:#5153d4;text-decoration:none;box-shadow:0 0 28px #6366f173}.btn-ghost{color:var(--text-2);border:1px solid var(--border-hi);background:0 0}.btn-ghost:hover{color:var(--text);border-color:#ffffff47;text-decoration:none}.stat-bar{background:var(--border);border:1px solid var(--border);border-radius:var(--r);opacity:0;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 0 72px;animation:.6s .2s forwards rise;display:grid;overflow:hidden}.stat-cell{background:var(--bg1);padding:26px 24px;transition:background .2s;position:relative;overflow:hidden}.stat-cell:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.stat-cell:first-child:before{background:linear-gradient(90deg,var(--accent),var(--accent2))}.stat-cell:nth-child(2):before{background:linear-gradient(90deg,var(--accent2),var(--rose))}.stat-cell:nth-child(3):before{background:linear-gradient(90deg,var(--green),#34d399cc)}.stat-cell:nth-child(4):before{background:linear-gradient(90deg,var(--yellow),#fbbf24cc)}.stat-cell:hover{background:var(--bg2)}.stat-val{color:var(--text);letter-spacing:-.035em;font-size:34px;font-weight:700;line-height:1}.stat-val .unit{color:var(--text-3);font-size:14px;font-weight:400}.stat-label{color:var(--text-2);margin-top:7px;font-size:12px;font-weight:500}.stat-note{color:var(--text-3);font-size:11px;font-family:var(--mono);margin-top:3px}.section{margin-bottom:80px}.section-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.section-num{color:var(--accent);font-size:10.5px;font-weight:600;font-family:var(--mono);background:var(--accent-lo);border:1px solid var(--accent-md);letter-spacing:.04em;border-radius:5px;padding:3px 8px}.section-title{color:var(--text);letter-spacing:-.02em;font-size:21px;font-weight:700}.section-line{background:var(--border);flex:1;height:1px}.featured-card{background:var(--bg1);border:1px solid var(--border-hi);border-radius:var(--r);margin-bottom:16px;padding:36px 36px 28px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.featured-card:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% -10%,#6366f11a 0%,#0000 60%);position:absolute;inset:0}.featured-card:hover{border-color:#6366f161;box-shadow:0 0 0 1px #6366f11f,0 20px 60px #00000080}.featured-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-lo);border:1px solid var(--accent-md);border-radius:999px;align-items:center;gap:6px;margin-bottom:16px;padding:3px 10px;font-size:10px;font-weight:600;display:inline-flex}.featured-name{color:var(--text);letter-spacing:-.02em;margin-bottom:8px;font-size:22px;font-weight:700}.featured-name a{color:var(--text)}.featured-name a:hover{color:var(--accent);text-decoration:none}.featured-tagline{color:var(--text-2);max-width:620px;margin-bottom:24px;font-size:14px;line-height:1.6}.pipeline{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);scrollbar-width:none;align-items:center;gap:0;margin-bottom:22px;padding:14px 18px;display:flex;overflow-x:auto}.pipeline::-webkit-scrollbar{display:none}.pipe-step{font-size:11px;font-family:var(--mono);color:var(--text-2);text-align:center;white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:center;display:flex}.pipe-dot{border-radius:50%;width:8px;height:8px;margin-bottom:6px;position:relative}.pipe-dot:after{content:"";opacity:.3;border:1px solid;border-radius:50%;position:absolute;inset:-3px}.pipe-dot-accent{background:var(--accent);color:var(--accent)}.pipe-dot-green{background:var(--green);color:var(--green)}.pipe-dot-yellow{background:var(--yellow);color:var(--yellow)}.pipe-dot-rose{background:var(--rose);color:var(--rose)}.pipe-label{color:var(--text-3);margin-top:3px;font-size:10px}.pipe-arrow{color:var(--text-3);flex-shrink:0;margin-bottom:14px;padding:0 10px;font-size:14px}.project-grid{gap:14px;display:grid}.project-card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--r);cursor:default;padding:26px 28px;transition:border-color .22s,box-shadow .22s,transform .22s;position:relative;overflow:hidden}.project-card:after{content:"";border-radius:inherit;background:radial-gradient(400px circle at var(--mx,50%)var(--my,50%),#6366f112,transparent 60%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.project-card:hover{border-color:var(--border-hi);transform:translateY(-2px);box-shadow:0 16px 48px #00000073}.project-card:hover:after{opacity:1}.card-top{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.card-name{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:600}.card-name a{color:var(--text)}.card-name a:hover{color:var(--accent);text-decoration:none}.card-tagline{color:var(--text-3);margin-bottom:16px;font-size:13px;font-style:italic;line-height:1.55}.tag{letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:600}.tag-sys{background:var(--accent-lo);color:var(--accent);border:1px solid var(--accent-md)}.tag-ml{color:var(--yellow);background:#fbbf2414;border:1px solid #fbbf2433}.tag-tool{background:var(--green-lo);color:var(--green);border:1px solid #34d39933}.tag-dbg{color:var(--rose);background:#fb718514;border:1px solid #fb718533}.bullet-list{flex-direction:column;gap:8px;margin-bottom:18px;list-style:none;display:flex}.bullet-list li{color:var(--text-2);padding-left:18px;font-size:13.5px;line-height:1.6;position:relative}.bullet-list li:before{content:"–";color:var(--accent);font-weight:600;position:absolute;left:0}.bullet-list li code{font-family:var(--mono);color:var(--accent);background:var(--accent-lo);border-radius:3px;padding:1px 5px;font-size:11.5px}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{font-size:11px;font-family:var(--mono);color:var(--text-3);background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:3px 9px}.chip-hi{color:var(--text-2);border-color:var(--border-hi);background:var(--bg3)}.card-links{gap:14px;font-size:12px;font-weight:500;display:flex}.card-links a{color:var(--text-3);align-items:center;gap:4px;transition:color .15s;display:flex}.card-links a:hover{color:var(--accent);text-decoration:none}.oss-list{border:1px solid var(--border);border-radius:var(--r);background:var(--border);flex-direction:column;gap:1px;display:flex;overflow:hidden}.oss-row{background:var(--bg1);border-left:3px solid #0000;grid-template-columns:auto 1fr auto;align-items:start;gap:18px;padding:20px 24px;transition:background .15s;display:grid}.oss-row:hover{background:var(--bg2)}.oss-row.temporal{border-left-color:#6366f1}.oss-row.azure{border-left-color:#3b82f6}.oss-pr-badge{font-family:var(--mono);color:var(--accent);background:var(--accent-lo);border:1px solid var(--accent-md);border-radius:var(--r-sm);white-space:nowrap;padding:3px 9px;font-size:11px;font-weight:500;text-decoration:none}.oss-pr-badge.azure-badge{color:#60a5fa;background:#60a5fa14;border-color:#60a5fa33}.oss-pr-badge:hover{opacity:.8;text-decoration:none}.oss-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:500}.oss-desc{color:var(--text-2);font-size:12.5px;line-height:1.55}.oss-desc code{font-family:var(--mono);color:var(--accent);background:var(--accent-lo);border-radius:3px;padding:1px 4px;font-size:11px}.oss-status{letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-self:start;padding:4px 10px;font-size:10px;font-weight:600}.status-merged{background:var(--green-lo);color:var(--green);border:1px solid #34d39940}.status-review{background:var(--yellow-lo);color:var(--yellow);border:1px solid #fbbf2440}.skills-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.skill-card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;transition:border-color .15s}.skill-card:hover{border-color:var(--border-hi)}.skill-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px;font-weight:600}.skill-chips{flex-wrap:wrap;gap:6px;display:flex}.skill-chip{color:var(--text-2);background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 10px;font-size:12px}.exp-list{flex-direction:column;gap:14px;display:flex}.exp-card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--r);padding:24px 28px;transition:border-color .15s}.exp-card:hover{border-color:var(--border-hi)}.exp-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:3px;display:flex}.exp-role{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.exp-dates{color:var(--text-3);font-size:12px;font-family:var(--mono);white-space:nowrap;margin-top:2px}.exp-company{color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:500}.exp-bullets{flex-direction:column;gap:6px;list-style:none;display:flex}.exp-bullets li{color:var(--text-2);padding-left:16px;font-size:13.5px;line-height:1.6;position:relative}.exp-bullets li:before{content:"·";color:var(--text-3);font-size:20px;line-height:1.2;position:absolute;left:0}.writing-list{flex-direction:column;gap:10px;display:flex}.writing-card{background:var(--bg1);border:1px solid var(--border);border-radius:var(--r);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;transition:border-color .15s,transform .18s;display:flex}.writing-card:hover{border-color:var(--border-hi);text-decoration:none;transform:translate(4px)}.writing-title{color:var(--text);margin-bottom:3px;font-size:14px;font-weight:500}.writing-sub{color:var(--text-3);font-size:12px}.writing-arrow{color:var(--text-3);flex-shrink:0;font-size:18px;transition:color .15s,transform .18s}.writing-card:hover .writing-arrow{color:var(--accent);transform:translate(3px)}.contact-card{border-radius:var(--r);text-align:center;background:var(--bg1);border:1px solid #6366f138;padding:60px 44px;position:relative;overflow:hidden}.contact-card:before{content:"";pointer-events:none;background:radial-gradient(70% 60% at 20%,#6366f121 0%,#0000 60%),radial-gradient(60% 70% at 80% 30%,#8b5cf617 0%,#0000 55%),radial-gradient(50% 50% at 50% 100%,#34d3990a 0%,#0000 50%);position:absolute;inset:0}.contact-card:after{content:"";background:linear-gradient(90deg,#0000,#6366f180,#8b5cf666,#0000);height:1px;position:absolute;top:0;left:0;right:0}.contact-headline{letter-spacing:-.025em;color:var(--text);margin-bottom:10px;font-size:32px;font-weight:700;position:relative}.contact-sub{color:var(--text-2);max-width:480px;margin:0 auto 32px;font-size:15px;line-height:1.65;position:relative}.contact-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex;position:relative}@media (max-width:960px){.page-wrap{grid-template-columns:1fr}.sidenav{border-right:none;border-bottom:1px solid var(--border);scrollbar-width:none;flex-flow:row;height:auto;padding:14px 16px;position:relative;overflow-x:auto}.sidenav::-webkit-scrollbar{display:none}.nav-brand,.nav-section-label,.nav-footer{display:none}.nav-link{white-space:nowrap;border-left:none;border-radius:999px;padding:6px 13px;font-size:12px}.nav-link.active{background:var(--accent-lo);border:1px solid var(--accent-md)}.main-content{padding:36px 20px 70px}.stat-bar{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:1fr}.hero-name{font-size:40px}}@media (max-width:540px){.hero-name{font-size:34px}.featured-card,.project-card{padding:20px 18px}.oss-row{grid-template-columns:1fr;gap:10px}}@media (max-width:768px){html{font-size:16.5px}}.hero-links-sub{color:var(--text-3);flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;display:flex}.hero-links-sub a{color:var(--text-3);text-decoration:none}.hero-links-sub a:hover{color:var(--text-2);text-decoration:none}body{letter-spacing:.01em;color:#fffffff5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.72}.hero-sub,.contact-sub,.oss-desc,.writing-sub,.card-tagline,.exp-bullets li,.bullet-list li,.skill-chip,.nav-role,.nav-avail,.stat-note{font-size:1.04rem;line-height:1.72}.section-title{font-size:1.5rem}.card-name,.featured-name,.writing-title,.exp-role,.contact-headline{line-height:1.25}@media (max-width:960px){html{font-size:16px}}body{color:#fffffff7;letter-spacing:.005em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.72}.nav-name{letter-spacing:-.02em;color:#fff;font-size:1.2rem;font-weight:800}.nav-role,.nav-avail,.nav-footer a,.nav-link{font-size:.97rem;font-weight:600}.nav-link{color:#ffffffd6}.nav-link:hover,.nav-link.active{color:#fff}.hero-eyebrow{letter-spacing:.08em;color:#ffffffd1;font-size:.8rem;font-weight:700}.hero-name{letter-spacing:-.04em;color:#fff;font-size:clamp(2.8rem,6vw,4.9rem);font-weight:800;line-height:.98}.hero-sub{color:#ffffffeb;max-width:48rem;font-size:1.16rem;font-weight:500;line-height:1.78}.hero-links-sub{color:#ffffffc7;font-size:.95rem;font-weight:600}.hero-links-sub a{color:#ffffffd6}.hero-links-sub a:hover{color:#fff}.btn{letter-spacing:.01em;border-width:1.5px;font-size:.98rem;font-weight:700}.btn-primary{box-shadow:0 10px 28px #6366f147}.stat-val{color:#fff;font-size:1.85rem;font-weight:800}.stat-label{color:#ffffffe6;font-size:.95rem;font-weight:700}.stat-note{color:#ffffffbd;font-size:.95rem;line-height:1.55}.section-num{color:#ffffffe0;font-size:.9rem;font-weight:800}.section-title{letter-spacing:-.02em;color:#fff;font-size:1.6rem;font-weight:800}.featured-card,.project-card,.exp-card,.skill-card,.writing-featured,.writing-mini,.contact-card,.oss-row{border-color:#ffffff1c;box-shadow:0 18px 40px #00000052}.featured-name,.card-name,.oss-title,.exp-role,.writing-title,.contact-headline{letter-spacing:-.015em;color:#fff;font-size:1.14rem;font-weight:800;line-height:1.28}.featured-tagline,.card-tagline,.oss-desc,.contact-sub,.writing-sub{color:#ffffffe6;font-size:1.02rem;font-weight:500;line-height:1.72}.bullet-list li,.exp-bullets li{color:#ffffffe6;font-size:1rem;font-weight:500;line-height:1.72}.chip,.skill-chip,.tag,.oss-status{color:#ffffffeb;border-color:#ffffff1f;font-size:.88rem;font-weight:700}.card-links a,.oss-pr-badge,.writing-mini,.writing-featured,.contact-card a{font-weight:700}@media (max-width:960px){html{font-size:16.5px}.hero-name{font-size:2.5rem}.hero-sub{font-size:1.05rem}.section-title{font-size:1.4rem}}@media (max-width:960px){.exp-dates{font-size:.96rem}}.exp-dates{color:#ffffffeb;letter-spacing:.01em;font-size:1rem;font-weight:700}@media (max-width:960px){.exp-dates{font-size:.96rem}}.pipe-step{color:#fffffff2;font-size:1rem;font-weight:700}.pipe-arrow{color:#ffffffeb;font-size:1.08rem;font-weight:800}.pipe-label{color:#ffffffd1;font-size:.94rem;font-weight:700}.oss-pr-badge,.azure-badge{font-size:1rem;font-weight:800;line-height:1.35}.exp-company{color:#ffffffe6;font-size:1rem;font-weight:650;line-height:1.55}@media (max-width:960px){.pipe-step,.oss-pr-badge,.azure-badge,.exp-company{font-size:.96rem}.pipe-label{font-size:.9rem}}code,.oss-desc code,.bullet-list code,.exp-bullets code,.contact-sub code,.writing-sub code{vertical-align:baseline;display:inline-block;color:#fff!important;background:#ffffff1a!important;border:1px solid #ffffff24!important;border-radius:.48rem!important;padding:.14rem .42rem!important;font-size:1.08rem!important;font-weight:800!important;line-height:1.55!important}@media (max-width:960px){code,.oss-desc code,.bullet-list code,.exp-bullets code,.contact-sub code,.writing-sub code{font-size:1rem!important}}.hero-actions .btn{white-space:nowrap}.project-card .bullet-list li,.featured-card .bullet-list li,.project-card .card-tagline,.featured-card .featured-tagline,.project-card .chip,.featured-card .chip,.project-card .pipe-label,.featured-card .pipe-label{font-size:.88rem!important;line-height:1.6!important}.project-card .chip,.featured-card .chip{font-weight:650}@media (max-width:960px){.project-card .bullet-list li,.featured-card .bullet-list li,.project-card .card-tagline,.featured-card .featured-tagline,.project-card .chip,.featured-card .chip,.project-card .pipe-label,.featured-card .pipe-label{font-size:.84rem!important}}.oss-desc{font-size:.88rem!important;line-height:1.58!important}.oss-desc code{font-size:.92rem!important}@media (max-width:960px){.oss-desc{font-size:.84rem!important}.oss-desc code{font-size:.88rem!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-wrap{position:relative;overflow:hidden}.hero-wrap:before,.hero-wrap:after{content:"";pointer-events:none;filter:blur(60px);opacity:.22;z-index:0;border-radius:999px;position:absolute;inset:auto}.hero-wrap:before{background:radial-gradient(circle,#6366f14d,#0000 65%);width:320px;height:320px;animation:12s ease-in-out infinite heroFloatA;top:-60px;right:-40px}.hero-wrap:after{background:radial-gradient(circle,#38bdf833,#0000 68%);width:260px;height:260px;animation:14s ease-in-out infinite heroFloatB;bottom:-40px;left:-30px}.hero-wrap>*{z-index:1;position:relative}@keyframes heroFloatA{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-18px,14px)scale(1.06)}}@keyframes heroFloatB{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(16px,-12px)scale(1.05)}}.btn{transition:transform .18s,box-shadow .22s,border-color .22s,background-color .22s,color .22s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary:hover{box-shadow:0 14px 34px #6366f157}.btn-ghost:hover{box-shadow:0 10px 24px #0000002e}.nav-link{transition:color .18s,background-color .18s,border-color .18s,padding-left .18s,transform .18s;position:relative}.nav-link:before{content:"";opacity:0;background:linear-gradient(#6366f1f2,#38bdf8f2);border-radius:999px;width:3px;height:0;transition:height .22s,opacity .22s;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.nav-link:hover,.nav-link.active{padding-left:.4rem;transform:translate(2px)}.nav-link:hover:before,.nav-link.active:before{opacity:1;height:70%}.section.reveal{opacity:0;transition:opacity .52s,transform .52s;transform:translateY(22px)}.section.reveal.visible{opacity:1;transform:translateY(0)}.section-line{transform-origin:0;opacity:.72;transition:transform .7s 80ms,opacity .7s 80ms;transform:scaleX(.35)}.section.reveal.visible .section-line{opacity:1;transform:scaleX(1)}.featured-card,.project-card,.exp-card,.skill-card,.writing-featured,.writing-mini,.contact-card,.oss-row{will-change:transform;transition:transform .22s,box-shadow .22s,border-color .22s,background-color .22s}.featured-card:hover,.project-card:hover,.exp-card:hover,.skill-card:hover,.writing-featured:hover,.writing-mini:hover,.contact-card:hover,.oss-row:hover{border-color:#ffffff29;transform:translateY(-4px);box-shadow:0 22px 48px #00000061}.featured-card,.project-card{position:relative;overflow:hidden}.featured-card:after,.project-card:after{content:"";background:radial-gradient(380px circle at var(--mx,50%)var(--my,50%),#ffffff14,transparent 42%);opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:-1px}.featured-card:hover:after,.project-card:hover:after{opacity:1}.project-grid>*,.oss-list>*,.skills-grid>*,.exp-list>*,.writing-mini-list>*,.contact-btns>*{opacity:0;transition:opacity .48s,transform .48s;transform:translateY(16px)}.section.visible .project-grid>*,.section.visible .oss-list>*,.section.visible .skills-grid>*,.section.visible .exp-list>*,.section.visible .writing-mini-list>*,.section.visible .contact-btns>*{opacity:1;transform:translateY(0)}.project-grid>:first-child,.oss-list>:first-child,.skills-grid>:first-child,.exp-list>:first-child,.writing-mini-list>:first-child,.contact-btns>:first-child{transition-delay:40ms}.project-grid>:nth-child(2),.oss-list>:nth-child(2),.skills-grid>:nth-child(2),.exp-list>:nth-child(2),.writing-mini-list>:nth-child(2),.contact-btns>:nth-child(2){transition-delay:90ms}.project-grid>:nth-child(3),.oss-list>:nth-child(3),.skills-grid>:nth-child(3),.exp-list>:nth-child(3),.contact-btns>:nth-child(3){transition-delay:.14s}.project-grid>:nth-child(4),.oss-list>:nth-child(4),.skills-grid>:nth-child(4),.exp-list>:nth-child(4),.contact-btns>:nth-child(4){transition-delay:.19s}.project-grid>:nth-child(5),.skills-grid>:nth-child(5){transition-delay:.24s}.project-grid>:nth-child(6),.skills-grid>:nth-child(6){transition-delay:.29s}.oss-pr-badge,.azure-badge,.writing-arrow{transition:transform .18s,box-shadow .18s,background-color .18s}.oss-row:hover .oss-pr-badge,.oss-row:hover .azure-badge,.writing-featured:hover .writing-arrow{transform:translate(3px)}.chip,.skill-chip,.tag,.oss-status{transition:transform .16s,border-color .18s,background-color .18s,color .18s}.chip:hover,.skill-chip:hover,.tag:hover,.oss-status:hover{background-color:#ffffff0f;border-color:#fff3;transform:translateY(-1px)}.contact-card{background-image:radial-gradient(circle at 100% 0,#6366f11a,#0000 35%),linear-gradient(#ffffff03,#fff0)}@media (max-width:960px){.featured-card:hover,.project-card:hover,.exp-card:hover,.skill-card:hover,.writing-featured:hover,.writing-mini:hover,.contact-card:hover,.oss-row:hover,.btn:hover{transform:none}.hero-wrap:before{width:240px;height:240px}.hero-wrap:after{width:200px;height:200px}}@media (max-width:960px){html{font-size:15.5px!important}}.pipe-step{font-size:.9rem!important;font-weight:700!important;line-height:1.35!important}.pipe-label{font-size:.8rem!important;font-weight:700!important;line-height:1.25!important}.pipe-arrow{font-size:.92rem!important;font-weight:800!important;line-height:1!important}@media (max-width:960px){.pipe-step{font-size:.86rem!important}.pipe-label{font-size:.76rem!important}.pipe-arrow{font-size:.88rem!important}}html{font-size:16px!important}@media (max-width:960px){html{font-size:14.5px!important}}
