:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--background);font-size:16px;line-height:1.6;font-synthesis:none;-webkit-font-smoothing:antialiased;--text:light-dark(#25282c,#e5e9ed);--background:light-dark(#fff,#15191d);--muted:light-dark(#666c73,#a3adb7);--accent:light-dark(#385d7d,#95bad9);--rule:light-dark(#e7e9eb,#303840);--copy:light-dark(#4c535a,#bac3cc);--link-rule:light-dark(#d6dfe7,#4b657a);--surface:light-dark(#f7f8f9,#20262c);--strong:light-dark(#333a40,#d5dee6);--description:light-dark(#525a62,#b2bdc7)}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--accent);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
.page{width:min(880px,100% - 64px);margin:0 auto}
.skip-link{position:absolute;top:8px;left:8px;background:var(--background);padding:8px 14px;transform:translateY(-160%);z-index:1}
.skip-link:focus{transform:translateY(0)}
.header{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px 24px;padding:36px 0 58px}
.header-actions{display:flex;align-items:center;gap:18px}
nav{display:flex;gap:26px;font-size:.875rem}
nav a{color:var(--muted)}
.icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.theme-toggle:hover{background:var(--surface);color:var(--accent)}
.theme-toggle[hidden],.theme-icon-sun,[data-theme=dark] .theme-icon-moon{display:none}
[data-theme=dark] .theme-icon-sun{display:block}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:66px;align-items:center;padding-bottom:62px;scroll-margin-top:28px}
.eyebrow{font-size:.8125rem;color:var(--muted);letter-spacing:.025em;margin-bottom:12px}
h1{font-size:3rem;line-height:1.12;font-weight:600;letter-spacing:-.045em;margin-bottom:22px}
.bio{max-width:460px;color:var(--copy);margin-top:12px;line-height:1.75}
.bio a{border-bottom:1px solid var(--link-rule)}
.bio a:hover{text-decoration:none;border-color:var(--accent)}
.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;margin-left:-11px}
.profile-links a{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%}
.profile-links a:hover{background:var(--surface);text-decoration:none}
.paper-links a{padding:5px 0}
.portrait{width:180px;height:180px;object-fit:cover;object-position:center 40%;border-radius:50%}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:21px}
h2{font-size:1.375rem;font-weight:500;letter-spacing:-.025em;line-height:1.35}
.section-heading>span{font-size:.8125rem;color:var(--muted)}
.research{scroll-margin-top:28px}
.paper{display:grid;grid-template-columns:192px minmax(0,1fr);gap:30px;padding:28px 0 30px;border-top:1px solid var(--rule);align-items:center}
.paper-visual{display:flex;align-items:center;justify-content:center;min-height:142px;background:var(--surface);border-radius:4px;overflow:hidden}
.paper-visual img{width:100%;height:142px;object-fit:contain;padding:6px;background:#fff}
.venue{font-size:.75rem;letter-spacing:.055em;color:var(--accent);margin-bottom:6px}
h3{font-size:1.0625rem;font-weight:600;line-height:1.45;letter-spacing:-.015em;margin-bottom:8px}
h3 a{color:inherit}
.authors{font-size:.8125rem;line-height:1.6;color:var(--muted)}
.authors strong{font-weight:500;color:var(--strong)}
.paper-description{font-size:.875rem;line-height:1.65;color:var(--description);margin-top:10px}
.paper-links{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:.8125rem;margin-top:8px}
.contact{display:grid;grid-template-columns:192px minmax(0,1fr);gap:30px;border-top:1px solid var(--rule);padding:31px 0 47px;scroll-margin-top:28px;margin-top:16px}
.email{font-size:1rem;overflow-wrap:anywhere}
.contact p{font-size:.8125rem;color:var(--muted);margin-top:7px}
footer{border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;padding:21px 0 32px;color:var(--muted);font-size:.75rem}
.bibtex-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--rule);border-radius:12px;background:var(--background);color:var(--text);box-shadow:0 24px 80px #0003}
.bibtex-dialog::backdrop{background:#10182080;backdrop-filter:blur(4px)}
.bibtex-content{padding:28px}
.bibtex-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bibtex-close{display:grid;place-items:center;width:44px;height:44px;margin:-8px -8px -8px 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.bibtex-close:hover{background:var(--surface);color:var(--text)}
#bibtex-paper{margin-top:10px;color:var(--muted);font-size:.875rem}
.bibtex-code{margin:22px 0 18px;padding:18px;border:1px solid var(--rule);border-radius:6px;background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;line-height:1.7}
.bibtex-code code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.bibtex-code:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.bibtex-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bibtex-status{font-size:.8125rem;color:var(--muted)}
.bibtex-copy{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 14px;border:1px solid var(--link-rule);border-radius:6px;background:var(--surface);color:var(--accent);font:inherit;font-size:.8125rem;cursor:pointer}
.bibtex-copy:hover{border-color:var(--accent)}
.bibtex-copy .icon{width:18px;height:18px}
html:has(.bibtex-dialog[open]){overflow:hidden}
@media(max-width:680px){.page{width:calc(100% - 40px)}.header{padding:25px 0 38px}nav{gap:20px}.intro{grid-template-columns:minmax(0,1fr) 124px;gap:24px;padding-bottom:44px}.portrait{width:124px;height:124px}h1{font-size:2.375rem}.paper{grid-template-columns:138px minmax(0,1fr);gap:22px}.paper-visual,.paper-visual img{min-height:108px;height:108px}.contact{grid-template-columns:138px minmax(0,1fr);gap:22px}}
@media(max-width:480px){.intro{grid-template-columns:1fr;gap:22px}.portrait{grid-row:1;width:106px;height:106px}.eyebrow{font-size:.75rem}.paper{grid-template-columns:1fr;gap:18px;padding:24px 0 28px}.paper-visual{width:100%;height:165px}.paper-visual img{height:165px;max-width:320px}.contact{grid-template-columns:1fr;gap:15px;padding-bottom:34px}footer{flex-wrap:wrap}.header-actions{gap:12px}nav{gap:17px}}
@media(pointer:coarse){.paper-links a,nav a{min-height:44px;display:inline-flex;align-items:center}.theme-toggle{width:44px;height:44px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.profile-links a .icon,.theme-toggle .icon{transition:transform 160ms ease-out}.profile-links a:hover .icon,.theme-toggle:hover .icon{transform:translateY(-2px)}}
@media(max-width:480px){.bibtex-content{padding:20px}.bibtex-code{padding:14px;font-size:.75rem}}
