:root {
      --paper:#fcfbf6;
      --panel:#fefdf9;
      --ink:#282924;
      --secondary:#56584f;
      --muted:#6b6d63;
      --line:#e2e2d8;
      --accent:#525b45;
      --hover:#f2f2e9;
      --selection:#e8ebdc;
      --type:Helvetica,"Helvetica Neue",Arial,sans-serif;
      --small:0.875rem;
      --body:1.0625rem;
      --heading:1.375rem;
      --name:2.875rem;
      --radius:18px;
      --shadow:0 10px 30px rgba(0,0,0,.04);
    }
    :root[data-theme="dark"] {
      --paper:#1d1b18;--panel:#26231f;--ink:#f4f0e8;--secondary:#d8d1c6;--muted:#b3ab9f;
      --line:#4b463f;--accent:#d7c7a0;--hover:#302c27;--selection:#4b4437;--shadow:none;
    }
    *,*::before,*::after{box-sizing:border-box}
    [hidden]{display:none!important}
    html{scroll-behavior:smooth;scroll-padding-top:28px}
    body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.65 var(--type);-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--line)}
    a:hover{color:var(--accent);text-decoration-color:currentColor}
    button{font:inherit;color:inherit;cursor:pointer}
    a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
    :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
    ::selection{background:var(--selection);color:var(--ink)}
    p{margin:0 0 16px}
    h1,h2,h3{font-weight:600;line-height:1.3;margin:0}
    h2,h3{font-size:var(--heading)}
    img{max-width:100%;display:block}
    .page{width:min(100% - 56px, 980px);margin-inline:auto}
    .skip-link{position:absolute;top:12px;left:12px;z-index:5;padding:8px 16px;background:var(--paper);transform:translateY(-200%)}
    .skip-link:focus{transform:none}
    .site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;font-size:var(--small);color:var(--secondary)}
    .location{display:flex;align-items:center;gap:9px;margin:0}
    .location::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}
    .site-nav{display:flex;align-items:center;gap:24px}
    .site-nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
    .site-nav a:hover{text-decoration:underline}
    .intro{padding:26px 0 42px}
    .intro-grid{display:grid;grid-template-columns:minmax(0,1.28fr) 250px;gap:30px;align-items:start}
    h1{font-size:var(--name);font-weight:500;letter-spacing:-1.5px;line-height:1.08;margin-bottom:12px}
    .position{color:var(--secondary);margin-bottom:18px}
    .intro-copy{max-width:44rem}
    .intro-photo{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);max-width:250px;justify-self:end}
    .intro-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 22%;transform:scale(1.08)}
    .section{padding:34px 0 0;border-top:1px solid var(--line)}
    .section-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
    .section-header a{font-size:var(--small);color:var(--muted);text-decoration:none}
    .section-header a:hover{text-decoration:underline}
    .publication-list{list-style:none;padding:0;margin:0}
    .publication{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:20px;padding:0 0 38px}
    .publication+.publication{padding-top:34px;border-top:1px solid var(--line)}
    .pub-year{font-size:var(--small);color:var(--muted);padding-top:5px;font-variant-numeric:lining-nums tabular-nums}
    .pub-card h3{margin-bottom:7px}
    .pub-card h3 a{text-decoration:none}
    .pub-card h3 a:hover{text-decoration:underline}
    .pub-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:var(--small);color:var(--secondary);margin-bottom:8px}
    .review-status{color:var(--accent);font-style:italic}
    .authors{font-size:var(--small);color:var(--muted);line-height:1.5;margin-bottom:16px}
    .authors strong{font-weight:600;color:var(--secondary)}
    .figure-block{margin:0 0 16px}
    .figure-link{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow);width:min(100%, 430px)}
    .figure-link img{width:100%;height:auto;display:block}
    .figure-caption{font-size:var(--small);color:var(--muted);margin-top:8px;line-height:1.45}
    .pub-summary{color:var(--secondary);margin-bottom:14px}
    .pub-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;font-size:var(--small)}
    .pub-links>a{display:inline-flex;gap:5px;align-items:baseline;min-height:32px}
    .citation{min-width:0;margin:0}
    .citation summary{cursor:pointer;display:inline-flex;align-items:baseline;gap:7px;list-style:none;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;min-height:32px}
    .citation summary::-webkit-details-marker{display:none}
    .citation summary:hover{color:var(--accent);text-decoration-color:currentColor}
    .plus::before{content:'+'}
    .citation[open] .plus::before{content:'−'}
    .citation[open]{flex-basis:100%}
    .citation-body{margin-top:12px;padding:16px 18px;background:var(--hover);border-left:2px solid var(--line)}
    .citation-body pre{font:0.875rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;color:var(--secondary)}
    .copy-citation{font-size:var(--small);background:transparent;border:1px solid var(--line);padding:4px 10px;border-radius:3px;min-height:40px}
    .copy-citation:hover{border-color:var(--muted)}
    .contact{padding-bottom:36px}
    .contact h2{margin-bottom:10px}
    .contact p{color:var(--secondary);max-width:44rem;margin-bottom:20px}
    .contact-links{display:flex;flex-wrap:wrap;gap:10px}
    .contact-link{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:8px 17px;border:1px solid #bfc3b4;border-radius:999px;font-size:var(--small);text-decoration:none;color:var(--ink);transition:background .14s,border-color .14s}
    [data-theme="dark"] .contact-link{border-color:#7e766a}
    .contact-link:hover{color:var(--ink);background:var(--hover);border-color:var(--accent)}
    .contact-link svg{height:18px;width:18px;flex-shrink:0}
    .site-footer{padding:18px 0 34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--small);color:var(--muted)}
    .site-footer p{margin:0}
    .footer-actions{display:flex;align-items:center;gap:22px}
    .footer-actions a{text-decoration:none}
    .theme-toggle{font-size:var(--small);display:inline-flex;gap:7px;align-items:center;min-height:44px;padding:0;border:0;background:none}
    .theme-toggle:hover{color:var(--ink)}
    .theme-toggle svg{width:15px;height:15px}
    .sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;padding:0;border:0}
    @media(max-width:860px){
      :root{--name:2.625rem}
      .intro-grid{grid-template-columns:1fr}
      .intro-photo{max-width:260px;justify-self:start}
    }
    @media(max-width:620px){
      :root{--name:2.375rem}
      .page{width:calc(100% - 36px)}
      .site-header{min-height:76px;gap:12px}
      .site-nav{gap:18px}
      .intro{padding-top:18px;padding-bottom:30px}
      .publication{grid-template-columns:1fr;gap:4px;padding-bottom:26px}
      .pub-year{padding:0;margin-bottom:3px}
      .publication+.publication{padding-top:24px}
      .section{padding-top:28px}
      .section-header{margin-bottom:22px}
      .section-header .full-list{display:none}
      .contact-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
      .contact-link{padding:10px 9px;justify-content:flex-start}
      .site-footer{align-items:flex-start;flex-direction:column;gap:5px;padding-bottom:22px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
    @media print{
      :root{--paper:#fff;--panel:#fff;--ink:#111;--secondary:#333;--muted:#444;--line:#ccc;--accent:#333;--body:12pt;--small:10pt;--heading:15pt;--name:28pt;--shadow:none}
      .page{width:100%} .site-header,.footer-actions,.citation{display:none}
      .intro{padding:0 0 16px} .section{padding-top:18px} .publication{break-inside:avoid;grid-template-columns:40px 1fr}
      .contact-link{border:none;padding-left:0} .contact-links{gap:24px} .site-footer{padding-bottom:0}
      a{text-decoration:none}
    }
