:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9f8;--surface:#fff;--surface-soft:#eef3f1;--text:#101414;--muted:#5f6b68;--muted-strong:#37423f;--line:#d8dfdc;--line-strong:#b7c3bf;--accent:#2c75c7;--accent-strong:#1f4f86;--accent-hover:#1f4f86;--accent-soft:#e7f0fb;--green:#16803d;--amber:#b7791f;--graphite:#24302d;--header-bg:#f7f9f8eb;--shadow:0 20px 55px #10141414}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1117;--surface:#151a23;--surface-soft:#1c2430;--text:#f3f6fb;--muted:#a5b0bf;--muted-strong:#d5deeb;--line:#283241;--line-strong:#3b4658;--accent:#2c75c7;--accent-strong:#8cc4ff;--accent-hover:#1f4f86;--accent-soft:#132f55;--green:#75d995;--amber:#f1bd63;--graphite:#1c2635;--header-bg:#0e1117e6;--shadow:0 20px 55px #00000057}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1117;--surface:#151a23;--surface-soft:#1c2430;--text:#f3f6fb;--muted:#a5b0bf;--muted-strong:#d5deeb;--line:#283241;--line-strong:#3b4658;--accent:#2c75c7;--accent-strong:#8cc4ff;--accent-hover:#1f4f86;--accent-soft:#132f55;--green:#75d995;--amber:#f1bd63;--graphite:#1c2635;--header-bg:#0e1117e6;--shadow:0 20px 55px #00000057}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body::selection{background:var(--accent-soft)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(100% - 48px,1320px);margin:0 auto}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.header-actions{justify-content:space-between;align-items:center;gap:24px;width:100%;display:flex}.preference-controls{flex:none;align-items:center;gap:10px;display:flex}.brand,.footer-brand{font-size:22px;font-weight:760;line-height:1}.nav-links{color:var(--muted-strong);flex:auto;align-items:center;gap:clamp(18px,3vw,42px);font-size:15px;display:flex}.nav-links a{padding:24px 0 22px;position:relative}.nav-links a:after{background:var(--accent);content:"";opacity:0;height:2px;transition:opacity .16s,transform .16s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.5)}.nav-links a:hover:after,.nav-links a:focus-visible:after{opacity:1;transform:scaleX(1)}.language-switcher,.theme-switcher{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;display:inline-grid;overflow:hidden}.language-switcher{grid-template-columns:repeat(2,1fr)}.theme-switcher{grid-template-columns:repeat(3,1fr)}.language-option,.theme-option{min-width:42px;min-height:34px;color:var(--muted-strong);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:0;font-size:13px;font-weight:720;line-height:1}.theme-option{place-items:center;display:inline-grid}.language-option+.language-option,.theme-option+.theme-option{border-left:1px solid var(--line)}.language-option[aria-pressed=true],.theme-option[aria-pressed=true]{background:var(--accent);color:#fff}.language-option:hover,.language-option:focus-visible,.theme-option:hover,.theme-option:focus-visible{color:var(--accent-strong)}.language-option[aria-pressed=true]:hover,.language-option[aria-pressed=true]:focus-visible,.theme-option[aria-pressed=true]:hover,.theme-option[aria-pressed=true]:focus-visible{color:#fff}.hero-section{border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:minmax(500px,.9fr) minmax(340px,.7fr);align-items:center;gap:clamp(36px,5vw,68px);padding:clamp(36px,5vw,58px) 0 clamp(30px,4vw,44px);display:grid}.hero-copy{max-width:520px}.hero-copy h1{margin:0;font-size:clamp(52px,6vw,80px);font-weight:790;line-height:.98}.hero-summary{max-width:460px;color:var(--muted);margin:22px 0 0;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 24px;font-size:16px;font-weight:690;line-height:1;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button-primary{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 14px 28px #2c75c72e}.button-primary:hover,.button-primary:focus-visible{background:var(--accent-hover);border-color:var(--accent-hover)}.button-secondary{border:1px solid var(--accent);background:var(--surface);color:var(--accent-strong)}.button-secondary:hover,.button-secondary:focus-visible{background:var(--accent-soft)}.contact-strip{color:var(--muted-strong);flex-wrap:wrap;gap:18px 22px;margin-top:42px;font-size:15px;display:flex}.contact-strip a,.footer-links a,.publication-links a,.section-action{align-items:center;gap:8px;display:inline-flex}.contact-strip a:hover,.footer-links a:hover,.publication-links a:hover,.section-action:hover{color:var(--accent)}.hero-media{border:1px solid var(--line-strong);background:var(--surface);width:clamp(320px,32vw,440px);box-shadow:var(--shadow);aspect-ratio:1;border-radius:50%;justify-self:center;overflow:hidden}.hero-media img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;display:block}#resume,#publications{scroll-margin-top:92px}.content-section{border-bottom:1px solid var(--line);padding:clamp(54px,7vw,86px) 0}.publications-section{background:var(--surface)}.resume-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(36px,5vw,68px);display:grid}.resume-main{min-width:0}.skills-panel{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 30px;padding-left:clamp(30px,3.5vw,46px);display:grid}.publication-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.section-heading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:20px;display:flex}.section-heading h2{margin:0;font-size:28px;font-weight:760;line-height:1.1}.section-action{color:var(--accent-strong);white-space:nowrap;font-size:14px;font-weight:680}.timeline{--timeline-axis-x:1.5px;--timeline-content-offset:24px;--timeline-marker-radius:5.5px;--timeline-marker-size:11px;padding-left:var(--timeline-content-offset);gap:22px;display:grid;position:relative}.timeline:before{top:8px;bottom:8px;left:var(--timeline-axis-x);background:var(--line-strong);content:"";width:1px;position:absolute;transform:translate(-50%)}.timeline-item{position:relative}.timeline-item:before{top:6px;left:calc(var(--timeline-axis-x) - var(--timeline-content-offset) - var(--timeline-marker-radius));width:var(--timeline-marker-size);height:var(--timeline-marker-size);background:var(--accent);content:"";border-radius:999px;position:absolute}.period{color:var(--muted);margin:0 0 7px;font-size:14px}.timeline h3,.skill-group h3,.publication-card h3{color:var(--text);margin:0;font-size:18px;font-weight:740;line-height:1.25}.timeline .company{color:var(--muted-strong);margin:4px 0 0;font-size:15px}.timeline p:not(.period):not(.company),.skill-group p,.publication-card p{color:var(--muted);text-wrap:pretty;margin:7px 0 0;font-size:14px;line-height:1.55}.publication-list{gap:14px;display:grid}.publication-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.publication-card:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 14px 34px #1014140f}.publication-icon{background:var(--graphite);color:#fff;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.publication-title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.publication-meta{color:var(--muted);white-space:nowrap;flex:none;padding-top:3px;font-size:13px;font-weight:650;line-height:1.35}.tag-list{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted-strong);border-radius:5px;padding:3px 7px;font-size:12px;line-height:1.25}.publication-links{color:var(--accent-strong);flex-wrap:wrap;gap:18px;margin-top:13px;font-size:14px;font-weight:680;display:flex}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:28px 0}.footer-grid{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);align-items:center;gap:32px;display:grid}.site-footer p{color:var(--muted);margin:10px 0 0;font-size:13px}.footer-links{color:var(--muted-strong);grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;font-size:14px;display:grid}@media (max-width:1180px){.hero-grid,.resume-layout,.footer-grid{grid-template-columns:1fr}.hero-copy{max-width:720px}.skills-panel{border-left:0;border-top:1px solid var(--line);padding-top:30px;padding-left:0}.publication-grid,.skills-panel,.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.container{width:min(100% - 32px,1320px)}.header-inner{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:70px;padding:12px 0}.header-actions{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%}.preference-controls{flex-wrap:wrap;flex:220px;justify-content:flex-end}.brand,.footer-brand{font-size:20px}.nav-links{flex:1 0 auto;justify-content:flex-start;gap:12px;width:auto;font-size:14px}.nav-links a{padding:4px 0 8px}.language-switcher{width:104px}.theme-switcher{width:126px}#resume,#publications{scroll-margin-top:150px}.hero-grid{gap:20px;padding:24px 0 22px}.hero-copy h1{font-size:clamp(44px,14vw,58px)}.hero-summary{font-size:16px;line-height:1.6}.contact-strip{margin-top:30px}.button{width:100%}.hero-media{width:min(76vw,320px)}.content-section{padding:38px 0}.skills-panel,.publication-grid,.publication-card{grid-template-columns:1fr}.publication-title-row{flex-direction:column;gap:6px}.footer-links{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
