:root{--ink: #1e2925;--ink-soft: #55625d;--ink-faint: #7f8a86;--paper: #ffffff;--rule: #dce3e0;--green: #255c4e;--green-deep: #17392f;--blue-deep: #00558c;--mark-sky: #dcf0f9;--mark-green: #dcebe5;--mark-gold: #fff0b0;--mark-stone: #eceff0;--serif: "Gentium Book Plus", Georgia, "Times New Roman", serif;--sans: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif}body{color:var(--ink)}.page__content{font-family:var(--serif);font-size:17px;line-height:1.62}@media (min-width: 1024px){.page__content{font-size:18px}}.page__content>p,.page__content>ul,.page__content>ol,.page__content>blockquote,.page__content>h2,.page__content>h3,.page__content>details,.page__content>.contact{max-width:39em}.page__inner-wrap .page__title{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}.page__inner-wrap .page__title a,.page__inner-wrap .page__title a:visited{color:inherit;text-decoration:none}.page__content h2{margin:2.2em 0 .55em;padding-bottom:0;border-bottom:0;font-size:24px;font-weight:700;line-height:1.25}.page__content h3{margin:1.7em 0 .35em;font-size:20px;font-weight:700;line-height:1.3}.page__content h4{font-size:18px}.page__content a:not(.btn){color:var(--ink);text-decoration:underline;text-decoration-color:rgba(37,92,78,0.45);text-decoration-thickness:1px;text-underline-offset:.18em}.page__content a:not(.btn):visited{color:var(--ink)}.page__content a:not(.btn):hover{color:var(--green);text-decoration-color:currentColor}.page__content blockquote{margin:0 0 1.6em;padding:.1em 0 .1em 1em;border-left:3px solid var(--mark-green);font-family:var(--sans);font-size:16px;font-style:normal;color:var(--ink-soft)}.page__content hr{margin:0;border:0;height:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}.masthead{border-bottom:1px solid var(--rule)}.greedy-nav .site-title{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:-.005em;color:var(--ink)}.greedy-nav .visible-links a,.greedy-nav .hidden-links a{font-family:var(--sans);font-size:15.5px;color:var(--ink-soft)}.greedy-nav .visible-links a:before{height:2px;background:var(--green)}.greedy-nav .visible-links a:hover,.greedy-nav .visible-links a[aria-current="page"]{color:var(--ink)}.greedy-nav .visible-links a[aria-current="page"]:before{transform:scaleX(1)}.sidebar,.sidebar:hover{opacity:1}.author__avatar img{padding:0;border:0}@media (min-width: 1024px){.author__avatar img{max-width:180px;width:180px}}@media (max-width: 1023px){.author__avatar{width:96px;height:96px}.author__avatar img{width:96px;max-width:96px}}.author__name{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.2;color:var(--ink)}.author__bio{margin-top:.35em;font-family:var(--sans);font-size:15px;line-height:1.45;color:var(--ink-soft)}.author__urls{font-family:var(--sans)}.author__urls li,.author__urls li a{font-size:15px;color:var(--ink)}.author__urls li a:hover{color:var(--green)}.author__urls i,.author__urls .fas,.author__urls .fab,.author__urls .ai{color:var(--green)}.author__urls-wrapper .btn--inverse{font-family:var(--sans)}.btn{font-family:var(--sans);font-weight:500;border-radius:4px}.btn--primary,.btn--primary:visited{background-color:var(--green);color:#fff}.btn--primary:hover{background-color:var(--green-deep);color:#fff}.page__footer{border-top:1px solid var(--rule);background:var(--paper);color:var(--ink-soft)}.page__footer footer{font-family:var(--sans)}.page__footer .page__footer-follow li{font-family:var(--sans);font-size:14px;text-transform:none;letter-spacing:0}.page__footer a{color:var(--ink-soft)}.page__footer a:hover{color:var(--green)}.home .page__inner-wrap>header{display:none}.page__content .hero{max-width:24em;margin:.1em 0 1.3em;font-size:25px;line-height:1.6;color:var(--ink)}@media (min-width: 768px){.page__content .hero{font-size:29px;line-height:1.55}}.ent{padding:.04em .28em .08em;border-radius:3px;color:inherit;background-color:transparent;background-image:linear-gradient(var(--ent-bg), var(--ent-bg));background-repeat:no-repeat;background-size:100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone}.ent--model{--ent-bg: var(--mark-sky)}.ent--method{--ent-bg: var(--mark-green)}.ent--domain{--ent-bg: var(--mark-gold)}.ent__label{margin-left:.4em;font-family:var(--sans);font-size:.46em;font-style:italic;font-weight:500;letter-spacing:.01em;color:var(--ink-soft);vertical-align:.18em}@keyframes ent-ink{from{background-size:0% 100%}to{background-size:100% 100%}}@keyframes ent-label{from{opacity:0}to{opacity:1}}.hero .ent{animation:ent-ink 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both}.hero .ent .ent__label{animation:ent-label .4s ease both}.hero .ent:nth-of-type(1){animation-delay:.35s}.hero .ent:nth-of-type(2){animation-delay:.75s}.hero .ent:nth-of-type(3){animation-delay:1.15s}.hero .ent:nth-of-type(1) .ent__label{animation-delay:.9s}.hero .ent:nth-of-type(2) .ent__label{animation-delay:1.3s}.hero .ent:nth-of-type(3) .ent__label{animation-delay:1.7s}.page__content ul.dated{max-width:44em;margin:0 0 1.4em;padding:0;list-style:none}.page__content ul.dated>li{position:relative;margin:0 0 .8em;padding-left:186px;line-height:1.5}.page__content ul.dated>li>strong:first-child{position:absolute;top:.2em;left:0;width:172px;white-space:nowrap;font-family:var(--sans);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.45;color:var(--ink-soft)}.page__content details.more{margin:.2em 0 1.4em}.page__content details.more>summary{display:inline-block;margin-bottom:.9em;font-family:var(--sans);font-size:15.5px;font-weight:500;color:var(--green);cursor:pointer;list-style:none}.page__content details.more>summary::-webkit-details-marker{display:none}.page__content details.more>summary::before{content:"";display:inline-block;width:.45em;height:.45em;margin-right:.55em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-0.2em) rotate(45deg);transition:transform .2s ease}.page__content details.more>summary:hover{text-decoration:underline;text-underline-offset:.2em}.page__content details.more[open]>summary::before{transform:translateY(0.05em) rotate(-135deg)}.page__content .contact{display:grid;grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr);gap:1.5em 2.5em;margin:.4em 0 1em}.page__content .contact dl{margin:0}.page__content .contact dt{margin:0 0 .15em;font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--ink-soft)}.page__content .contact dd{margin:0 0 1em;font-family:var(--serif);font-size:17px;line-height:1.5}.page__content .contact dd:last-child{margin-bottom:0}.pub-filters{display:flex;flex-wrap:wrap;gap:.2em 1.6em;margin:1.6em 0 2em;border-bottom:1px solid var(--rule)}.pub-filter{margin:0 0 -1px;padding:.55em 0 .5em;border:0;border-bottom:2px solid transparent;background:none;font-family:var(--sans);font-size:16px;font-weight:500;color:var(--ink-soft);cursor:pointer}.pub-filter:hover{color:var(--ink)}.pub-filter.is-active{border-bottom-color:var(--green);color:var(--ink)}.pub-filter__count{color:var(--ink-faint);font-weight:400}.pub{display:grid;grid-template-columns:136px minmax(0, 1fr);gap:0 22px;max-width:50em;margin:0 0 2em}.pub[hidden]{display:none}.pub.is-entering{animation:pub-in .25s ease both}@keyframes pub-in{from{opacity:0}to{opacity:1}}.pub[data-type="journal"]{--pub-mark: var(--mark-green);--pub-ink: var(--green)}.pub[data-type="conference"]{--pub-mark: var(--mark-sky);--pub-ink: var(--blue-deep)}.pub[data-type="preprint"],.pub[data-type="other"]{--pub-mark: var(--mark-stone);--pub-ink: var(--ink-soft)}.pub__margin{padding-top:.2em;font-family:var(--sans);line-height:1.3}.pub__year{display:block;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.pub__venue{display:inline-block;margin-top:.4em;padding:.1em .4em;border-radius:3px;background:var(--pub-mark);color:var(--pub-ink);font-size:13.5px;font-weight:500}.page__content .pub__title{margin:0 0 .3em;font-size:19px;line-height:1.35}.page__content .pub__title a:not(.btn),.page__content .pub__title a:not(.btn):visited{color:var(--ink);text-decoration:none}.page__content .pub__title a:not(.btn):hover{color:var(--green);text-decoration:underline}.page__content .pub__authors,.page__content .pub__in{margin:0;font-size:16.5px;line-height:1.5}.page__content .pub__in{color:var(--ink-soft)}.page__content .pub__notes{margin:.4em 0 0;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-soft)}.page__content .pub__notes a:not(.btn),.page__content .pub__notes a:not(.btn):visited{color:var(--ink-soft)}.page__content .pub__links{margin:.5em 0 0;font-family:var(--sans);font-size:15px;word-spacing:.9em}.page__content .pub__links a:not(.btn),.page__content .pub__links a:not(.btn):visited{color:var(--green);font-weight:500;word-spacing:normal;text-decoration:none}.page__content .pub__links a:not(.btn):hover{text-decoration:underline}.pub-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page__content .research-lead{max-width:34em;font-size:1.12em;line-height:1.6}.page__content .project--current{max-width:39em;margin:.6em 0 1em;padding:.1em 0 .1em 1.2em;border-left:3px solid var(--green)}.page__content .project--current h3{margin-top:.2em}.page__content .project-meta{font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--ink-soft)}.page__content .project{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);gap:28px;align-items:start;margin:1.6em 0 2.4em}.page__content .project h3{margin:.15em 0 .35em}.page__content .project p{margin:0 0 .7em}.project__figure{margin:0}.project__figure a{display:block}.project__figure img{display:block;width:100%;padding:8px;border:1px solid var(--rule);border-radius:3px;background:var(--paper)}.project__figure figcaption{margin-top:.6em;padding:0;font-family:var(--sans);font-size:14px;line-height:1.45;color:var(--ink-soft)}.venue-mark{display:inline-block;padding:.1em .45em;border-radius:3px;font-family:var(--sans);font-size:13.5px;font-weight:500;line-height:1.4}.venue-mark--journal{background:var(--mark-green);color:var(--green)}.venue-mark--conference{background:var(--mark-sky);color:var(--blue-deep)}.venue-mark--preprint{background:var(--mark-stone);color:var(--ink-soft)}.page__content .project__links{font-family:var(--sans);font-size:15px;word-spacing:.9em}.page__content .project__links a:not(.btn),.page__content .project__links a:not(.btn):visited{color:var(--green);font-weight:500;word-spacing:normal;text-decoration:none}.page__content .project__links a:not(.btn):hover{text-decoration:underline}.page__content .earlier{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:28px;margin:.8em 0 2em}.page__content .earlier h3{margin:0 0 .35em;font-size:18px}.page__content .earlier p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-soft)}@media (max-width: 760px){.page__content .project{grid-template-columns:minmax(0, 1fr);gap:14px}.page__content .earlier{grid-template-columns:minmax(0, 1fr);gap:20px}}@media (max-width: 640px){.page__inner-wrap .page__title{font-size:30px}.page__content .contact{grid-template-columns:minmax(0, 1fr)}.page__content ul.dated>li{padding-left:0}.page__content ul.dated>li>strong:first-child{position:static;display:block;width:auto;margin-bottom:.1em}.pub{grid-template-columns:minmax(0, 1fr)}.pub__margin{display:flex;align-items:baseline;gap:.6em;margin-bottom:.3em;padding-top:0}.pub__venue{margin-top:0}}@media (prefers-reduced-motion: reduce){.hero .ent,.hero .ent .ent__label,.pub.is-entering{animation:none}.page__content details.more>summary::before{transition:none}}
