:root{--black:#000;--white:#fff;--barHeight:30px;--bevel-light:#fff;--bevel-dark:#000;--text:#000;--font-body:var(--font-space-grotesk),"Space Grotesk","Helvetica Neue",Arial,sans-serif;--font-mono:var(--font-space-mono),"Space Mono",ui-monospace,Menlo,Monaco,"Courier New",monospace;--fs-100:.85rem;--fs-200:1rem;--fs-300:1.125rem;--fs-400:1.35rem;--fs-500:1.75rem;--fs-600:2.35rem}html{background-color:var(--white);font-size:18px}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);font-family:var(--font-body);font-size:var(--fs-200);background-color:transparent;min-height:100%;margin:0;line-height:1.5;position:relative}body:before{content:"";background-color:var(--white);z-index:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'>  <rect width='8' height='8' fill='white'/>  <rect x='3' y='1.5' width='2' height='5' fill='black'/></svg>");background-size:8px 8px;position:fixed;top:0;bottom:0;left:0;right:0}.window{background:#fff;border:2px double #000;position:relative}.window:after{content:"";pointer-events:none;border-bottom:1px solid #000;border-right:1px solid #000;position:absolute;top:0;bottom:0;left:0;right:0}.window:before{content:"";pointer-events:none;border-top:1px solid #fff;border-left:1px solid #fff;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-1px,-1px)}.titlebar{height:var(--barHeight);background:var(--black);color:var(--white);letter-spacing:.2px;font-weight:600;font-size:var(--fs-300);border-bottom:1px solid #000;align-items:center;padding:0 10px;display:flex}.window-content{font-size:var(--fs-200);padding:12px;line-height:1.45}.masonry{column-width:340px;column-fill:balance;column-gap:14px;width:100%}.card{break-inside:avoid;-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;margin:0 0 14px;display:block}.tag{font-size:var(--fs-100);background:#fff;border:1px solid #000;margin:2px 6px 0 0;padding:2px 6px;display:inline-block;box-shadow:inset -1px -1px #000,inset 1px 1px #000}a{color:#000;border-bottom:1px dotted #000;text-decoration:none}a:hover{color:#fff;background:#000}.markdown img{border:1px solid #000;max-width:100%;height:auto}.markdown pre,.markdown code{font-family:var(--font-mono);font-size:var(--fs-200);background:#fff;border:1px solid #000;padding:2px 4px}.media-grid{grid-template-columns:1fr;gap:10px;margin-top:10px;display:grid}.media-grid img,.media-grid video,.media-grid iframe{border:1px solid #000;width:100%;height:auto}.video iframe{aspect-ratio:16/9}.resume-page{z-index:1;flex-direction:column;gap:18px;max-width:1100px;margin:32px auto 80px;padding:0 16px;display:flex;position:relative}.resume-footer{font-size:var(--fs-100);text-align:right;color:#fff;background:#000;border:1px solid #000;align-self:flex-end;gap:4px;padding:8px 12px;display:grid;box-shadow:inset -1px -1px #000,inset 1px 1px #000}.resume-footer a{color:#fff;border-bottom:1px dotted #fff}.resume-footer a:hover{color:#000;background:#fff}.resume-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:18px;display:grid}.resume-portrait{aspect-ratio:3/4;text-align:center;font-size:var(--fs-100);text-transform:uppercase;letter-spacing:.16em;background:repeating-linear-gradient(135deg,#fff,#fff 8px,#f2f2f2 8px,#f2f2f2 16px);border:1px solid #000;place-items:center;padding:12px;display:grid}.resume-portrait img{object-fit:cover;width:100%;height:100%;display:block}.resume-name{font-size:var(--fs-600);letter-spacing:-.02em;margin:0;line-height:1.05}.resume-role{font-size:var(--fs-500);margin:6px 0 12px;font-weight:500}.resume-summary{margin:0 0 12px}.resume-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.resume-meta{font-size:var(--fs-100);gap:8px;margin-top:10px;display:grid}.resume-meta-row{grid-template-columns:110px 1fr;gap:8px;display:grid}.resume-links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pill-link{font-size:var(--fs-100);background:#fff;border:1px solid #000;border-bottom:none;align-items:center;gap:6px;padding:3px 8px;text-decoration:none;display:inline-flex;box-shadow:inset -1px -1px #000,inset 1px 1px #000}.pill-link:hover{color:#fff;background:#000}.resume-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resume-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.resume-entry{gap:6px;display:grid}.resume-entry-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.resume-entry-title{font-weight:600}.resume-entry-meta{font-size:var(--fs-100)}.resume-bullets{gap:6px;margin:6px 0 0;padding-left:1.1rem;list-style:square;display:grid}.resume-divider{border-top:1px solid #000;margin:10px 0}.qualification-grid{gap:10px;display:grid}.qualification-item{gap:4px;display:grid}.qualification-label{font-weight:600}.project-grid{gap:14px;display:grid}.project-card{background:#fff;border:1px solid #000;gap:6px;padding:10px;display:grid;box-shadow:inset -1px -1px #000,inset 1px 1px #000}.project-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.project-title{font-weight:600}.project-meta{font-size:var(--fs-100)}.publication-section{gap:12px;margin-top:10px;display:grid}.publication-item{background:#fff;border:1px solid #000;grid-template-columns:minmax(0,1fr) 160px;gap:12px;padding:10px;display:grid;box-shadow:inset -1px -1px #000,inset 1px 1px #000}.publication-item.no-image{grid-template-columns:minmax(0,1fr)}.publication-title{font-weight:600}.publication-authors,.publication-meta{font-size:var(--fs-100)}.publication-links{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.publication-image{aspect-ratio:4/3;background:#f6f6f6;border:1px solid #000;position:relative;overflow:hidden}.publication-image img{object-fit:cover;width:100%;height:100%;display:block}.publication-image-link{border-bottom:none;width:100%;height:100%;display:block}.publication-image-link:hover{background:0 0}.name-underline{text-decoration:underline;text-decoration-thickness:2px}@media (max-width:900px){.resume-hero,.resume-columns,.resume-meta-row,.publication-item{grid-template-columns:1fr}}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");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-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");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-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");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-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.cfdd66c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.c30238d4.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.4564287c.woff2)format("woff2");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-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_5d1ca906-module__zo1qOW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_5d1ca906-module__zo1qOW__variable{--font-space-grotesk:"Space Grotesk","Space Grotesk Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.e45fea2b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.20ecb425.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3b382e45.woff2)format("woff2");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-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.12167c5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.7a4e9fcc.woff2)format("woff2");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.4adea45d.woff2)format("woff2");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-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_ab3f9e52-module__V5fwGW__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_ab3f9e52-module__V5fwGW__variable{--font-space-mono:"Space Mono","Space Mono Fallback"}
