:root{--bg-0:#060b09;--bg-1:#0a1210;--bg-2:#0f1a16;--ink:#ece6d8;--ink-2:#b9bdb3;--ink-3:#8a918a;--rule:#ece6d81f;--rule-strong:#ece6d83d;--cyan:#6fe4df;--cyan-dim:#2e7f7c;--cyan-glow:#6fe4df2e;--lav:#b6a6ee;--lav-dim:#5e4fa0;--lav-glow:#b6a6ee29;--focus:#9ef0ec;--font-serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--text-display:calc(clamp(2.6rem, 6.5vw, 5.4rem));--text-h2:calc(clamp(1.75rem, 3vw, 2.5rem));--text-h3:1.375rem;--text-body:1.0625rem;--text-small:.9375rem;--text-label:.75rem;--leading-body:1.6;--tracking-label:.12em;--page-max:1280px;--gutter:calc(clamp(16px, 4vw, 48px));--section-space:calc(clamp(56px, 9vw, 128px));--radius:2px;--tap:44px;--dur-1:.16s;--dur-2:.32s;--dur-3:.9s;--ease:cubic-bezier(.2, .7, .2, 1);--stagger:40ms}@media (prefers-reduced-motion:reduce){:root{--dur-1:0s;--dur-2:0s;--dur-3:0s;--stagger:0s}}@media (prefers-contrast:more){:root{--ink-2:#d6d8d0;--ink-3:#b3b8b0;--rule:#ece6d84d;--rule-strong:#ece6d880}}.cursor-glow{z-index:30;pointer-events:none;opacity:0;width:0;height:0;transition:opacity .2s;position:fixed;top:0;left:0}.cursor-glow:before{content:"";background:radial-gradient(circle,#5adc9b1c,#5adc9b09 35%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-150px;left:-150px}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none}}*,:after,:before{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg-0);color:var(--ink);font-family:var(--font-serif);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.6}::selection{background:var(--cyan);color:var(--bg-0)}figure,h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}h1{letter-spacing:-.055em;font-size:calc(clamp(3.6rem,6.7vw,6rem));line-height:1.05}h2{font-size:var(--text-h2);letter-spacing:-.025em;line-height:1.2}h3{letter-spacing:-.015em;font-size:1.55rem;line-height:1.25}p+p{margin-top:1rem}img{max-width:100%;height:auto;display:block}a{text-underline-offset:.25em;text-decoration:none}a,button{color:inherit;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.4;cursor:default}.eyebrow,.label,a:hover{color:var(--cyan)}:focus-visible{outline:2px solid var(--focus);outline-offset:5px}#main:focus{outline:none}.eyebrow,.label,.mono{font-family:var(--font-mono);font-size:.75rem;line-height:1.65}.eyebrow,.label{text-transform:uppercase;letter-spacing:.12em}.eyebrow{margin-bottom:24px}.container{width:100%;max-width:1376px;padding-inline:var(--gutter);margin-inline:auto}.skip-link{background:var(--ink);color:var(--bg-0);z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:20;border-bottom:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060b09f0;position:sticky;top:0}.header-inner{gap:28px;min-height:88px}.brand,.header-inner,.nav-list,.social-list{align-items:center;display:flex}.brand{min-width:44px;min-height:44px}.brand-logo{-o-object-fit:contain;object-fit:contain;width:38px;height:32px}.logo-slot{border:1px solid var(--rule);width:38px;height:32px}.header-email{border-left:1px solid var(--rule-strong);font-family:var(--font-mono);padding:8px 0 8px 28px;font-size:.75rem}.header-inner nav{margin-left:auto}.nav-list,.social-list{gap:30px;margin:0;padding:0;list-style:none}.nav-list a{align-items:center;gap:8px;min-height:44px;font-size:1rem;display:inline-flex;position:relative}.nav-list a:after{content:"";background:var(--cyan);transform-origin:0;height:1px;transition:transform var(--dur-2) var(--ease);position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0)}.nav-list a.active:after,.nav-list a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.site-footer{border-top:1px solid var(--rule-strong);justify-content:space-between;align-items:center;gap:24px;min-height:118px;margin-top:88px;display:flex}.social-list{gap:10px}.social-list a{width:44px;height:44px;transition:border-color var(--dur-1);border:1px solid #0000;place-items:center;display:grid}.social-list a:hover{border-color:var(--rule-strong)}.social-icon{background:currentColor;flex:none;width:20px;height:20px;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.page-section{margin-top:88px;scroll-margin-top:115px}.section-heading{align-items:center;gap:22px;margin-bottom:34px;display:flex}.section-heading h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);flex-shrink:0;align-items:baseline;gap:14px;font-size:.75rem;line-height:1.7;display:flex}.section-number{color:var(--ink-3)}.section-rule{background:var(--rule-strong);flex:1;min-width:16px;height:1px}.section-heading>.text-link{font-size:.95rem}.button-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.button{border:1px solid var(--cyan-dim);min-height:48px;transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1);background:#6fe4df0b;justify-content:center;align-items:center;gap:24px;padding:10px 24px;font-size:1rem;display:inline-flex}.button:hover{background:var(--cyan);border-color:var(--cyan);color:var(--bg-0)}.button-quiet{border-color:var(--rule-strong);background:0 0}.text-link{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:7px;justify-content:flex-start;align-items:center;gap:12px;padding:0;font-size:1rem;display:inline-flex}.text-link:hover{color:var(--cyan);-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan)}.text-link>span{transition:transform var(--dur-1)}.text-link:hover>span{transform:translate(2px,-2px)}.home-hero{grid-template-columns:1.03fr 1fr;align-items:center;padding-top:calc(clamp(48px,6vw,88px));padding-bottom:44px;display:grid;position:relative}.hero-copy{z-index:1;position:relative}.home-hero h1{white-space:nowrap}.hero-headline{letter-spacing:-.015em;max-width:19ch;margin-top:22px;font-size:calc(clamp(1.65rem,2.65vw,2.45rem));line-height:1.2}.affiliation{color:var(--ink-2);max-width:53ch;margin-top:24px;font-size:1rem;line-height:1.7}.affiliation span{display:block}.hero-intro{max-width:58ch;color:var(--ink-2);margin-top:22px;font-size:1.05rem;line-height:1.6}.hero-intro p+p{margin-top:.7rem}.hero-actions{margin-top:28px}.quick-links{flex-wrap:wrap;gap:8px;width:max-content;max-width:calc(200% - 10px);margin-top:22px;display:flex}.quick-links a{border:1px solid var(--rule-strong);min-height:44px;font-family:var(--font-mono);transition:background var(--dur-1);justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:.75rem;display:flex}.quick-links a:hover{background:var(--bg-2);border-color:var(--cyan-dim)}.quick-links .social-icon{width:17px;height:17px}.research-art{min-width:0;position:relative}.research-art svg{width:100%;height:auto;display:block}.research-art figcaption{color:var(--ink-3);text-align:right;padding-right:24px;font-size:.75rem}.home-page{overflow-x:clip}.hero-art{pointer-events:none;align-self:center;width:110%;margin-top:-40px;margin-left:-10%}.hero-art:before{content:"";z-index:-1;background:radial-gradient(#6fe4df0e,#0000 70%);position:absolute;inset:12% 8%}.research-section{border-top:1px solid var(--rule-strong);margin-top:38px;padding-top:28px}.research-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.research-interest{border-right:1px solid var(--rule);min-width:0;padding-right:28px}.research-interest:last-child{border-right:0;padding-right:0}.research-interest .research-art{height:150px;margin:-8px 0 14px;overflow:hidden}.research-interest .research-art svg{width:100%;height:100%}.research-interest p{color:var(--ink-2);max-width:34ch;margin-top:12px;font-size:1.1rem;line-height:1.45}.research-notes{border-top:1px solid var(--rule);color:var(--ink-2);grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;padding-top:23px;font-size:1.05rem;display:grid}.research-notes p+p{margin:0}.research-notes span{color:var(--lav);margin-right:8px}.research-tags{flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}.research-tags li{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink);border:1px solid var(--rule-strong);padding:10px 15px;font-size:.84rem}.section-subtitle{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.philosophy-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.philosophy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 34px;display:grid}.philosophy-grid article{border-top:1px solid var(--cyan-dim);padding-top:18px}.philosophy-grid article:nth-child(2n){border-top-color:var(--lav-dim)}.philosophy-grid h3{font-size:1.3rem}.philosophy-grid p{color:var(--ink-2);margin-top:10px;font-size:1.05rem;line-height:1.55}.directions{border-left:1px solid var(--cyan-dim);padding-left:24px}.directions h3{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.directions ul{margin:12px 0 0;padding:0;list-style:none}.directions li{color:var(--ink-2);border-bottom:1px solid var(--rule);padding:10px 0;font-size:1.05rem;line-height:1.5}.directions li:before{content:"↳";color:var(--lav);margin-right:10px}.timeline-row p.edu-focus{color:var(--ink-3);margin-top:4px;font-size:.95rem}.publication{border-bottom:1px solid var(--rule);min-width:0;padding:30px 0;scroll-margin-top:115px}.publication-meta{color:var(--ink-3);text-transform:uppercase;letter-spacing:.065em;gap:18px;margin-bottom:12px;display:flex}.publication-meta span:first-child{color:var(--cyan)}.publication h3{max-width:65ch;font-size:1.55rem;line-height:1.3}.authors{color:var(--ink-2);margin-top:12px;font-size:1rem;line-height:1.65}.authors strong{color:var(--ink);font-weight:500}.publication-venue{color:var(--lav);margin-top:8px;font-size:.95rem}.publication-actions{flex-wrap:wrap;gap:4px 25px;margin-top:10px;display:flex}.publication-actions .text-link{gap:8px;font-size:.9rem}.publication-actions .social-icon{opacity:.85;width:15px;height:15px}.summary-inner,.summary-toggle{color:var(--ink-2)}.summary-panel{opacity:0;transition:grid-template-rows var(--dur-2),opacity var(--dur-2);grid-template-rows:0fr;display:grid}.summary-panel.is-open{opacity:1;grid-template-rows:1fr}.gallery-image,.summary-panel>div{overflow:hidden}.summary-inner{border-left:1px solid var(--cyan-dim);max-width:72ch;margin-top:20px;padding:4px 0 4px 20px;font-size:1.05rem}.summary-inner .mono{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}.abstract-inner{border-left-color:var(--lav-dim)}.abstract-inner .mono{color:var(--lav)}.timeline-row p.award-desc{color:var(--ink-2);max-width:70ch;margin-top:6px;font-size:1rem}.publication-compact{grid-template-columns:130px minmax(0,1fr);gap:25px;display:grid}.publication-compact .publication-meta{flex-direction:column;gap:6px}.publication-compact h3{font-size:1.4rem}.about-preview{grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;display:grid}.about-preview p{max-width:57ch;color:var(--ink-2);font-size:1.25rem;line-height:1.6}.about-preview p:first-child{color:var(--ink)}.about-preview .text-link{margin-top:22px}.contact-section{border-top:1px solid var(--rule-strong);padding:30px 0 0}.contact-content,.contact-layout{position:relative}.contact-content{z-index:1;min-width:0;max-width:100%}.contact-art{opacity:.75;pointer-events:none;width:min(34%,460px);position:absolute;top:-36px;right:0}.contact-art svg{aspect-ratio:420/150}@media (width<=1023px){.contact-art{display:none}}.contact-description{color:var(--ink-2);max-width:70ch;font-size:1.2rem}.contact-email{letter-spacing:-.025em;overflow-wrap:anywhere;align-items:center;gap:35px;width:fit-content;margin:24px 0;font-size:calc(clamp(1.6rem,4.2vw,3.5rem));line-height:1.3;display:flex}.contact-email>span{color:var(--cyan);font-size:.7em}.university-email{align-items:baseline;gap:24px;margin-bottom:22px;display:flex}.university-email .mono{color:var(--ink-3)}.page-intro{padding-top:65px;padding-bottom:20px}.publications-intro{grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;display:grid}.intro-text{color:var(--ink-2);max-width:65ch;margin-top:24px;font-size:1.25rem;line-height:1.6}.featured-section{margin-top:40px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.featured-grid.single-featured{grid-template-columns:minmax(0,800px)}.featured-grid>:last-child:nth-child(odd):not(:first-child){grid-column:1/-1}.publication-featured{border:1px solid var(--rule-strong);background:linear-gradient(135deg,#6fe4df0e,#0000 65%);padding:34px;position:relative}.publication-featured:before{content:"";background:var(--cyan);height:2px;position:absolute;top:-1px;left:-1px;right:60%}.publication-featured:nth-child(2){background:linear-gradient(135deg,#b6a6ee0e,#0000 65%)}.publication-featured:nth-child(2):before{background:var(--lav)}.publication-featured h3{margin-top:25px;font-size:calc(clamp(1.55rem,2.2vw,1.95rem))}.filter-bar{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.filter-chip{font-family:var(--font-mono);border:1px solid var(--rule-strong);min-height:44px;transition:background var(--dur-1),border-color var(--dur-1);align-items:center;padding:8px 16px;font-size:.75rem;display:inline-flex}.filter-chip.selected{color:var(--cyan);border-color:var(--cyan-dim);background:var(--cyan-glow)}.filter-chip:hover{border-color:var(--cyan)}.result-status{color:var(--ink-3);margin-top:14px}.archive-groups{transition:opacity var(--dur-1)}.archive-groups.loading{opacity:.45}.year-group{grid-template-columns:140px minmax(0,1fr);gap:40px;padding-top:32px;display:grid}.archive-year{color:var(--cyan);letter-spacing:-.04em;padding-top:0;font-size:3.5rem;line-height:1}.archive-year-sticky{display:block;position:sticky;top:92px}.year-rows{border-left:1px solid var(--rule)}.publication-anchor{padding-left:30px;position:relative}.publication-anchor:before{content:"";background:var(--bg-0);border:1px solid var(--cyan-dim);width:7px;height:7px;transition:background var(--dur-2),border-color var(--dur-2);border-radius:50%;position:absolute;top:39px;left:-4px}.publication-anchor:hover:before,.publication-anchor:target:before{background:var(--cyan);border-color:var(--cyan)}.publication-anchor:first-child{padding-top:6px}.publication-anchor:first-child:before{top:15px}.publication-position{color:var(--ink-3);min-width:2ch}.chip-count{color:var(--ink-3);margin-left:8px;font-size:.65rem}.filter-chip.selected .chip-count{color:var(--cyan-dim)}.empty-state{text-align:center;border:1px solid var(--rule);margin-top:30px;padding:60px 24px}.empty-state .button{margin-top:24px}.about-intro{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:80px;display:grid}.portrait{width:min(100%,320px);margin-left:auto}.portrait img{border-radius:2px;width:100%;height:auto}.portrait figcaption{color:var(--ink-3);padding:15px 0 0}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.experience{border-top:1px solid var(--cyan-dim);padding:25px 0 0}.experience:nth-child(2n){border-color:var(--lav-dim)}.date{color:var(--cyan);margin-bottom:12px}.experience h3{font-size:1.65rem}.institution{color:var(--ink-2);margin-top:10px}.responsibilities{color:var(--ink-2);margin:22px 0 0;padding-left:18px}.responsibilities li{margin:10px 0;padding-left:6px}.responsibilities li::marker{color:var(--cyan-dim);font-size:.7em}.experience-body{color:var(--ink-2);margin-top:18px}.timeline{margin-left:0}.timeline-row{grid-template-columns:180px minmax(0,1fr);gap:44px;padding:22px 0;display:grid;position:relative}.timeline-row>div{border-left:1px solid var(--rule-strong);padding-left:28px;position:relative}.timeline-row>div:before{content:"";border:1px solid var(--cyan);background:var(--bg-0);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:-4px}.timeline-row p:not(.date){color:var(--ink-2);margin-top:8px}.in-progress{color:var(--ink-3);font-size:.85em}.industry-row{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1.4fr;gap:60px;padding:27px 0;display:grid}.industry-row .responsibilities{margin-top:0}.industry-row>div>p:last-child{color:var(--ink-2);margin-top:10px}.project-section{margin-top:38px}.project-section>h2{margin-bottom:24px;font-size:1.3rem}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.projects-grid article{border-left:1px solid var(--rule-strong);padding-left:22px}.projects-grid h3{margin-bottom:14px;font-size:1.2rem}.projects-grid p{color:#d2d3ca;font-size:1.03rem}.projects-grid p.project-facts{color:var(--ink-2);letter-spacing:.02em;margin-top:14px;font-size:.72rem;line-height:1.7}.project-cell{min-width:0;display:flex}.project-cell>.project-card{flex:1;min-width:0}.project-card{transition:opacity var(--dur-2) var(--ease);outline-offset:8px;position:relative}.project-card h3{align-self:flex-start;display:inline-block;position:relative}.project-hover{z-index:2;background:var(--bg-0);border:1px solid var(--cyan-dim);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s var(--ease),visibility 0s linear .26s;flex-direction:column;margin:0;display:flex;position:absolute;inset:0 0 0 -1px}.project-hover img{-o-object-fit:contain;object-fit:contain;background:var(--bg-1);width:100%;height:100%}.project-hover .image-unavailable,.project-hover img{flex:1;min-height:0}.project-hover figcaption{color:var(--cyan);border-top:1px solid var(--rule);background:var(--bg-0);padding:12px 16px;font-size:1.05rem}.project-card.has-image:is(:hover,:focus-visible,:focus) .project-hover{opacity:1;visibility:visible;transition:opacity .26s var(--ease),visibility 0s}.publication-citation{color:var(--ink-3);letter-spacing:.03em;flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:.7rem;display:flex}.publication-citation a{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:4px;overflow-wrap:anywhere}.publication-citation a:hover{color:var(--cyan);-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan)}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 40px;margin:0;display:grid}.skills-grid dt{margin-bottom:15px;font-size:1.3rem;line-height:1.4}.skills-grid dd{color:var(--ink-2);margin:0;font-size:1.05rem}.gallery-toolbar{justify-content:space-between;align-items:center;margin-top:-16px;margin-bottom:20px;display:flex}.gallery-strip{grid-template-columns:1.5fr 1fr .9fr;gap:20px;display:grid}.gallery-strip.gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-strip.gallery-single{grid-template-columns:minmax(0,650px)}.gallery-preview{text-align:left;min-width:0;padding:0}.gallery-image{background:var(--bg-1);border:1px solid var(--rule);justify-content:center;align-items:center;height:270px;display:flex;position:relative}.gallery-image img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.gallery-open{background:var(--bg-0);border:1px solid var(--rule-strong);width:32px;height:32px;transition:color var(--dur-1);place-items:center;display:grid;position:absolute;bottom:10px;right:10px}.gallery-preview:hover .gallery-open{color:var(--cyan)}.gallery-caption{color:var(--ink-2);margin-top:12px;font-size:.95rem;display:block}.gallery-scroll-controls{display:none}.icon-button{border:1px solid var(--rule-strong);place-items:center;min-width:44px;min-height:44px;font-size:1.5rem;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.gallery-dialog{border:1px solid var(--rule-strong);background:var(--bg-0);width:96vw;max-width:1500px;height:94dvh;max-height:1100px;color:var(--ink);padding:20px;position:fixed;inset:0;overflow:hidden}.gallery-dialog::backdrop{background:#000000e6}.viewer-content{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;height:100%;display:grid}.viewer-toolbar{justify-content:space-between;gap:15px}.image-unavailable,.viewer-bottom,.viewer-toolbar,.viewer-viewport,.viewer-zoom{align-items:center;display:flex}.viewer-zoom{gap:12px}.viewer-viewport{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--bg-1);justify-content:center;overflow:hidden}.viewer-viewport img{-o-object-fit:contain;object-fit:contain;transform-origin:50%;width:auto;max-width:100%;height:auto;max-height:100%}.viewer-viewport.zoomed{cursor:grab}.viewer-viewport.zoomed:active{cursor:grabbing}.viewer-bottom{justify-content:space-between;gap:20px}.viewer-caption{text-align:center;max-width:80ch;max-height:20dvh;font-size:1rem;overflow:auto}.viewer-hint{color:var(--ink-3);margin-top:4px}.image-unavailable{width:100%;min-height:180px;color:var(--ink-3);background:var(--bg-1);border:1px solid var(--rule);flex-direction:column;justify-content:center;padding:20px;font-size:.9rem}main :is(p,li,dd):not(.eyebrow,.mono,.hero-headline,.date,.result-status){text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}main :is(.authors,.publication-venue,.affiliation,.institution,.edu-focus,.project-facts){-webkit-hyphens:manual;hyphens:manual}main :is(.empty-state,.viewer-caption) p{text-align:center}main :is(.research-tags li,.directions li,.affiliation,.authors,.publication-venue){text-align:left}@media (width>=1600px){.home-hero{padding-top:100px;padding-bottom:65px}}@media (width>=1024px) and (width<=1366px){.hero-art{width:104%;margin-left:-4%}}@media (width>=1024px) and (width<=1199px){.hero-art{width:100%;margin-left:0}.hero-copy{padding-right:28px}}@media (width<=1023px){.header-inner,.nav-list,.research-grid{gap:20px}.hero-art{width:100%;margin:30px 0 0}.header-email{padding-left:18px;font-size:.65rem}.home-hero{grid-template-columns:minmax(0,1fr)}.research-art figcaption{white-space:nowrap}.home-hero h1{font-size:calc(clamp(3.3rem,7vw,5rem))}.quick-links{max-width:100%}.research-interest{padding-right:18px}.research-interest h3{font-size:1.35rem}.about-intro{gap:40px}.year-group{grid-template-columns:100px minmax(0,1fr);gap:25px}.gallery-image{height:220px}.projects-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.philosophy-layout{gap:32px}}@media (width<=767px){body{font-size:17px}.container{padding-inline:24px}.header-inner{flex-wrap:wrap;gap:14px;min-height:80px;position:relative}.brand{min-width:30px}.brand-logo{width:30px}.header-email{border:0;padding:0;font-size:.63rem}.menu-toggle{justify-content:flex-end;align-items:center;min-width:44px;min-height:44px;margin-left:auto;padding:0;display:inline-flex}.header-inner nav{border-top:1px solid var(--rule);width:100%;margin:0;padding-bottom:20px;display:none}.header-inner nav.menu-open{display:block}.header-inner .nav-list{grid-template-columns:1fr 1fr;gap:8px 24px;padding-top:14px;display:grid}.header-inner .nav-list a{font-size:1.25rem}.home-hero{flex-direction:column;align-items:stretch;padding-top:38px;padding-bottom:20px;display:flex}.hero-copy{display:contents}.home-hero .eyebrow{order:0;max-width:32ch;margin-bottom:0;font-size:.63rem}.home-hero h1{white-space:normal;order:2;font-size:calc(clamp(3.3rem,10.8vw,5rem));line-height:1.04}.hero-art{order:1;width:100%;height:160px;margin:-8px 0 14px}.hero-art svg{height:100%}.hero-art figcaption{padding:0;font-size:.65rem;position:absolute;bottom:0;right:0}.hero-art :is(.art-labels,.net-labels,.cluster-labels){display:none}.hero-headline{order:3;max-width:24ch;margin-top:18px;font-size:1.8rem}.affiliation{order:4;margin-top:18px;font-size:.95rem}.hero-intro{order:5;margin-top:18px;font-size:1rem}.hero-actions{order:6;gap:14px;margin-top:24px}.hero-actions .button{padding-inline:17px}.hero-actions .text-link{font-size:.95rem}.quick-links{order:7;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:100%;margin-top:24px;display:grid}.quick-links a{padding:8px 5px;font-size:.7rem}.quick-links a:nth-child(3n+1):last-child{grid-column:1/-1}.philosophy-grid,.philosophy-layout{grid-template-columns:1fr;gap:26px}.directions{border-left:0;border-top:1px solid var(--rule-strong);padding-top:20px;padding-left:0}.research-tags{margin-top:18px}.page-section{margin-top:62px}.research-section{margin-top:28px}.section-heading{flex-wrap:wrap;gap:12px;margin-bottom:26px}.section-heading h2{flex-shrink:1;gap:10px;font-size:.7rem}.section-heading>.text-link{font-size:.9rem}.section-rule{min-width:12px}.research-grid{grid-template-columns:1fr;gap:0}.research-interest{border-right:0;border-bottom:1px solid var(--rule);grid-template-columns:82px minmax(0,1fr);align-items:center;gap:20px;padding:22px 0;display:grid}.research-interest .research-art{height:90px;margin:0 -12px}.research-interest .research-art svg{width:100%}.research-interest h3{font-size:1.35rem}.research-interest p{margin-top:7px;font-size:1rem}.research-notes{border-top:0;grid-template-columns:1fr;gap:14px;margin-top:20px;padding-top:0;font-size:1rem}.publication-compact{grid-template-columns:1fr;gap:0}.publication-compact .publication-meta{flex-direction:row;gap:15px}.publication{padding:24px 0}.publication h3,.publication-compact h3{font-size:1.4rem}.publication-meta{font-size:.68rem}.authors{font-size:.95rem}.publication-actions{gap:0 20px}.about-preview{grid-template-columns:1fr;gap:25px}.about-preview p{font-size:1.15rem}.about-preview .research-art{height:150px}.about-preview .research-art svg{height:100%}.contact-description{font-size:1.1rem}.contact-email{gap:15px;font-size:calc(clamp(1.35rem,5.8vw,2.5rem))}.contact-email span,.publication-anchor:before{display:none}.university-email{flex-direction:column;gap:4px}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;margin-top:58px;padding-block:25px}.site-footer .nav-list{flex-wrap:wrap;gap:24px}.site-footer .nav-list a{font-size:.95rem}.page-intro{padding-top:38px}.page-intro h1{font-size:3.8rem}.publications-intro{grid-template-columns:1fr;gap:0}.publications-intro .research-art{height:130px;margin-top:15px}.publications-intro .research-art svg{height:100%}.publications-intro .research-art figcaption{padding:0;position:absolute;bottom:0;right:0}.intro-text{margin-top:20px;font-size:1.15rem}.featured-section{margin-top:28px}.featured-grid{grid-template-columns:1fr;gap:18px}.publication-featured{padding:25px}.publication-featured h3{font-size:1.6rem}.filter-bar{scroll-snap-type:x proximity;flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.filter-chip{scroll-snap-align:start;flex-shrink:0}.year-group{grid-template-columns:1fr;gap:12px;padding-top:35px}.archive-year{padding:0;font-size:2.6rem}.archive-year-sticky{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060b09f0;padding:8px 0;position:sticky;top:64px}.year-rows{border-left:0}.publication-anchor{padding-left:0}.about-intro{grid-template-columns:1fr;gap:32px}.portrait{width:240px;margin:0}.experience-grid{grid-template-columns:1fr;gap:30px}.timeline-row{grid-template-columns:1fr;gap:10px}.timeline-row .date{margin:0 0 0 28px}.timeline-row h3{font-size:1.3rem}.industry-row{grid-template-columns:1fr;gap:12px}.industry-row h3{font-size:1.4rem}.projects-grid{grid-template-columns:1fr;gap:26px}.skills-grid{grid-template-columns:1fr;gap:28px}.skills-grid>div{border-bottom:1px solid var(--rule);padding-bottom:22px}.skills-grid dt{margin-bottom:10px}.gallery-strip,.gallery-strip.gallery-pair,.gallery-strip.gallery-single{scroll-snap-type:x mandatory;gap:20px;margin-inline:-5px;padding:5px 5px 15px;display:flex;overflow-x:auto}.gallery-preview{scroll-snap-align:start;flex:0 0 85%}.gallery-single .gallery-preview{flex-basis:100%}.gallery-image{height:270px}.gallery-scroll-controls{gap:8px;display:flex}.gallery-dialog{border:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:12px}.viewer-toolbar{flex-wrap:wrap;gap:10px}.viewer-close{min-height:44px;padding-inline:15px}.viewer-zoom{order:3;justify-content:center;width:100%}.viewer-bottom{gap:12px}.viewer-caption{font-size:.9rem}.viewer-hint{font-size:.65rem}}@media (width<=389px){.container{padding-inline:18px}.header-inner{gap:9px}.header-email{font-size:.58rem}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .text-link{justify-content:center}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links a:nth-child(3n+1):last-child{grid-column:auto}.quick-links a:nth-child(odd):last-child{grid-column:1/-1}.contact-email{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}#main{text-align:start}.experience-body,.hero-copy,.project-description,.publication-main{min-width:0}.publication-meta{flex-wrap:wrap;align-content:start}.section-number{font-variant-numeric:tabular-nums;flex:none}.directions li{padding-left:20px;position:relative}.directions li:before,.research-notes span{margin-right:0;position:absolute;left:0}.research-notes p{padding-left:22px;position:relative}.timeline-row .date{font-variant-numeric:tabular-nums}@supports (grid-template-rows:subgrid){@media (width>=768px){.research-interest{grid-row:span 3;grid-template-rows:subgrid;row-gap:0;display:grid}.research-interest>div{display:contents}.research-interest h3{align-self:start}.research-interest p{max-width:none}.experience{grid-row:span 4;grid-template-rows:subgrid;align-content:start;row-gap:0;display:grid}.experience>.date{grid-row:1}.experience>h3{grid-row:2}.experience>.institution{grid-row:3}.experience>.experience-body,.experience>.responsibilities{grid-row:4}.philosophy-grid article,.project-card,.project-cell,.skills-grid>div{grid-row:span 2;grid-template-rows:subgrid;row-gap:0;display:grid}.project-card h3{grid-row:1}.project-description{grid-row:2}.publication-featured{grid-row:span 8;grid-template-rows:subgrid;row-gap:0;display:grid}.publication-featured>.publication-meta{grid-row:1}.publication-featured>.publication-main{grid-row:2/span 7;grid-template-rows:subgrid;row-gap:0;display:grid}.publication-featured h3{grid-row:1}.publication-featured .authors{grid-row:2}.publication-featured .publication-venue{grid-row:3}.publication-featured .publication-citation{grid-row:4}.publication-featured .publication-actions{grid-row:5;align-content:start}.publication-featured .summary-panel{grid-row:6}.publication-featured .summary-panel+.summary-panel{grid-row:7}}}@media (prefers-reduced-motion:no-preference){[data-reveal]{transition:opacity .64s var(--ease),transform .64s var(--ease);transition-delay:calc(70ms * min(var(--i,0),6))}html.reveal-ready [data-reveal]:not(.is-in){opacity:0;transform:translateY(12px)}[data-reveal].is-instant{transition:none}.section-heading .section-rule{transform-origin:0;transition:transform .82s var(--ease) .14s}html.reveal-ready .section-heading[data-reveal]:not(.is-in) .section-rule{transform:scaleX(0)}.timeline-row>div:before{transition:background-color .5s var(--ease) .3s,box-shadow .5s var(--ease) .3s}.timeline-row.is-in>div:before{background:var(--cyan);box-shadow:0 0 0 4px #6fe4df1f}.hero-in{animation:rise-in .72s var(--ease) both;animation-delay:calc(80ms + var(--i,0) * 90ms)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.art-thread .layer{transition:transform .9s var(--ease)}.art-letters{letter-spacing:.04em}.art-thread .net-pulses line{stroke-dasharray:.12 .88;stroke-dashoffset:.12px;opacity:0}.art-thread :is(.cluster,.net-nodes circle,.art-letters text,.arrow){transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.art-thread .art-strand path{stroke-dasharray:1;stroke-dashoffset:1px;animation:art-draw 1.7s var(--ease) .16s forwards}.art-thread .art-strand path+path{animation-delay:.38s}.art-thread :is(.helix-rungs,.helix-glow){animation:art-appear 1s var(--ease) .9s both}.art-thread .art-letters text{animation:art-appear .7s var(--ease) both,letter-float 7s ease-in-out infinite alternate;animation-delay:calc(.7s + var(--i,0) * 45ms),calc(var(--d,0s) * -1)}.art-thread .art-sparks circle{animation:3.6s ease-in-out infinite twinkle;animation-delay:calc(var(--d,0s) * -1)}.art-thread .art-labels{animation:art-appear .9s var(--ease) .5s both}.art-thread .net-edges{animation:art-appear 1.4s var(--ease) 1s both}.art-thread .net-nodes circle{animation:node-in .6s var(--ease) both;animation-delay:calc(.82s + var(--i,0) * 18ms)}.art-thread .net-nodes .hub{animation:node-in .6s var(--ease) both,hub-breathe 4.8s ease-in-out infinite alternate;animation-delay:calc(.82s + var(--i,0) * 18ms),calc(var(--i,0) * -.4s)}.art-thread .net-pulses line{animation:pulse-travel var(--dur,3s) linear infinite;animation-delay:calc(2.2s + var(--d,0s))}.art-thread .net-labels{animation:art-appear .9s var(--ease) 1.7s both}.art-thread .cluster{animation:15s ease-in-out infinite alternate cluster-breathe;animation-delay:calc(var(--k,0) * -5s)}.art-thread .cluster-points circle{animation:condense 1.7s var(--ease) both;animation-delay:calc(1.3s + var(--k,0) * .22s + var(--d,0s))}.art-thread .cluster-contour{animation:art-appear 1s var(--ease) 2.6s both,march 10s linear infinite}.art-thread .cluster-labels{animation:art-appear .9s var(--ease) 2.9s both}.art-thread .art-arrows{animation:art-appear .8s var(--ease) 1.1s both}.art-thread .arrow{animation:2.8s ease-in-out infinite arrow-nudge}.art-thread .arrow-2{animation-delay:-1.4s}.art-thread.is-paused :is(.art-letters text,.art-sparks circle,.net-nodes .hub,.net-pulses line,.cluster,.cluster-contour,.arrow){animation-play-state:paused}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.art-thread.art-interactive .layer-1{transform:translate(calc(var(--px,0) * 5px),calc(var(--py,0) * 4px))}.art-thread.art-interactive .layer-2{transform:translate(calc(var(--px,0) * 9px),calc(var(--py,0) * 6px))}.art-thread.art-interactive .layer-3{transform:translate(calc(var(--px,0) * -6px),calc(var(--py,0) * -4px))}}@keyframes art-draw{to{stroke-dashoffset:0}}@keyframes art-fade-in{to{opacity:1}}@keyframes art-appear{0%{opacity:0}}@keyframes letter-float{0%{transform:translateY(2px)}to{transform:translate(1px,-3px)}}@keyframes twinkle{0%,to{opacity:.12}50%{opacity:.85}}@keyframes node-in{0%{opacity:0;transform:scale(.2)}}@keyframes hub-breathe{0%{transform:scale(.9)}to{transform:scale(1.22)}}@keyframes pulse-travel{0%{stroke-dashoffset:.12px;opacity:0}12%{opacity:.95}82%{opacity:.95}to{stroke-dashoffset:-.88px;opacity:0}}@keyframes condense{0%{opacity:0;transform:translate(var(--dx,0),var(--dy,0))}}@keyframes cluster-breathe{0%{transform:rotate(-2.5deg)scale(.985)}to{transform:rotate(2.5deg)scale(1.025)}}@keyframes march{to{stroke-dashoffset:-24px}}@keyframes arrow-nudge{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}.art-globe .globe-pulses line{stroke-dasharray:.14 .86;stroke-dashoffset:.14px;opacity:0}.art-globe .globe-streams path{stroke-dasharray:3 9}.art-globe .globe-nodes circle{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.art-globe .globe-streams{animation:art-appear 1.2s var(--ease) .2s both}.art-globe .globe-streams path{animation:stream-flow var(--dur,6s) linear infinite;animation-delay:var(--d,0s)}.art-globe .globe-nodes circle{animation:node-in .7s var(--ease) both;animation-delay:calc(.3s + var(--i,0) * 14ms)}.art-globe :is(.globe-edges,.globe-rim){animation:art-appear 1.4s var(--ease) .7s both}.art-globe .globe-sats{animation:art-appear 1s var(--ease) 1.5s both}.art-globe .globe-orbit{animation:art-appear 1.2s var(--ease) 1.3s both,orbit-march 14s linear infinite}.art-globe .globe-pulses line{animation:pulse-travel var(--dur,3s) linear infinite;animation-delay:calc(1.8s + var(--d,0s))}.art-globe.is-paused :is(.globe-streams path,.globe-pulses line,.globe-orbit){animation-play-state:paused}}@keyframes stream-flow{to{stroke-dashoffset:-48px}}@keyframes orbit-march{to{stroke-dashoffset:-28px}}.art-lattice circle,.art-waves .art-noise path,.art-waves .art-stable circle{transform-box:fill-box;transform-origin:50%}.art-lattice .lattice-pulses line{stroke-dasharray:.12 .88;stroke-dashoffset:.12px;opacity:0}@media (prefers-reduced-motion:no-preference){.art-waves .art-noise path{animation:wave-drift var(--dur,12s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}.art-waves .art-stable path{animation:7s ease-in-out infinite alternate thread-breathe}.art-waves .art-stable circle{animation:4.6s ease-in-out infinite alternate marker-pulse;animation-delay:var(--d,0s)}.art-lattice circle{animation:node-float var(--dur,12s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}.art-lattice .hub{animation:node-float var(--dur,12s) ease-in-out infinite alternate,hub-breathe 5.6s ease-in-out infinite alternate;animation-delay:var(--d,0s),calc(var(--d,0s) * .5)}.art-lattice .lattice-pulses line{animation:pulse-travel var(--dur,4s) linear infinite;animation-delay:var(--d,0s)}:is(.art-waves,.art-lattice).is-paused :is(path,circle,line){animation-play-state:paused}}@keyframes wave-drift{0%{transform:translate(-3px,2.5px)}to{transform:translate(3px,-3px)}}@keyframes thread-breathe{0%{opacity:.72}to{opacity:1}}@keyframes marker-pulse{0%{opacity:.7;transform:scale(.85)}to{opacity:1;transform:scale(1.2)}}@keyframes node-float{0%{transform:translate(-1.4px,1.2px)}to{transform:translate(1.4px,-1.6px)}}.art-lattice .art-dense,.art-lattice .art-network,.art-planes .plane,.art-waves .art-noise,.art-waves .art-stable{transition:opacity .56s var(--ease),transform .64s var(--ease),filter .56s var(--ease)}.art-waves .art-stable{opacity:.55}.art-lattice .art-dense{opacity:.35}.art-planes .plane{transform-box:fill-box}.research-interest:is(:hover,:focus-within) .art-waves .art-noise{opacity:.32}.research-interest:is(:hover,:focus-within) .art-waves .art-stable{opacity:1;filter:drop-shadow(0 0 5px #6fe4df73)}.research-interest:is(:hover,:focus-within) .art-lattice .art-network{opacity:.55}.research-interest:is(:hover,:focus-within) .art-lattice .art-dense{opacity:1;filter:drop-shadow(0 0 5px #b6a6ee66)}.research-interest:is(:hover,:focus-within) .art-planes .plane{transform:translate(calc(var(--k,0) * 16px),calc(var(--k,0) * -7px))}@media (hover:none){.research-interest.is-in .art-waves .art-noise{opacity:.32}.research-interest.is-in .art-waves .art-stable{opacity:1}.research-interest.is-in .art-lattice .art-network{opacity:.55}.research-interest.is-in .art-lattice .art-dense{opacity:1}.research-interest.is-in .art-planes .plane{transform:translate(calc(var(--k,0) * 12px),calc(var(--k,0) * -5px))}}.research-interest h3{display:inline-block;position:relative}.research-interest h3:after{content:"";background:var(--cyan);transform-origin:0;height:1px;transition:transform var(--dur-2) var(--ease);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.research-interest:is(:hover,:focus-within) h3:after{transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.archive-groups .publication{animation:row-in .46s var(--ease) both;animation-delay:calc(45ms * min(var(--i,0),8))}.filter-chip{transition:background var(--dur-1),border-color var(--dur-1),color var(--dur-1),transform var(--dur-1)}.filter-chip:active{transform:translateY(1px)}.summary-sign{transition:transform var(--dur-2) var(--ease);display:inline-block}.summary-toggle[aria-expanded=true] .summary-sign{transform:rotate(180deg)}}@keyframes row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.gallery-dialog[open]{animation:dialog-in .38s var(--ease)}.gallery-dialog[open]::backdrop{animation:.38s backdrop-in}.gallery-image img{transition:transform .9s var(--ease)}.gallery-preview:is(:hover,:focus-visible) .gallery-image img{transform:scale(1.025)}.gallery-image:after{content:"";transition:border-color var(--dur-2);pointer-events:none;border:1px solid #0000;position:absolute;inset:0}.gallery-preview:is(:hover,:focus-visible) .gallery-image:after{border-color:var(--cyan-dim)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.site-header{transition:background-color .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease)}.site-header.compact{border-bottom-color:var(--rule-strong);background:#060b09d1;box-shadow:0 1px #6fe4df0f}.brand-logo{transition:transform .32s var(--ease);transform-origin:0}.site-header.compact .brand-logo{transform:scale(.9)}@font-face{font-family:Newsreader;src:local(Newsreader Variable Italic),url(../fonts/ynaMCTktq7C14BF-cLDoVfeIJ8v6KDiF5S8hR4m8qbI-WCfqKgHHDO4XoTFz3XqDkKbuAJLyDEJKajQp1NttUWE.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:300 700;font-style:italic}@font-face{font-family:Newsreader;src:local(Newsreader Variable Italic),url(../fonts/GeCfFIPmGmZBZ7Fn5C5Fs8cC7ML0Z-nsSPDF4HhSdKw-mWBPzsPW_pLvJbMfninvAN3USjA1_N3O_OGkwhXwmKI.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:300 700;font-style:italic}@font-face{font-family:Newsreader;src:local(Newsreader Variable),url(../fonts/XJaqmgR-VMmNRo8V5HeFYPHzi2su8kg-4JMx0aEyVvE-bPHfcgOt_KI7wqIadTVo50I5SJOk82jf5I_gm0LfU9A.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:300 700;font-style:normal}@font-face{font-family:Newsreader;src:local(Newsreader Variable),url(../fonts/KpqLckPLVWjR0q8ZtkjJ0Lz9WvX85KCRpTKVvDoBoto-PDI202rpwkk_j_ajUa7Mm6nd3y2As7F9y_U4sMWIZoA.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:300 700;font-style:normal}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Regular),local(IBM Plex Mono),url(../fonts/TYuj3BLTn9uQ7MFDmYyLVaLpl5QPkSaglZdjqDgG0ek-igLjBK_RMTxCA9_V26-BgMdTZ6jPr7L3gJYuxPy7R1s.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:400;font-style:normal}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Regular),local(IBM Plex Mono),url(../fonts/UuB2XHdMLQNrIdiEJAwzxUyqaOVfLbMyui8LVEBumgI-5FTAIskd9_vCHOKTzh-xPJsUj3cNTCB7x-GCCH8Zt64.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Medium),url(../fonts/B3yCJZrrABrozamfItU5sdrtJUL6FyAYs9_h0vHRX4o-54Kitui9HlfCjdbsfWbeBdIMWXzuvwcDm19Gpiwo9S4.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;font-weight:500;font-style:normal}@font-face{font-family:IBM Plex Mono;src:local(IBM Plex Mono Medium),url(../fonts/7Am_iLhQh0BP0N3P0otcSAEAvVnoC80dIdGf0lKZLbY-1X1mQq54PbMRMUg2rzeMK_nwPFhxM_6u2q_QTBGYco8.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:500;font-style:normal}@font-face{font-family:IBM Plex Mono Fallback\: Cascadia Mono;src:local(Cascadia Mono),local(Cascadia Mono Regular),local(CascadiaMono-Regular);size-adjust:102.4%;ascent-override:100.098%;descent-override:26.8555%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback\: Consolas;src:local(Consolas),local(Consolas Regular),local(Consolas-Regular);size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback\: Courier New;src:local(Courier New),local(Courier New Regular),local(CourierNew-Regular),local(CourierNewPSMT);size-adjust:99.9837%;ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback\: Roboto Mono;src:local(Roboto Mono),local(Roboto Mono Regular),local(RobotoMono-Regular);size-adjust:99.9837%;ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback\: Noto Sans Mono;src:local(Noto Sans Mono),local(Noto Sans Mono Regular),local(NotoSansMono-Regular);size-adjust:100%;ascent-override:102.5%;descent-override:27.5%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono Fallback\: Liberation Mono;src:local(Liberation Mono),local(Liberation Mono Regular),local(LiberationMono-Regular);size-adjust:99.9837%;ascent-override:102.517%;descent-override:27.5045%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Iowan Old Style;src:local(Iowan Old Style),local(Iowan Old Style Regular),local(IowanOldStyle-Regular);size-adjust:100%;ascent-override:73.5%;descent-override:26.5%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Palatino Linotype;src:local(Palatino Linotype),local(Palatino Linotype Regular),local(PalatinoLinotype-Regular);size-adjust:100%;ascent-override:73.5%;descent-override:26.5%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Georgia;src:local(Georgia),local(Georgia Regular),local(Georgia-Regular);size-adjust:96.1192%;ascent-override:76.4676%;descent-override:27.5699%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Times New Roman;src:local(Times New Roman),local(Times New Roman Regular),local(TimesNewRoman-Regular),local(TimesNewRomanPSMT);size-adjust:105.477%;ascent-override:69.6835%;descent-override:25.124%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Noto Serif;src:local(Noto Serif),local(Noto Serif Regular),local(NotoSerif-Regular);size-adjust:89.0852%;ascent-override:82.5053%;descent-override:29.7468%;line-gap-override:0%}@font-face{font-family:Newsreader Fallback\: Liberation Serif;src:local(Liberation Serif),local(Liberation Serif Regular),local(LiberationSerif-Regular);size-adjust:105.477%;ascent-override:69.6835%;descent-override:25.124%;line-gap-override:0%}
