.ExternalLink-module__z7E98W__icon{color:var(--ink-muted);flex:none}.ExternalLink-module__z7E98W__srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.Section-module__9iZg0G__section{flex-direction:column;gap:16px;display:flex}.Section-module__9iZg0G__header{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.Section-module__9iZg0G__eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:400;line-height:16px}.Section-module__9iZg0G__timeline{grid-template-columns:var(--timeline-date) minmax(0, 1fr);column-gap:16px;display:grid}.Section-module__9iZg0G__date{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:0;color:var(--ink-muted);font-size:14px;font-weight:400;line-height:22px}.Section-module__9iZg0G__label{color:var(--ink);font-weight:500}.Section-module__9iZg0G__meta{letter-spacing:-.006em;color:var(--ink-muted);font-size:14px;line-height:20px}.Section-module__9iZg0G__rows{margin-inline:-12px}.Section-module__9iZg0G__row{color:inherit;border-radius:6px;padding:6px 12px;text-decoration:none;position:relative;}.Section-module__9iZg0G__row:hover{background:var(--hover)}.Section-module__9iZg0G__row:active{background:var(--surface-pressed)}@media (max-width:520px){.Section-module__9iZg0G__timeline{grid-template-columns:minmax(0,1fr);row-gap:2px}}
.ConnectSection-module__Ywy9vW__row{color:inherit;border-radius:6px;padding:11px 12px;text-decoration:none;position:relative;}.ConnectSection-module__Ywy9vW__row:hover{background:var(--hover)}.ConnectSection-module__Ywy9vW__row:active{background:var(--surface-pressed)}
.IntroSection-module___TV9SW__intro{flex-direction:column;gap:24px;display:flex}.IntroSection-module___TV9SW__avatar{object-fit:cover;background:var(--surface-sunken);border-radius:999px;width:56px;height:56px}.IntroSection-module___TV9SW__bio{flex-direction:column;gap:12px;display:flex}
.PublicationsSection-module__s53qyq__list{border-top:1px solid var(--line)}.PublicationsSection-module__s53qyq__item{border-bottom:1px solid var(--line)}.PublicationsSection-module__s53qyq__head{grid-template-columns:var(--timeline-date) minmax(0, 1fr) 20px;text-align:left;text-wrap:pretty;cursor:pointer;grid-template-areas:"date main icon";column-gap:16px;width:100%;padding-block:16px;display:grid}.PublicationsSection-module__s53qyq__head:focus-visible{border-radius:6px}.PublicationsSection-module__s53qyq__date{grid-area:date}.PublicationsSection-module__s53qyq__main{flex-direction:column;grid-area:main;gap:2px;display:flex}.PublicationsSection-module__s53qyq__titleLine{flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.PublicationsSection-module__s53qyq__title,.PublicationsSection-module__s53qyq__self{color:var(--ink);font-weight:500}.PublicationsSection-module__s53qyq__badge{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;font-weight:400;line-height:16px;display:inline-flex}.PublicationsSection-module__s53qyq__dot{background:var(--accent);border-radius:999px;width:6px;height:6px}.PublicationsSection-module__s53qyq__chevron{color:var(--ink-faint);transition:transform .5s var(--spring-settle), color .15s var(--ease-hover);grid-area:icon;margin-top:1px}.PublicationsSection-module__s53qyq__head:hover .PublicationsSection-module__s53qyq__chevron{color:var(--ink)}.PublicationsSection-module__s53qyq__head[aria-expanded=true] .PublicationsSection-module__s53qyq__chevron{transform:rotate(180deg)}.PublicationsSection-module__s53qyq__panel{transition:grid-template-rows .5s var(--spring-settle);grid-template-rows:0fr;display:grid}.PublicationsSection-module__s53qyq__panel[data-open=true]{grid-template-rows:1fr}.PublicationsSection-module__s53qyq__clip{min-height:0;overflow:hidden}.PublicationsSection-module__s53qyq__body{padding:0 36px 20px calc(var(--timeline-date) + 16px);flex-direction:column;gap:10px;display:flex}.PublicationsSection-module__s53qyq__links{letter-spacing:-.006em;flex-wrap:wrap;gap:4px 20px;font-size:14px;line-height:20px;display:flex}.PublicationsSection-module__s53qyq__link{align-items:center;gap:4px;display:inline-flex}@media (max-width:520px){.PublicationsSection-module__s53qyq__head{grid-template-columns:minmax(0,1fr) 20px;grid-template-areas:"date icon""main main";row-gap:4px}.PublicationsSection-module__s53qyq__body{padding:0 0 16px}}
.ResearchSection-module__Nv233q__threads{flex-direction:column;gap:20px;display:flex}.ResearchSection-module__Nv233q__thread{flex-direction:column;gap:4px;display:flex}
.SiteFooter-module__c6mNva__footer{letter-spacing:-.006em;color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:64px;font-size:14px;line-height:20px;display:flex}
.SiteHeader-module__l5lJxG__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.SiteHeader-module__l5lJxG__name{font-weight:500}.SiteHeader-module__l5lJxG__name a{color:var(--ink);text-decoration:none}.SiteHeader-module__l5lJxG__nav{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:4px 20px;margin-block:-14px;font-size:12px;font-weight:400;line-height:16px;display:flex}.SiteHeader-module__l5lJxG__nav a{color:var(--ink-muted);padding-block:14px;text-decoration:none}.SiteHeader-module__l5lJxG__nav a:hover{color:var(--ink)}
.TimelineSections-module__W0rO_a__education{flex-direction:column;gap:16px;display:flex}.TimelineSections-module__W0rO_a__degree{flex-direction:column;gap:2px;display:flex}
.TokenHeatmap-module__wTtPOG__figure{flex-direction:column;gap:12px;display:flex}.TokenHeatmap-module__wTtPOG__grid{grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(53,minmax(0,1fr));grid-auto-flow:column;gap:2px;display:grid}.TokenHeatmap-module__wTtPOG__day{aspect-ratio:1;transition:box-shadow .15s var(--ease-hover);border-radius:2px}.TokenHeatmap-module__wTtPOG__day[data-active]{z-index:1;box-shadow:0 0 0 1.5px var(--ink);position:relative}.TokenHeatmap-module__wTtPOG__day:focus-visible{outline-offset:1px;border-radius:2px}.TokenHeatmap-module__wTtPOG__figure [data-level="0"]{background:var(--heat-0)}.TokenHeatmap-module__wTtPOG__figure [data-level="1"]{background:var(--heat-1)}.TokenHeatmap-module__wTtPOG__figure [data-level="2"]{background:var(--heat-2)}.TokenHeatmap-module__wTtPOG__figure [data-level="3"]{background:var(--heat-3)}.TokenHeatmap-module__wTtPOG__figure [data-level="4"]{background:var(--heat-4)}.TokenHeatmap-module__wTtPOG__caption{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:0;color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:12px;font-weight:400;line-height:16px;display:flex}.TokenHeatmap-module__wTtPOG__value{color:var(--ink)}.TokenHeatmap-module__wTtPOG__legend{align-items:center;gap:3px;display:inline-flex}.TokenHeatmap-module__wTtPOG__legend i{border-radius:2px;width:10px;height:10px}.TokenHeatmap-module__wTtPOG__legend i:first-of-type{margin-left:5px}.TokenHeatmap-module__wTtPOG__legend i:last-of-type{margin-right:5px}@media (max-width:520px){.TokenHeatmap-module__wTtPOG__grid{grid-template-columns:repeat(26,minmax(0,1fr))}.TokenHeatmap-module__wTtPOG__day[data-old]{display:none}}
.AcademicHomePage-module__yDBcUG__page{min-height:100vh;padding:32px 16px 96px}@media (min-width:720px){.AcademicHomePage-module__yDBcUG__page{padding-inline:32px}}.AcademicHomePage-module__yDBcUG__column{max-width:var(--content);margin-inline:auto}.AcademicHomePage-module__yDBcUG__main{flex-direction:column;gap:48px;margin-top:64px;display:flex}@media (max-width:520px){.AcademicHomePage-module__yDBcUG__main{margin-top:48px}}.AcademicHomePage-module__yDBcUG__skipLink{z-index:10;color:var(--on-primary);background:var(--primary);border-radius:10px;padding:11px 16px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-80px)}.AcademicHomePage-module__yDBcUG__skipLink:focus{transform:none}
