:root{--ok:#248a3d;--ok-bg:rgba(52,199,89,.13)}
html[data-theme="dark"]{--ok:#30d158;--ok-bg:rgba(48,209,88,.16)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ok:#30d158;--ok-bg:rgba(48,209,88,.16)}}
.theme-toggle{display:none}
.js .theme-toggle{display:inline-grid}
.nav-burger{display:none !important}
.site-header .theme-toggle{margin-left:4px}
.page-index .introduction{grid-template-areas:"title portrait" "bio portrait";grid-template-rows:auto 1fr}
.page-index #intro-title{grid-area:title;margin:0 0 18px;font-weight:700;letter-spacing:-.035em}
.page-index #intro-title::after{content:"";display:block;width:72px;height:5px;margin-top:16px;border-radius:999px;background:linear-gradient(90deg,var(--accent-strong),#a78bfa)}
.page-index .intro-copy{grid-area:bio;min-width:0}
.page-index .portrait{grid-area:portrait;min-width:0}
.page-heading .btn{margin-top:18px}
.link-row .btn:not(:first-child){background:var(--fill);color:var(--ink)}
.link-row .btn:not(:first-child):hover{background:var(--fill-hover);color:var(--ink);box-shadow:none}
.publications-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 8px}
.publication-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;flex:1}
.publication-metrics>div{display:flex;flex-direction:column-reverse;background:var(--card);border-radius:var(--r-m);padding:16px 18px;box-shadow:var(--shadow-sm)}
.publication-metrics dt{font-size:.8125rem;color:var(--muted)}
.publication-metrics dd{margin:0 0 2px;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.publication-actions{display:flex;flex-wrap:wrap;gap:10px}
.publication-actions .btn{white-space:nowrap}
.publication-actions .btn:last-child{background:var(--fill);color:var(--ink)}
.publication-actions .btn:last-child:hover{background:var(--fill-hover);color:var(--ink);box-shadow:none}
.metrics-note{font-size:.8125rem;color:var(--muted);margin:12px 0 28px}
.publication-group{margin-bottom:12px;scroll-margin-top:calc(var(--header-h) + 20px)}
.publication-group h2{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:1.5rem}
.group-count{font-size:.8125rem;font-weight:600;color:var(--muted);background:var(--fill);padding:2px 12px;border-radius:var(--r-pill)}
.empty-publications{color:var(--muted)}
.publication-sections .publication{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;background:var(--card);border-radius:var(--r-l);padding:24px;margin-bottom:12px;box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--header-h) + 20px)}
.pub-year{font-size:.8125rem;font-weight:700;color:var(--accent-strong);padding-top:4px;white-space:nowrap}
.publication h3{font-size:1.125rem;margin:0 0 8px;letter-spacing:-.015em}
.publication h3 a{color:var(--ink)}
.publication h3 a:hover{color:var(--accent-strong);text-decoration:none}
.pub-status{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 6px}
.authors{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:0 0 6px}
.authors strong{color:var(--ink);font-weight:600}
.venue{font-size:.9375rem;font-style:italic;color:var(--muted);margin:0 0 8px}
:root{--accept-bg:#fff8df;--accept-border:#dcc08a;--accept-rule:#c58d2c;--accept-seal:#a8721b;--accept-label:#7e5512}
html[data-theme="dark"]{--accept-bg:#2c2718;--accept-border:#5e4d2a;--accept-rule:#c9a14e;--accept-seal:#e3c56f;--accept-label:#e3c56f}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--accept-bg:#2c2718;--accept-border:#5e4d2a;--accept-rule:#c9a14e;--accept-seal:#e3c56f;--accept-label:#e3c56f}}
.accepted-venue{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 10px;padding:6px 14px 6px 10px;border:1px solid var(--accept-border);border-left:3px solid var(--accept-rule);border-radius:var(--r-m);background:var(--accept-bg);line-height:1.4}
.accepted-head{display:inline-flex;align-items:center;gap:8px;min-width:0}
.accepted-venue .icon{flex:0 0 auto;width:16px;height:16px;color:var(--accept-seal)}
.accepted-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accept-label);white-space:nowrap}
.accepted-name{font-size:.875rem;font-weight:600;color:var(--ink)}
.accepted-name a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.accepted-name a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}
.award{font-size:.875rem;color:var(--ok);margin:8px 0}
.paper-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
a.btn,button.btn{min-height:44px}
.paper-links .btn{background:var(--fill);color:var(--ink)}
.paper-links .btn:hover{background:var(--fill-hover);color:var(--ink);box-shadow:none}
.paper-links .btn[data-kind="paper"]{background:var(--accent-strong);color:#fff}
.paper-links .btn[data-kind="paper"]:hover{background:var(--accent);color:#fff}
.btn-split{display:inline-flex;min-width:0}
.btn-split[hidden],.btn[hidden]{display:none}
.btn-split .copy-citation{flex:1 1 auto;min-width:0}
.btn-split .btn:first-child{border-radius:var(--r-pill) 0 0 var(--r-pill)}
.btn-split .drawer-toggle{flex:0 0 auto;border-radius:0 var(--r-pill) var(--r-pill) 0;padding-left:10px;padding-right:12px;border-left:1px solid rgba(128,128,128,.35)}
@media(max-width:600px){
.paper-links .btn-split{width:100%}
.paper-links .btn-split .copy-citation{flex:1 1 auto;min-width:0;padding-left:8px;padding-right:8px}
.paper-links .btn-split .drawer-toggle{flex:0 0 44px;width:44px;padding-left:0;padding-right:0;justify-content:center}
.accepted-venue{flex-direction:column;align-items:stretch;gap:3px;width:100%;border-radius:var(--r-m);padding:8px 12px}
.accepted-head,.accepted-name{text-align:left}
.accepted-head{gap:6px}
}
.drawer-toggle .icon-chevron{transition:transform .22s var(--ease)}
.drawer-toggle[aria-expanded="true"] .icon-chevron{transform:rotate(180deg)}
button.btn.is-copied{background:var(--ok);color:#fff}
.pub-drawer{margin-top:12px}
.pub-drawer>summary{cursor:pointer;color:var(--accent-strong);font-size:.875rem;font-weight:500;width:fit-content;padding:4px 0}
.js .pub-drawer>summary{display:none}
.pub-drawer-body{margin-top:10px;background:var(--fill);border-radius:var(--r-m);padding:20px}
.js .pub-drawer-body{margin-top:0}
.paper-tldr{border-left:3px solid var(--accent-strong);padding-left:16px}
.paper-tldr-label{margin:0 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.paper-tldr>p:not(.paper-tldr-label){margin:0;font-size:.9375rem;line-height:1.65;max-width:720px}
.paper-abstract{margin-top:10px}
.paper-abstract summary{cursor:pointer;color:var(--accent-strong);font-size:.875rem;font-weight:500;width:fit-content}
.paper-abstract p{margin:8px 0 0;font-size:.875rem;line-height:1.65;color:var(--muted);max-width:720px}
.figure-carousel{margin-top:16px}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:12px;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--r-m)}
.carousel-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}
.figure-frame{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--r-m);padding:16px;min-height:200px}
.figure-frame img{display:block;max-width:100%;height:auto;max-height:380px;object-fit:contain}
.is-single .figure-frame{min-height:0}
.carousel-slide figcaption{margin-top:10px;font-size:.8125rem;line-height:1.6;color:var(--muted);max-width:720px}
.figure-zoom{white-space:nowrap;margin-left:4px}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;font-size:.8125rem;color:var(--muted)}
.carousel-controls[hidden]{display:none}
.carousel-step{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--fill);color:var(--ink);cursor:pointer}
.carousel-step .icon{width:16px;height:16px}
.carousel-step:disabled{opacity:.35;cursor:default}
.carousel-dots{display:flex;align-items:center;gap:2px}
.carousel-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer}
.carousel-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rule)}
.carousel-dot[aria-current="true"]::before{width:20px;border-radius:999px;background:var(--accent-strong)}
.carousel-status{font-variant-numeric:tabular-nums;min-width:3em;text-align:center}
.pub-cite .pub-drawer-body{padding:14px 16px}
.pub-cite pre{margin:0;max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:.78rem;line-height:1.65}
.legacy-anchor{display:block}
.personal-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:start}
.personal-nav{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;gap:2px;font-size:.875rem}
.personal-nav .eyebrow{margin:0 0 8px}
.personal-panel{margin-bottom:16px;scroll-margin-top:calc(var(--header-h) + 20px)}
.personal-panel:last-child{margin-bottom:0}
.personal-panel h2{font-size:1.5rem;margin-bottom:6px}
.personal-panel>.favorites-label{margin:0 0 4px;font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}
.personal-panel>p{font-size:.9375rem;color:var(--muted)}
.favorites-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 14px;list-style:none;margin:18px 0 0;padding:0}
.favorite-card{min-width:0}
.favorite-link{display:block;color:var(--ink);text-decoration:none;border-radius:var(--r-m);transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}
.favorite-link:hover{color:var(--ink);text-decoration:none}
.favorite-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.favorite-art{aspect-ratio:2/3;overflow:hidden;border-radius:var(--r-m);background:var(--fill);box-shadow:var(--shadow-sm);transform:translateZ(0);will-change:transform;transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1)}
@media(hover:hover){
.favorite-link:hover{transform:translateY(-8px);position:relative;z-index:2}
.favorite-link:hover .favorite-art{transform:translateZ(0) scale(1.03);box-shadow:var(--shadow-md)}
}
.favorite-art img{display:block;width:100%;height:100%;object-fit:cover}
.favorites-sports .favorite-art{aspect-ratio:1;padding:22px;background:#fff}
.favorites-books .favorite-art img{object-fit:contain;padding:6px}
.favorite-title{display:flex;gap:8px;align-items:baseline;margin-top:8px}
.favorite-title h3{margin:0;font-size:.875rem;font-weight:600;line-height:1.45}
.favorite-rank{flex-shrink:0;font-family:var(--mono);font-size:.75rem;color:var(--muted)}
.favorite-card .favorite-author{margin:2px 0 0;font-size:.75rem;color:var(--muted)}
.personal-content>.artwork-note{margin:8px 0 0;padding-top:16px;border-top:1px solid var(--hairline);font-size:.8125rem;line-height:1.7;color:var(--muted)}
.personal-topics{display:flex;flex-wrap:wrap;gap:10px}
.personal-topics a{display:inline-flex;align-items:center;gap:6px;background:var(--card);border-radius:var(--r-pill);padding:10px 18px;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}
.personal-topics a:hover{color:var(--accent-strong);text-decoration:none}
.personal-topics a .icon{width:14px;height:14px}
.topic-grid{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:4px 0 0;padding:0}
.topic-grid a{display:inline-flex;align-items:center;background:var(--card);border-radius:var(--r-m);padding:14px 20px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .24s var(--ease),box-shadow .24s var(--ease)}
.topic-grid a:hover{color:var(--accent-strong);text-decoration:none;transform:translateY(-2px)}
.topic-grid h3{margin:0;font-size:1rem;font-weight:600}
@media(max-width:1000px) and (min-width:601px){
.favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.publications-summary{flex-direction:column;align-items:stretch}
.publication-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.publications-summary .publication-actions{margin-top:4px}
}
@media(max-width:600px){
.header-inner{flex-wrap:wrap;width:calc(100% - 32px);height:auto;min-height:56px;padding:8px 0;row-gap:8px;gap:8px}
.wordmark{font-size:1.0625rem}
.site-header .theme-toggle{order:1;margin-left:auto;width:32px;height:32px;font-size:.875rem}
.site-header nav{order:2;flex:1 1 100%;gap:2px;margin:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.site-header nav::-webkit-scrollbar{display:none}
.site-header nav a{flex-shrink:0;padding:9px 12px;font-size:.8125rem;min-height:44px;display:inline-flex;align-items:center}
html{scroll-padding-top:calc(var(--header-h) + 64px)}
.page-index .introduction{display:flex;flex-direction:column;gap:20px}
.page-index #intro-title{font-size:2.5rem;text-align:center}
.page-index #intro-title::after{margin:14px auto 0}
.page-index .portrait{align-items:center;text-align:center}
.page-index .portrait img{width:min(200px,72vw)}
.portrait figcaption{max-width:340px}
.portrait-name{display:none}
.interest-grid{grid-template-columns:1fr}
.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
.publications-summary{flex-direction:column;align-items:stretch}
.publication-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.publication-sections .publication{grid-template-columns:1fr;gap:8px;padding:20px}
.paper-links{display:flex;flex-direction:column;gap:8px}
.paper-links .btn,.paper-links .btn-split{width:100%;justify-content:center}
.paper-links .btn-split{display:flex}
.publication-actions{display:flex;flex-direction:column;gap:8px;padding:0 20px}
.publication-actions .btn{flex:0 0 auto;width:100%;justify-content:center}
.page-heading .btn{display:flex;width:calc(100% - 40px);margin-left:20px;margin-right:20px;justify-content:center}
.intro-copy .link-row{display:flex;flex-direction:column;gap:8px}
.intro-copy .link-row .btn{flex:0 0 auto;width:100%;justify-content:center}
.pub-year{padding-top:0}
.page-contents{position:sticky;top:var(--header-h);z-index:20;display:flex;flex-direction:row;gap:6px;overflow-x:auto;margin:0 -16px 20px;padding:10px 16px;background:var(--nav);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hairline);scrollbar-width:none}
.page-contents::-webkit-scrollbar{display:none}
.page-contents .eyebrow{display:none}
.page-contents a{flex-shrink:0;padding:7px 12px;font-size:.8125rem;transition:background .22s var(--ease),color .22s var(--ease)}
.chapter,.personal-panel,.publication-group,.publication-sections .publication{scroll-margin-top:calc(var(--header-h) + 64px)}
  .personal-layout{display:block}
.pub-drawer-body{padding:16px}
.figure-frame{min-height:180px;padding:10px}
.carousel-dots{display:none}
.carousel-step{width:44px;height:44px}
.paper-tldr{padding-left:12px}
.paper-tldr>p:not(.paper-tldr-label){font-size:.875rem}
}
@media(max-width:800px) and (min-width:601px){
.favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
.carousel-track{scroll-behavior:auto}
.drawer-toggle .icon-chevron{transition:none}
.favorite-link:hover,.topic-grid a:hover,.interest-grid>a:hover{transform:none}
.page-contents{scroll-behavior:auto}
}
.icon{width:16px;height:16px;flex:0 0 auto;vertical-align:-3px}
.icon-trail{width:13px;height:13px}
.publication .pub-main,.intro-copy,.chapter>div,.publication-sections>div,.personal-content{min-width:0}
img{height:auto}
@media print{
.pub-drawer,.carousel-controls,.btn-split,.drawer-toggle{display:none}
}
