:root{--bg:#fcfcfa;--surface:#fff;--ink:#1c1f24;--ink-2:#4a505a;--ink-3:#7c828c;--line:#e8e6e1;--accent:#2a5db0;--accent-soft:#eef3fb;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--max:880px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{-webkit-font-smoothing:antialiased;background:#fcfcfa;background:var(--bg);color:#1c1f24;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--sans);font-size:16px;line-height:1.65;margin:0}a{color:#2a5db0;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3{color:#1c1f24;color:var(--ink);font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-weight:600;margin:0}dd,dl,ol,ul{margin:0;padding:0}ol,ul{list-style:none}.container{margin:0 auto;max-width:880px;max-width:var(--max);padding:0 24px}.muted{color:#7c828c;color:var(--ink-3);font-size:.92rem;margin-top:16px}.nav{backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);background:#fcfcfad9;border-bottom:1px solid #e8e6e1;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:880px;max-width:var(--max);padding:14px 24px}.nav-name{color:#1c1f24;color:var(--ink);font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.1rem;font-weight:600}.nav-name:hover{text-decoration:none}.nav-links{align-items:center;display:flex;font-size:.9rem;gap:22px}.nav-links a{color:#4a505a;color:var(--ink-2)}.nav-links a:hover{color:#2a5db0;color:var(--accent);text-decoration:none}.nav-links .nav-cv{border:1px solid #2a5db0;border:1px solid var(--accent);border-radius:999px;color:#2a5db0;color:var(--accent);padding:3px 12px}.nav-links .nav-cv:hover{background:#2a5db0;background:var(--accent);color:#fff}.hero{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:176px 1fr;padding:64px 0 40px}.hero-photo{border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:50%;box-shadow:0 6px 24px #1c1f2414;height:176px;object-fit:cover;width:176px}.hero h1{font-size:2.6rem;letter-spacing:-.01em;line-height:1.15}.hero-role{color:#1c1f24;color:var(--ink);font-size:1.05rem;margin:8px 0 0}.hero-lab{color:#7c828c;color:var(--ink-3);font-size:.95rem;margin:2px 0 0}.hero-tagline{border-left:3px solid #2a5db0;border-left:3px solid var(--accent);color:#1c1f24;color:var(--ink);font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.28rem;line-height:1.5;margin:22px 0 0;padding-left:16px}.hero-bio{color:#4a505a;color:var(--ink-2);margin:18px 0 0}.hero-bio strong{color:#1c1f24;color:var(--ink);font-weight:600}.hero-interests{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-interests li{background:#eef3fb;background:var(--accent-soft);border-radius:999px;color:#2a5db0;color:var(--accent);font-size:.82rem;padding:4px 12px}.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero-links a{align-items:center;background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:8px;color:#1c1f24;color:var(--ink);display:inline-flex;font-size:.9rem;gap:8px;padding:7px 14px;transition:border-color .15s,color .15s}.hero-links a:hover{border-color:#2a5db0;border-color:var(--accent);color:#2a5db0;color:var(--accent);text-decoration:none}.hero-links svg{font-size:1rem}.hero-email{color:#7c828c;color:var(--ink-3);font-size:.88rem;margin:12px 0 0}.section{border-top:1px solid #e8e6e1;border-top:1px solid var(--line);padding:44px 0}.section>h2{font-size:1.6rem;margin-bottom:20px}.section-intro{color:#4a505a;color:var(--ink-2);margin:-6px 0 28px;max-width:70ch}.subhead{color:#7c828c;color:var(--ink-3);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;margin:40px 0 18px;text-transform:uppercase}.news li{grid-gap:16px;color:#4a505a;color:var(--ink-2);display:grid;gap:16px;grid-template-columns:88px 1fr;padding:6px 0}.news-date{font-feature-settings:"tnum";color:#7c828c;color:var(--ink-3);font-size:.9rem;font-variant-numeric:tabular-nums;padding-top:1px}.themes{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.theme{background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:12px;padding:20px}.theme-num{color:#2a5db0;color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.05em}.theme h3{font-size:1.08rem;line-height:1.35;margin:6px 0 8px}.theme p{color:#4a505a;color:var(--ink-2);font-size:.9rem;line-height:1.6;margin:0}.project{background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:26px 28px}.project-head{align-items:center;display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}.project-status{background:#eef3fb;background:var(--accent-soft);border-radius:999px;color:#2a5db0;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.project-area{color:#7c828c;color:var(--ink-3);font-size:.82rem}.project h3{font-size:1.3rem;line-height:1.35}.project .authors{margin-top:6px}.project-summary{color:#4a505a;color:var(--ink-2);margin:10px 0 0}.metrics{grid-gap:1px;background:#e8e6e1;background:var(--line);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:10px;display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:18px;overflow:hidden}.metric{background:#fcfcfa;background:var(--bg);padding:14px 16px}.metric dt{font-feature-settings:"tnum";color:#1c1f24;color:var(--ink);font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.metric dd{color:#4a505a;color:var(--ink-2);font-size:.84rem;line-height:1.4;margin-top:4px}.metric dd span{color:#7c828c;color:var(--ink-3);display:block;font-size:.78rem;margin-top:2px}.project-points{margin-top:16px}.entry-points li,.project-points li{color:#4a505a;color:var(--ink-2);font-size:.95rem;margin:6px 0;padding-left:18px;position:relative}.entry-points li:before,.project-points li:before{background:#2a5db0;background:var(--accent);border-radius:50%;content:"";height:5px;left:2px;opacity:.6;position:absolute;top:.7em;width:5px}.pill-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pill-links a{background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:6px;color:#2a5db0;color:var(--accent);font-size:.82rem;font-weight:500;padding:3px 10px}.pill-links a:hover{border-color:#2a5db0;border-color:var(--accent);text-decoration:none}.authors{color:#4a505a;color:var(--ink-2);font-size:.92rem;margin:4px 0 0}.authors strong{color:#1c1f24;color:var(--ink);font-weight:600;text-decoration:underline;-webkit-text-decoration-color:#e8e6e1;text-decoration-color:#e8e6e1;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.pubs{counter-reset:pub}.pub{counter-increment:pub;padding:4px 0 20px 40px;position:relative}.pub:before{font-feature-settings:"tnum";color:#7c828c;color:var(--ink-3);content:"[" counter(pub) "]";font-size:.9rem;font-variant-numeric:tabular-nums;left:0;position:absolute;top:5px}.pub-title{font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.4;margin:0}.pub-venue{color:#7c828c;color:var(--ink-3);font-size:.9rem;font-style:italic;margin:2px 0 0}.pub .pill-links{margin-top:10px}.entry{border-bottom:1px dashed #e8e6e1;border-bottom:1px dashed var(--line);padding:16px 0}.entry:last-child{border-bottom:none}.entry-head{display:flex;gap:24px;justify-content:space-between}.entry h3{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--sans);font-size:1rem;font-weight:600}.entry-role{color:#4a505a;color:var(--ink-2);font-size:.95rem;font-style:italic;margin:2px 0 0}.entry-detail{font-size:.9rem;margin:2px 0 0}.entry-detail,.entry-meta{color:#7c828c;color:var(--ink-3)}.entry-meta{font-feature-settings:"tnum";align-items:flex-end;display:flex;flex-direction:column;font-size:.88rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.entry-points{margin-top:8px}.rows li{grid-gap:16px;border-bottom:1px dashed #e8e6e1;border-bottom:1px dashed var(--line);display:grid;font-size:.95rem;gap:16px;grid-template-columns:220px 1fr auto;padding:9px 0}.rows li:last-child{border-bottom:none}.row-key{font-weight:600}.row-text{color:#4a505a;color:var(--ink-2)}.row-date{font-feature-settings:"tnum";color:#7c828c;color:var(--ink-3);font-variant-numeric:tabular-nums}.ratings{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.rating{background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:10px;flex:1 1 140px;padding:12px 16px}.rating-value{display:block;font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.5rem;font-weight:600}.rating-site{color:#7c828c;color:var(--ink-3);font-size:.82rem}.skills>div{grid-gap:16px;display:grid;font-size:.95rem;gap:16px;grid-template-columns:140px 1fr;padding:7px 0}.skills dt{font-weight:600}.skills dd{color:#4a505a;color:var(--ink-2)}.mini-projects{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.mini-project{background:#fff;background:var(--surface);border:1px solid #e8e6e1;border:1px solid var(--line);border-radius:10px;color:#1c1f24;color:var(--ink);display:flex;flex-direction:column;padding:14px 16px;transition:border-color .15s}.mini-project:hover{border-color:#2a5db0;border-color:var(--accent);text-decoration:none}.mini-name{font-weight:600}.mini-tech{color:#2a5db0;color:var(--accent);font-size:.78rem;margin-top:1px}.mini-text{color:#4a505a;color:var(--ink-2);font-size:.88rem;margin-top:6px}.footer{border-top:1px solid #e8e6e1;border-top:1px solid var(--line);color:#7c828c;color:var(--ink-3);font-size:.85rem;margin-top:24px;padding:32px 24px 48px;text-align:center}@media (max-width:760px){.nav-links a:not(.nav-cv){display:none}.hero{gap:24px;grid-template-columns:1fr;padding-top:40px;text-align:left}.hero-photo{height:128px;width:128px}.hero h1{font-size:2.1rem}.mini-projects,.themes{grid-template-columns:1fr}.project{padding:20px}.metrics{grid-template-columns:1fr}.entry-head{flex-direction:column;gap:4px}.entry-meta{align-items:flex-start;flex-direction:row;gap:12px;text-align:left}.rows li{grid-template-columns:1fr auto}.rows .row-text{grid-column:1/-1;grid-row:2}.skills>div{gap:2px}.news li,.skills>div{grid-template-columns:1fr}.news li{gap:0}}
/*# sourceMappingURL=main.42e2adc8.css.map*/