:root{font-family:Georgia,Times New Roman,serif;color:#343434;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #fff;--text: #343434;--muted: #626262;--accent: #8e293c;--line: #e5e5e5;color-scheme:light}[data-theme=dark]{--bg: #1c1c1c;--text: #e2e0dc;--muted: #aaa8a4;--accent: #e7a3af;--line: #3b3b3b;color-scheme:dark;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-size:16px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{font:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--text);line-height:1.35}h1{font-size:31px;font-weight:400;margin-bottom:20px}h2{font-size:26px;font-weight:400;margin-bottom:20px}h3{font-size:18px;font-weight:600}h4{font-size:16px;font-weight:600}p+p{margin-top:15px}svg{flex-shrink:0}::selection{background:#efdce0;color:#343434}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:100;background:var(--bg);padding:8px 14px;border:2px solid var(--accent)}.skip-link:focus{transform:none}.site-layout{max-width:1100px;margin:48px auto 0;padding:0 36px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}.profile{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;padding:20px 14px 14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--text) 2%,var(--bg));text-align:center;font-size:13px;line-height:1.5}.profile>.theme-toggle{position:absolute;top:6px;right:6px}.profile-photo{display:block;width:92px;height:92px;margin:0 auto 12px;object-fit:cover;object-position:center 32%;border-radius:50%;border:2px solid var(--line)}.profile-name{font-weight:600;font-size:19px;line-height:1.3}.profile-role{font-size:13px;color:var(--muted);margin-top:4px}.profile-affiliation{color:var(--muted);font-size:12.5px;margin-top:4px}.profile-cv{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:7px 12px;border:1px solid var(--accent);border-radius:5px;color:var(--accent);font-size:13px}.profile-cv:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg));text-decoration:none}.profile-actions{display:flex;justify-content:center;align-items:center;gap:2px;margin-top:8px}.profile-actions a,.theme-toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted)}.profile-actions a:hover,.theme-toggle:hover{color:var(--accent);background:var(--bg);border-color:var(--line);text-decoration:none}.theme-toggle{cursor:pointer}.page-navigation{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;text-align:left}.section-links{display:flex;flex-direction:column;gap:1px}.section-links a{color:var(--muted);padding:3px 10px;border-left:2px solid transparent;border-radius:0 4px 4px 0;font-size:14px}.section-links a:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg));text-decoration:none}.section-links a[aria-current=location]{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.navigation-toggle{display:none}.page-shell{min-width:0}.about .personal-note{color:var(--muted)}.section,.contact-section{margin-top:52px;padding-top:36px;border-top:1px solid var(--line)}.two-column>div>h3,.teaching-layout h3{padding-bottom:7px;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.section-intro{margin-bottom:22px}.research-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.research-theme{min-width:0}.research-theme h3{font-size:17px;font-weight:600;margin-bottom:9px}.research-theme p{font-size:14px;line-height:1.65}.research-theme .research-focus{font-size:13px;color:var(--muted);margin-top:10px}.research-theme .research-work{font-size:13px;margin-top:10px}.research-citation{color:var(--muted);font-size:11px}.research-illustration{margin-bottom:12px;max-width:284px;--diagram-blue: #285b94;--diagram-red: #b82f40;--diagram-green: #24724e;--diagram-muted: #99a6b7;--diagram-fill: var(--bg)}[data-theme=dark] .research-illustration{--diagram-blue: #99c4f3;--diagram-red: #ff909f;--diagram-green: #88d5b0;--diagram-muted: #778799}.research-illustration svg{display:block;width:100%;height:auto;overflow:visible;font-family:Arial,Helvetica,sans-serif;font-size:13px}.research-illustration text{fill:var(--diagram-blue)}.research-illustration .diagram-caption{fill:var(--muted);font-size:12px}.research-illustration .diagram-error{fill:var(--diagram-red);font-size:12px}.diagram-line,.diagram-arrow{fill:none;stroke:var(--diagram-muted);stroke-width:1.6}.diagram-arrowhead{fill:var(--diagram-muted)}.diagram-node{fill:var(--diagram-blue)}.diagram-failure{fill:var(--diagram-red)}.diagram-trace{fill:none;stroke:var(--diagram-red);stroke-width:1.6;stroke-dasharray:4 4}.diagram-box rect,.diagram-code rect{fill:var(--diagram-fill);stroke:color-mix(in srgb,var(--diagram-muted) 60%,var(--bg))}.diagram-box.primary rect{fill:color-mix(in srgb,var(--diagram-blue) 12%,var(--bg));stroke:var(--diagram-blue)}.diagram-box.failure rect{fill:color-mix(in srgb,var(--diagram-red) 7%,var(--bg));stroke:var(--diagram-red)}.diagram-box.failure text{fill:var(--diagram-red)}.diagram-box.success rect{fill:color-mix(in srgb,var(--diagram-green) 7%,var(--bg));stroke:var(--diagram-green)}.diagram-box.success text{fill:var(--diagram-green)}.diagram-code-line{stroke:color-mix(in srgb,var(--diagram-muted) 55%,var(--bg));stroke-width:4;stroke-linecap:round}.diagram-suspect{stroke:var(--diagram-red);stroke-width:5;stroke-linecap:round}.debugging-evidence text,.debugging-method text{font-size:11px}.debugging-evidence .diagram-code-line{stroke-width:2}.diagram-decision,.diagram-tool{fill:none;stroke:var(--diagram-red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.diagram-tool{stroke:var(--diagram-blue)}.diagram-coverage{fill:none;stroke:var(--diagram-green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.diagram-folder{fill:var(--diagram-fill);stroke:var(--diagram-blue);stroke-width:1.6}@media(min-width:601px)and (max-width:1000px){.research-overview{grid-template-columns:minmax(0,1fr);gap:22px}.research-theme{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:18px}}@media(max-width:600px){.research-overview{grid-template-columns:minmax(0,1fr);gap:24px}.research-theme+.research-theme{border-top:1px solid var(--line);padding-top:18px}.research-illustration{max-width:250px}}.updates-list>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;margin-bottom:9px;font-size:15px}.updates-list span{color:var(--muted);font-size:13px;padding-top:2px;font-family:Arial,Helvetica,sans-serif}.bibliography-note{font-size:15px;margin-bottom:13px}.publication-filters{display:flex;flex-wrap:wrap;gap:18px;border-bottom:1px solid var(--line);margin-bottom:7px}.publication-filters button{padding:7px 0 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:12px;cursor:pointer}.publication-filters button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.publication-filters button:hover{color:var(--accent)}.publication{display:grid;grid-template-columns:39px minmax(0,1fr);gap:15px;padding:19px 0 9px}.publication-year{font-size:13px;font-family:Arial,Helvetica,sans-serif;color:var(--muted);padding-top:3px}.selected-marker{color:var(--accent);margin-left:2px}.publication-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;margin-bottom:5px}.publication-meta>span:first-child{color:var(--accent)}.paper-type{color:var(--muted)}.venue-rating{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;margin:0 0 7px;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.6;color:var(--muted)}.venue-rating a{color:var(--accent)}.ranking-note{color:var(--muted);font-size:11px;margin-top:5px}.publication h3{font-size:17px;font-weight:600;line-height:1.45}.publication h3 a{color:var(--text)}.publication h3 a:hover{color:var(--accent)}.authors{color:var(--muted);font-size:14px;margin-top:5px;line-height:1.6}.authors strong{color:var(--text);font-weight:600}.paper-summary{font-size:14px;margin-top:6px;line-height:1.65}.paper-links{display:flex;flex-wrap:wrap;gap:17px;margin-top:5px}.paper-links a{display:inline-flex;align-items:center;gap:5px;font-size:13px}.paper-links svg{width:9px}.small-note{color:var(--muted);font-size:12px;margin-top:16px}.teaching-layout{display:grid;gap:40px}.teaching-layout h3{margin-bottom:16px}.teaching-layout p{font-size:15px}.role-caption{display:block;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:12px;margin-top:10px}.course-list{margin-top:14px}.course{display:grid;grid-template-columns:67px minmax(0,1fr) 90px;gap:12px;border-bottom:1px solid var(--line);padding:7px 0;font-size:14px}.course-code{font-family:Arial,Helvetica,sans-serif;font-size:11px;color:var(--muted);padding-top:3px}.course-format{color:var(--muted);font-size:12px;text-align:right}.teaching-note{margin-top:17px;font-size:14px}.teaching-note p{margin-top:5px}.mentee{margin-top:15px}.mentee h4{display:inline;font-size:15px}.mentee>span{margin-left:9px;font-size:13px;color:var(--muted)}.mentee p{margin-top:3px}.two-column{display:grid;gap:40px}.two-column>div>h3{margin-bottom:16px}h3+.background-item{margin-top:0}.award{display:grid;grid-template-columns:40px 1fr;gap:14px;margin-bottom:13px}.award>span{font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--muted);padding-top:3px}.award h4{font-size:15px}.award p{font-size:14px;color:var(--muted)}.service-list>div{margin-bottom:14px}.service-list h4{font-size:15px}.service-list p{font-size:15px;margin-top:3px}.background-item{margin-top:17px}.background-heading{display:flex;align-items:center;gap:14px;margin-bottom:8px}.background-heading>div{min-width:0}.institute-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 76px;width:76px;height:60px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff}.institute-icon img{display:block;width:100%;height:100%;object-fit:contain}.institute-icon-dark{background:#192733}.teaching-institution{display:flex;align-items:center;gap:12px;margin-top:12px}.teaching-institution .role-caption{margin-top:0}.background-item .role-caption{margin:0 0 4px}.background-item h4{font-size:16px}.background-item p{font-size:15px}.background-item .institution{color:var(--muted);margin-top:2px}.background-item p+p{margin-top:5px}.contact-section a{overflow-wrap:anywhere}.site-footer{margin-top:42px;padding:18px 0 28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 22px;font-family:Arial,Helvetica,sans-serif;font-size:11px;color:var(--muted)}.site-footer a{color:var(--muted)}.site-footer svg{width:8px;margin-left:4px}@media(max-width:800px){.site-layout{margin-top:32px;padding:0 24px;grid-template-columns:200px minmax(0,1fr);gap:24px}}@media(max-width:600px){.site-layout{display:block;margin-top:26px;padding:0 22px}.profile{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:0 16px;max-height:none;overflow:visible;margin-bottom:30px;padding:16px;text-align:left}.profile>.theme-toggle{top:4px;right:4px}.profile-photo{width:80px;height:80px;margin:0}.profile-details{padding-right:36px}.profile-cv{grid-column:1 / -1;min-height:44px;margin-top:14px}.profile-actions{grid-column:1 / -1;justify-content:start;gap:4px;margin-top:6px}.profile-actions a,.theme-toggle{width:44px;height:44px}h1{font-size:28px}h2{font-size:24px}.section,.contact-section{margin-top:40px;padding-top:28px}.publication{grid-template-columns:32px minmax(0,1fr);gap:10px}.publication-filters{gap:14px}.publication-filters button{font-size:11px}.course{grid-template-columns:60px minmax(0,1fr);gap:2px 10px}.course-format{grid-column:2;text-align:left}.mentee>span{display:block;margin-left:0}.background-heading{gap:12px}.institute-icon{flex-basis:64px;width:64px;height:54px}.updates-list>div{grid-template-columns:72px minmax(0,1fr);gap:10px}}@media(max-width:600px),(max-height:600px){.page-navigation{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:16px;z-index:50;margin:0 auto;padding:0;max-width:420px;border:1px solid var(--line);border-radius:12px;background:var(--bg);box-shadow:0 4px 24px #00000024;overflow:hidden}.section-links{display:none;padding:8px;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom));overflow-y:auto}.section-links.is-open{display:flex}.section-links a{padding:9px 12px;min-height:44px;display:flex;align-items:center}.navigation-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:0;background:var(--bg);color:var(--text);font-size:12px;cursor:pointer;text-align:left}.navigation-toggle[aria-expanded=true]{border-top:1px solid var(--line)}.navigation-current{flex:1;color:var(--accent);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation-toggle:focus-visible{outline-offset:-4px}.page-shell{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media(min-width:601px)and (max-height:600px){.profile{position:relative;max-height:none;overflow:visible}.page-navigation{left:auto;width:340px;max-width:calc(100vw - 32px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root,[data-theme=dark]{--bg: white;--text: black;--muted: #444;--accent: black;--line: #ccc}body{font-size:10pt}.site-layout{display:block;margin:0;padding:0;max-width:none}.profile,.skip-link,.publication-filters,.site-footer{display:none}h1{font-size:24pt}h2{font-size:17pt}.section,.contact-section{margin-top:20px;padding-top:0;border-top:0}.publication,.mentee,.award,.background-item,.research-theme{break-inside:avoid}}
