:root{--bg:#0b0e14;--bg-soft:#0f1420;--border:#1d2430;--border-soft:#161c26;--text:#b8c1ce;--muted:#6b7688;--bright:#e8eef6;--accent:#56d987;--accent-soft:#56d9871f;--sel:#56d98738;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", "Consolas", Menlo, monospace;--col:780px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f4ee;--bg-soft:#efece3;--border:#ddd8cc;--border-soft:#e7e2d7;--text:#333a44;--muted:#757e8c;--bright:#141821;--accent:#12794a;--accent-soft:#12794a1a;--sel:#12794a29;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-feature-settings:"liga" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.75}::selection{background:var(--sel)}a{color:var(--text);border-bottom:1px solid #0000;text-decoration:none;transition:color .15s,border-color .15s}a:hover{color:var(--accent);border-color:var(--accent)}.prompt{color:var(--accent)}.me{color:var(--bright);font-weight:600}.arrow{color:var(--muted);font-weight:400}.topbar{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.topbar__inner{max-width:var(--col);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:12px 24px;display:flex}.topbar__id{color:var(--muted);white-space:nowrap;font-size:13px}.topbar__id b{color:var(--text);font-weight:500}.nav{align-items:center;gap:18px;display:flex}.nav a{color:var(--muted);border:none;font-size:13px}.nav a:hover{color:var(--bright)}.nav a.active{color:var(--accent)}.nav a.active:before{content:"> ";color:var(--accent)}.toggle{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:5px;padding:4px 9px;font-family:inherit;font-size:12px;line-height:1.4;transition:color .15s,border-color .15s}.toggle:hover{color:var(--accent);border-color:var(--accent)}main{max-width:var(--col);margin:0 auto;padding:0 24px 96px}section{scroll-margin-top:84px}.sec{padding-top:58px}.sec-head{letter-spacing:.02em;color:var(--bright);align-items:center;gap:.8ch;margin:0 0 26px;font-size:14px;font-weight:500;display:flex}.sec-head:after{content:"";background:var(--border);flex:auto;height:1px}.hero{padding:72px 0 20px}.hero__top{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.hero__cmd{color:var(--muted);margin-bottom:20px;font-size:14px}.avatar{object-fit:cover;object-position:center 22%;border:1px solid var(--border);filter:saturate(.9);border-radius:8px;flex:none;width:116px;height:116px;margin-top:34px}.hero h1{letter-spacing:-.02em;color:var(--bright);margin:0;font-size:clamp(1.9rem,6vw,3rem);font-weight:600;line-height:1.08}.hero__role{color:var(--muted);margin:14px 0 0;font-size:15px}.hero__tagline{max-width:60ch;color:var(--text);margin:22px 0 0;font-size:16px;line-height:1.7}.hero__tagline b{color:var(--bright);font-weight:600}.hero__links{flex-wrap:wrap;gap:22px;margin-top:28px;font-size:14px;display:flex}.cursor{background:var(--accent);width:8px;height:1.05em;margin-left:2px;animation:1.15s step-end infinite blink;display:inline-block;transform:translateY(2px)}@keyframes blink{50%{opacity:0}}.prose p{max-width:68ch;color:var(--text);margin:0 0 18px}.prose p:last-child{margin-bottom:0}.prose b,.prose strong{color:var(--bright);font-weight:600}.prose a{border-bottom:1px solid var(--border)}.prose a:hover{border-color:var(--accent)}.tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px;max-width:56ch;margin:0;padding:0;list-style:none;display:grid}.tags li{color:var(--text)}.tags li:before{content:"~ ";color:var(--accent)}.pubs{flex-direction:column;display:flex}.pub{border-top:1px solid var(--border-soft);grid-template-columns:5ch minmax(0,1fr);gap:0 20px;padding:20px 0;display:grid}.pub:first-child{border-top:none;padding-top:0}.pub__year{color:var(--muted);padding-top:2px;font-size:13px}.pub__title{color:var(--bright);font-size:15px;font-weight:600;line-height:1.5;display:inline}a.pub__title{border-bottom:1px solid #0000}a.pub__title:hover{color:var(--accent);border-color:var(--accent)}.pub__authors{color:var(--text);margin-top:6px;font-size:13.5px}.pub__venue{color:var(--muted);margin-top:3px;font-size:13px}.patents{flex-direction:column;display:flex}.patent{border-top:1px solid var(--border-soft);padding:18px 0}.patent:first-child{border-top:none;padding-top:0}.patent__title{color:var(--bright);font-size:15px;font-weight:600}.patent__meta{color:var(--muted);margin-top:6px;font-size:13px}.patent__status{color:var(--accent)}.patent__status:before{content:"[";color:var(--muted)}.patent__status:after{content:"]";color:var(--muted)}.xp{flex-direction:column;display:flex}.job{border-top:1px solid var(--border-soft);grid-template-columns:14ch minmax(0,1fr);gap:0 24px;padding:22px 0;display:grid}.job:first-child{border-top:none;padding-top:0}.job__period{color:var(--muted);padding-top:2px;font-size:13px}.job__org{color:var(--bright);font-size:15px;font-weight:600}.job__role{color:var(--accent);margin-top:2px;font-size:13.5px}.job__desc{color:var(--text);max-width:62ch;margin-top:8px;font-size:13.5px}.footer{padding-top:58px}.footer__links{flex-wrap:wrap;gap:22px;margin-bottom:30px;font-size:14px;display:flex}.footer__prompt{color:var(--muted);font-size:13px}.footer__copy{color:var(--muted);margin-top:10px;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (width<=620px){body{font-size:14px}.nav a{display:none}.hero__top{flex-direction:column-reverse;align-items:flex-start;gap:8px}.avatar{width:96px;height:96px;margin-top:0;margin-bottom:20px}.pub{grid-template-columns:1fr;gap:4px}.pub__year{padding-top:0}.job{grid-template-columns:1fr;gap:2px}.tags{grid-template-columns:1fr}main,.topbar__inner{padding-left:18px;padding-right:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}a,.toggle{transition:none}}
