.lab-page-header{max-width:56rem;margin:3rem auto 2rem;padding:0 1.5rem;text-align:center}.lab-page-header h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;line-height:1.1;color:#0f172a}.dark .lab-page-header h1{color:#fff}.lab-page-lead{margin-top:1rem;font-size:1.125rem;line-height:1.7;color:#475569}.dark .lab-page-lead{color:#cbd5e1}.pub-index{max-width:56rem;margin:0 auto;padding:0 1.5rem;scroll-margin-top:6rem}.pub-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem 1.25rem;border:1px solid rgb(148 163 184/.35);border-radius:.75rem;background:rgb(148 163 184/8%)}.pub-controls[hidden],.pub-pager[hidden],.pub-item[hidden],.pub-empty[hidden]{display:none}.pub-control{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.dark .pub-control{color:#94a3b8}.pub-control--search{flex:1 1 14rem}.pub-control input,.pub-control select{min-height:2.5rem;padding:.4rem .75rem;border:1px solid rgb(148 163 184/.6);border-radius:.5rem;background:#fff;color:#0f172a;font-size:.95rem;font-weight:400;letter-spacing:normal;text-transform:none}.dark .pub-control input,.dark .pub-control select{background:#0f172a;color:#e2e8f0;border-color:rgb(148 163 184/.4)}.pub-control input:focus-visible,.pub-control select:focus-visible,.pub-pager button:focus-visible{outline:2px solid var(--color-primary-500,#3b82f6);outline-offset:2px}.pub-status{margin:1.25rem 0 .75rem;font-size:.9rem;color:#64748b}.dark .pub-status{color:#94a3b8}.pub-list{list-style:none;margin:0;padding:0}.pub-item{padding:1rem 0;border-top:1px solid rgb(148 163 184/.25);line-height:1.6;color:#1e293b}.dark .pub-item{color:#e2e8f0}.pub-item .pub-list-item{margin-bottom:0!important}.pub-empty{padding:2rem 0;text-align:center;color:#64748b}.pub-pager{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.5rem;font-size:.95rem;color:#64748b}.dark .pub-pager{color:#94a3b8}.pub-pager button{padding:.45rem 1rem;border:1px solid rgb(148 163 184/.6);border-radius:.5rem;background:0 0;color:inherit;font-weight:600;cursor:pointer}.pub-pager button:hover:not(:disabled){border-color:var(--color-primary-500,#3b82f6);color:var(--color-primary-600,#2563eb)}.dark .pub-pager button:hover:not(:disabled){color:var(--color-primary-300,#93c5fd)}.pub-pager button:disabled{opacity:.4;cursor:default}.lab-map{display:block;width:100%;height:26rem;border:0}@media(max-width:640px){.lab-map{height:20rem}}article .group.inline-flex.items-center:has(>img)>div{font-weight:700}.dark a.from-primary-600.to-secondary-600{color:#1c2412}article.md\:grid time{font-size:1rem;font-weight:600;color:#334155}.dark article.md\:grid time{color:#e2e8f0}[role=article] div.flex.items-center:has(>a[href*="/tags/"]){display:none}.lab-cv{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem}.lab-cv-button{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:.5rem;background:var(--color-primary-500,#1E4D2B);color:#fff;font-weight:600;text-decoration:none}.lab-cv-button:hover{background:var(--color-primary-700,#183d22)}.lab-cv-button:focus-visible{outline:2px solid var(--color-primary-500,#1E4D2B);outline-offset:2px}.dark .lab-cv-button{color:#1c2412}.dark .lab-cv-button:hover{background:var(--color-primary-400,#e9e7c6)}.lab-cv-icon{width:1.25rem;height:1.25rem}.lab-cv-updated{font-size:.9rem;color:#475569}.dark .lab-cv-updated{color:#cbd5e1}#contact-details>div{padding-top:0}#contact-details .text-center.mb-12:has(>h2){display:none}.page-body.my-10>.lab-page-header{margin-top:.5rem}#questions .grid{grid-template-columns:minmax(0,1fr);max-width:none;margin-left:auto;margin-right:auto;gap:2.5rem}#questions .grid>div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.25rem;align-items:start}#questions .grid>div>div:first-child{grid-row:span 2;margin-bottom:0}#welcome{padding-bottom:0!important}#welcome .mx-auto.max-w-2xl{padding-bottom:3rem}#questions{padding-top:0!important}#questions .features-block-container>div{padding-top:3rem}#questions .features-block-container>div{padding-bottom:3rem}.lab-sponsors{max-width:56rem;margin:0 auto;padding:3rem 1.5rem 0;border-top:1px solid rgb(148 163 184/.3);text-align:center}.lab-sponsors h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;color:#0f172a}.dark .lab-sponsors h2{color:#fff}.lab-sponsors-text{margin-top:.75rem;font-size:1.125rem;color:#475569}.dark .lab-sponsors-text{color:#cbd5e1}.lab-sponsors-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem 3.5rem;margin:2rem 0 0;padding:0;list-style:none}.lab-sponsors-list img{display:block;height:7rem;width:auto}.lab-sponsors-list a{display:block;color:inherit;text-decoration:none}.lab-sponsors-name{font-size:1.125rem;font-weight:600;color:#0f172a}.dark .lab-sponsors-name{color:#f1f5f9}.lab-sponsors-list a:hover .lab-sponsors-name{text-decoration:underline}#welcome .mx-auto.max-w-2xl{max-width:var(--lab-width)}#welcome .mx-auto.max-w-2xl p{max-width:44rem;margin-left:auto;margin-right:auto}#welcome{padding-top:0!important}#welcome .mx-auto.max-w-2xl{padding-top:0}#welcome .mx-auto.max-w-2xl p:first-child{margin-top:0}:root{--lab-width:56rem;--lab-gutter:1.5rem}.lab-page-header,.pub-index,.lab-sponsors{max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}#welcome .relative.isolate{padding-left:0;padding-right:0}#welcome .mx-auto.max-w-2xl{padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}#questions .features-block-container>div{padding-left:0;padding-right:0}#questions .max-w-7xl{max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}#questions .max-w-3xl{max-width:none}.hbb-section>.max-w-prose{max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter);align-items:stretch}.hbb-section>.max-w-prose>.prose{max-width:none}.hbb-section>.flex.flex-col.items-center:not(.max-w-prose){padding-left:0;padding-right:0}.hbb-section>.flex.flex-col.items-center>.container,.hbb-section .container.max-w-screen-lg{width:100%;max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}.resume-biography{padding-left:0;padding-right:0}.resume-biography>.max-w-7xl{max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}.resume-biography .bio-text,.resume-biography .prose{max-width:none}#contact-details>.max-w-7xl{max-width:var(--lab-width);padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}.page-body>.flex.flex-col.items-center>.container{max-width:var(--lab-width);width:100%;padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}.page-body>.flex.flex-col.items-center>.container>.max-w-3xl{max-width:none}.page-body>.mx-auto.flex.max-w-screen-xl{max-width:var(--lab-width)}.page-body>.mx-auto.flex.max-w-screen-xl>article>main{max-width:none;padding-left:var(--lab-gutter);padding-right:var(--lab-gutter)}.page-body>.mx-auto.flex.max-w-screen-xl>article>main .prose,.page-body>.mx-auto.flex.max-w-screen-xl>article>main .max-w-prose,.page-body>.mx-auto.flex.max-w-screen-xl>article>main .article-container{max-width:none}@media(min-width:1280px){.page-body>.mx-auto.flex.max-w-screen-xl>aside.hb-sidebar-container{display:none}}.page-body .prose p,.page-body .prose li,.page-body .bio-text,.page-body .bio-text p,#questions .grid p,.pub-item .pub-list-item,.page-body article.md\:grid p,.page-body article main>div.grid>div,#contact-details p,.page-body [role=article] p,.hbb-section .container.max-w-screen-lg p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}.hb-toc:not(:has(.hb-scrollbar)){display:none!important}.dark{--hb-color-background:#141715;--hb-color-header-bg:#141715;--hb-color-footer-bg:#0f1210}.dark .pub-control input,.dark .pub-control select{background:#1d211e}.lab-banner{--lab-banner-n:var(--lab-banner-visible, 4);--lab-banner-slant:5rem;--lab-banner-gap:0.6rem;position:relative;margin:0;width:100%;height:clamp(13rem,28vw,26rem);overflow:hidden}@media(max-width:1023px){.lab-banner{--lab-banner-n:min(var(--lab-banner-visible, 4), 3);--lab-banner-slant:3.5rem}}@media(max-width:639px){.lab-banner{--lab-banner-n:min(var(--lab-banner-visible, 4), 2);--lab-banner-slant:2.5rem;--lab-banner-gap:0.4rem}}.lab-banner-viewport{height:100%;margin:0 calc(-1 * var(--lab-banner-slant) + var(--lab-banner-gap))}.lab-banner-track{display:flex;height:100%;margin:0;padding:0;list-style:none;transition:transform .8s ease}@media(prefers-reduced-motion:reduce){.lab-banner-track{transition:none}}.lab-banner-panel{--overlap:calc(var(--lab-banner-slant) - var(--lab-banner-gap));flex:0 0 calc((100% + (var(--lab-banner-n) - 1) * var(--overlap))/var(--lab-banner-n));height:100%;clip-path:polygon(var(--lab-banner-slant) 0,100% 0,calc(100% - var(--lab-banner-slant)) 100%,0 100%)}.lab-banner-panel+.lab-banner-panel{margin-left:calc(-1 * var(--overlap))}.lab-banner-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.lab-banner-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border:0;border-radius:9999px;background:rgb(0 0 0/.45);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.lab-banner-nav[hidden]{display:none}.lab-banner-nav:hover{background:rgb(0 0 0/.7)}.lab-banner-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.lab-banner-prev{left:.75rem}.lab-banner-next{right:.75rem}.lab-banner figcaption{position:absolute;right:0;bottom:0;padding:.2rem .6rem;font-size:.7rem;line-height:1.4;color:#fff;background:rgb(0 0 0/.5);border-top-left-radius:.375rem}.lab-banner figcaption a{color:inherit;text-decoration:underline}#current-projects [role=article] p,#past-projects [role=article] p{display:none}#current-projects [role=article] .p-8,#past-projects [role=article] .p-8{padding:1.25rem 1rem;text-align:center}