.dl-cv[data-astro-cid-lingm3pp]{--flip-dur:.45s;color:var(--text);font-size:var(--t-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;perspective:420px;border-radius:10px;font-weight:450;line-height:1;text-decoration:none;display:inline-grid;position:relative}.dl-cv__card[data-astro-cid-lingm3pp]{transform-style:preserve-3d;transition:transform var(--flip-dur) var(--spring-snappy);display:grid}.dl-cv__face[data-astro-cid-lingm3pp]{justify-content:center;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-3) 0 10px;background:var(--surface);box-shadow:var(--shadow-hair);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:background-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:10px;grid-area:1/1;display:flex}.dl-cv__back[data-astro-cid-lingm3pp]{transform:rotateX(180deg)}.dl-cv[data-astro-cid-lingm3pp].is-flipped .dl-cv__card[data-astro-cid-lingm3pp]{transform:rotateX(-180deg)}.dl-cv__icon[data-astro-cid-lingm3pp]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;color:var(--text-2);transition:color .2s var(--ease-out);flex:none;overflow:visible}.dl-cv__meta[data-astro-cid-lingm3pp]{background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.04em;border-radius:4px;margin-left:2px;padding:3px 5px;font-size:10px;font-weight:450;line-height:1}.dl-cv__check[data-astro-cid-lingm3pp]{color:#15803d;stroke-width:1.75px}[data-theme=dark] .dl-cv__check[data-astro-cid-lingm3pp]{color:#4ade80}.dl-cv__check[data-astro-cid-lingm3pp] path[data-astro-cid-lingm3pp]{stroke-dasharray:1;stroke-dashoffset:1px}.dl-cv[data-astro-cid-lingm3pp].is-confirmed .dl-cv__check[data-astro-cid-lingm3pp] path[data-astro-cid-lingm3pp]{stroke-dashoffset:0;transition:stroke-dashoffset .4s var(--ease-out) .18s}@media (hover:hover) and (pointer:fine){.dl-cv[data-astro-cid-lingm3pp]:hover .dl-cv__front[data-astro-cid-lingm3pp]{background:var(--surface-2)}.dl-cv[data-astro-cid-lingm3pp]:hover .dl-cv__front[data-astro-cid-lingm3pp] .dl-cv__icon[data-astro-cid-lingm3pp]{color:var(--text)}.dl-cv[data-astro-cid-lingm3pp]:hover .dl-cv__meta[data-astro-cid-lingm3pp]{background:var(--surface)}}.dl-cv[data-astro-cid-lingm3pp]:focus-visible{border-radius:10px}.cv-section[data-astro-cid-ytdozu2s]{scroll-margin-top:72px}.cv-section[data-astro-cid-ytdozu2s]+.cv-section{margin-top:var(--s-8)}.section-title[data-astro-cid-ytdozu2s]{margin-bottom:var(--s-2)}@media (width>=640px){.cv-section[data-astro-cid-ytdozu2s]+.cv-section{margin-top:80px}}@media print{.cv-section[data-astro-cid-ytdozu2s]+.cv-section{margin-top:18pt}.section-title[data-astro-cid-ytdozu2s]{break-after:avoid}}.timeline[data-astro-cid-2fwf7sec]{--rail:32px;margin:0;padding:0;list-style:none}.timeline[data-astro-cid-2fwf7sec]>li{column-gap:var(--s-4);border-top:1px solid var(--line);transition:opacity .2s var(--ease-out);padding-block:20px;scroll-margin-top:72px;display:grid}.timeline[data-astro-cid-2fwf7sec]>li:first-child{border-top:0}.timeline--rail[data-astro-cid-2fwf7sec]>li{grid-template-columns:var(--rail) minmax(0, 1fr)}.timeline--plain[data-astro-cid-2fwf7sec]>li{grid-template-columns:minmax(0,1fr)}@media (hover:hover) and (pointer:fine){.timeline[data-astro-cid-2fwf7sec]:has(>li:hover)>li:not(:hover){opacity:.6}}@media (width<=479px){.timeline--rail[data-astro-cid-2fwf7sec]>li{column-gap:var(--s-3)}}@media print{.timeline[data-astro-cid-2fwf7sec]>li{break-inside:avoid;padding-block:8pt;opacity:1!important}}.org-logo[data-astro-cid-ebtr7tel]{width:var(--size);height:var(--size);background:var(--surface);box-shadow:var(--shadow-hair);color:var(--text-2);border-radius:8px;flex:none;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;padding:5px;display:grid;position:relative}.org-logo[data-astro-cid-ebtr7tel] img[data-astro-cid-ebtr7tel]{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0}.org-logo--detailed[data-astro-cid-ebtr7tel]{padding:2px}.org-logo--wide[data-astro-cid-ebtr7tel]{padding:4px 3px}.org-logo[data-astro-cid-ebtr7tel] .org-logo__glyph{color:var(--brand)}.org-logo__mark[data-astro-cid-ebtr7tel]{font-family:var(--font-pixel);letter-spacing:.02em;color:var(--brand);font-size:10px;line-height:1}.org-logo--icon[data-astro-cid-ebtr7tel] svg[data-astro-cid-ebtr7tel]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .org-logo[data-astro-cid-ebtr7tel]{background:var(--surface-2)}[data-theme=dark] .org-logo[data-astro-cid-ebtr7tel].is-branded{background:#ececee}@media print{.org-logo[data-astro-cid-ebtr7tel]{background:#fff!important;box-shadow:0 0 0 1px #ddd!important}.org-logo__mark[data-astro-cid-ebtr7tel],.org-logo[data-astro-cid-ebtr7tel] .org-logo__glyph{color:var(--brand)!important}}.dates[data-astro-cid-q3yqm7n6]{font-family:var(--font-mono);font-size:var(--t-label);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--text-2);white-space:nowrap;line-height:1.4}.sep[data-astro-cid-q3yqm7n6]{color:var(--text-3);margin-inline:.4em}.exp[data-astro-cid-q3yqm7n6]{color:var(--text-2);margin-right:.35em}.body[data-astro-cid-4butfxlz]{column-gap:var(--s-5);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"badge badge""role when""org org""more more";align-items:baseline;min-width:0;display:grid}.body[data-astro-cid-4butfxlz]>.badge{margin-bottom:var(--s-2);grid-area:badge;justify-self:start}.role[data-astro-cid-4butfxlz]{font-size:var(--t-body);letter-spacing:-.005em;color:var(--text);text-wrap:pretty;grid-area:role;font-weight:500;line-height:1.5}.body[data-astro-cid-4butfxlz]>.when{grid-area:when;justify-self:end}.org[data-astro-cid-4butfxlz]{font-size:var(--t-sm);color:var(--text-2);grid-area:org;margin-top:1px;line-height:1.5}.place[data-astro-cid-4butfxlz]:before{content:"·";content:"·" / "";color:var(--text-3);margin-inline:.5em}.more[data-astro-cid-4butfxlz]{margin-top:var(--s-3);gap:var(--s-2);grid-area:more;display:grid}.note[data-astro-cid-4butfxlz]{font-size:var(--t-sm);color:var(--text-2);line-height:1.55}.bullets[data-astro-cid-4butfxlz]{font-size:var(--t-sm);color:var(--text-2);gap:6px;margin:0;padding:0;line-height:1.6;list-style:none;display:grid}.bullets[data-astro-cid-4butfxlz] li[data-astro-cid-4butfxlz]{text-wrap:pretty;padding-left:16px;position:relative}.bullets[data-astro-cid-4butfxlz] li[data-astro-cid-4butfxlz]:before{content:"";background:var(--text-3);width:5px;height:1px;position:absolute;top:calc(.8em - 1.5px);left:2px}.tags[data-astro-cid-4butfxlz]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-2);margin-top:2px;font-size:11px;line-height:1.5}.tag[data-astro-cid-4butfxlz]{white-space:nowrap}.dot[data-astro-cid-4butfxlz]{color:var(--text-3);margin-inline:.45em}@media (width<=559px){.body[data-astro-cid-4butfxlz]{grid-template-columns:minmax(0,1fr);grid-template-areas:"badge""role""org""when""more"}.body[data-astro-cid-4butfxlz]>.when{justify-self:start;margin-top:2px}}@media print{.role[data-astro-cid-4butfxlz]{font-weight:600}}.idx[data-astro-cid-3vwdg3mh]{font-family:var(--font-mono);font-size:var(--t-label);font-variant-numeric:tabular-nums;color:var(--text-3);text-align:center;padding-top:2px;line-height:1.5;display:block}.body[data-astro-cid-3vwdg3mh]{column-gap:var(--s-5);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title when""authors authors""venue venue""doi doi";align-items:baseline;min-width:0;display:grid}.title[data-astro-cid-3vwdg3mh]{font-size:var(--t-body);letter-spacing:-.005em;color:var(--text);text-wrap:pretty;grid-area:title;font-weight:500;line-height:1.5}.when[data-astro-cid-3vwdg3mh]{font-family:var(--font-mono);font-size:var(--t-label);color:var(--text-2);grid-area:when;justify-self:end;line-height:1.4}.authors[data-astro-cid-3vwdg3mh]{font-size:var(--t-sm);color:var(--text-2);grid-area:authors;margin-top:6px;line-height:1.55}.authors[data-astro-cid-3vwdg3mh] strong[data-astro-cid-3vwdg3mh]{color:var(--text);font-weight:550}.venue[data-astro-cid-3vwdg3mh]{font-size:var(--t-sm);color:var(--text-2);text-wrap:pretty;grid-area:venue;margin-top:2px;line-height:1.55}cite[data-astro-cid-3vwdg3mh]{color:var(--text);font-style:normal}.kind[data-astro-cid-3vwdg3mh]{background:var(--surface-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);vertical-align:1px;border-radius:4px;margin-right:8px;padding:1px 5px;font-size:10.5px;line-height:1.5;display:inline-block}.doi[data-astro-cid-3vwdg3mh]{margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--t-label);grid-area:doi;line-height:1.5}.doi[data-astro-cid-3vwdg3mh] .link[data-astro-cid-3vwdg3mh]{white-space:normal;overflow-wrap:anywhere;align-items:center;gap:4px;font-weight:400;display:inline-flex}.doi[data-astro-cid-3vwdg3mh] svg[data-astro-cid-3vwdg3mh]{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;color:var(--text-3)}@media (width<=559px){.body[data-astro-cid-3vwdg3mh]{grid-template-columns:minmax(0,1fr);grid-template-areas:"title""authors""venue""when""doi"}.when[data-astro-cid-3vwdg3mh]{justify-self:start;margin-top:4px}}@media print{.doi[data-astro-cid-3vwdg3mh] svg[data-astro-cid-3vwdg3mh]{display:none}}.doi[data-astro-cid-3vwdg3mh] .doi__book{vertical-align:-.2em;margin-right:.3em}.chips[data-astro-cid-5hezh5pd]{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip[data-astro-cid-5hezh5pd]{border-radius:var(--r-sm);background:var(--surface);height:26px;box-shadow:var(--shadow-hair);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.01em;color:var(--text-2);transition:color .2s var(--ease-out);align-items:center;gap:6px;padding:0 9px;line-height:1;display:inline-flex}.chip--brand[data-astro-cid-5hezh5pd]{padding-left:7px}.chip__slot[data-astro-cid-5hezh5pd]{flex:none;place-items:center;width:14px;height:14px;display:grid}.chip[data-astro-cid-5hezh5pd] .chip__icon{color:var(--text-3);transition:color .24s var(--ease-out), translate var(--dur-bounce) var(--spring-bounce), scale var(--dur-bounce) var(--spring-bounce)}[data-theme=dark] .chip[data-astro-cid-5hezh5pd] .chip__img{filter:grayscale()brightness(1.45)contrast(1.05)opacity(.85)}.chip[data-astro-cid-5hezh5pd] .chip__icon .bi-detail{opacity:0;transition:opacity .2s var(--ease-out), translate var(--dur-bounce) var(--spring-bounce);translate:0 2px}.chip[data-astro-cid-5hezh5pd] .chip__icon .bi-detail+.bi-detail{transition-delay:50ms}.chip[data-astro-cid-5hezh5pd] .chip__img{object-fit:contain;filter:grayscale()brightness(.92)contrast(1.15)opacity(.9);width:auto;max-width:14px;height:14px;transition:filter .24s var(--ease-out), translate var(--dur-bounce) var(--spring-bounce), scale var(--dur-bounce) var(--spring-bounce)}@media (hover:hover) and (pointer:fine){.chip--brand[data-astro-cid-5hezh5pd]:hover{color:var(--text)}.chip--brand[data-astro-cid-5hezh5pd]:hover .chip__icon{color:var(--brand);translate:0 -1px;scale:1.14}.chip--brand[data-astro-cid-5hezh5pd]:hover .chip__img,[data-theme=dark] .chip--brand[data-astro-cid-5hezh5pd]:hover .chip__img{filter:grayscale(0)brightness()contrast()opacity()}.chip--brand[data-astro-cid-5hezh5pd]:hover .chip__icon .bi-detail{opacity:1;translate:0}}@media (hover:none){.chip--brand[data-astro-cid-5hezh5pd]:active{color:var(--text)}.chip--brand[data-astro-cid-5hezh5pd]:active .chip__icon{color:var(--brand);translate:0 -1px;scale:1.14}.chip--brand[data-astro-cid-5hezh5pd]:active .chip__img,[data-theme=dark] .chip--brand[data-astro-cid-5hezh5pd]:active .chip__img{filter:grayscale(0)brightness()contrast()opacity()}.chip--brand[data-astro-cid-5hezh5pd]:active .chip__icon .bi-detail{opacity:1;translate:0}}.chip[data-astro-cid-5hezh5pd] .chip__img--pale{filter:grayscale()brightness(.62)contrast(1.15)opacity(.9)}.chip[data-astro-cid-5hezh5pd] .chip__java{width:auto;max-width:14px;height:15px;overflow:visible}@keyframes steam-rise{0%{opacity:.2;translate:0 18px}60%{opacity:1}to{opacity:1;translate:0}}@media (hover:hover) and (pointer:fine){.chip--brand[data-astro-cid-5hezh5pd]:hover .chip__java .steam{animation:steam-rise .52s var(--spring-soft) both}.chip--brand[data-astro-cid-5hezh5pd]:hover .chip__java .steam+.steam{animation-delay:70ms}}.chip--latex[data-astro-cid-5hezh5pd]{padding-inline:10px}.chip[data-astro-cid-5hezh5pd] .latex-mark{width:auto;height:13px;color:var(--text-2);transition:color .2s var(--ease-out);display:block}@media (hover:hover) and (pointer:fine){.chip--latex[data-astro-cid-5hezh5pd]:hover .latex-mark{color:var(--text)}}@media print{.chip[data-astro-cid-5hezh5pd]{background:0 0;height:auto;padding:1pt 5pt;box-shadow:inset 0 0 0 1px #ccc}.chip[data-astro-cid-5hezh5pd] .chip__icon{color:var(--brand)}.chip[data-astro-cid-5hezh5pd] .chip__img{filter:none}.chip[data-astro-cid-5hezh5pd] .chip__icon .bi-detail{opacity:1;translate:none}}.cv[data-astro-cid-uue4a3aj]{--measure:700px;padding-block:var(--s-7) var(--s-8)}@media (width>=640px){.cv[data-astro-cid-uue4a3aj]{padding-block:var(--s-9) var(--s-9)}}.cv-head[data-astro-cid-uue4a3aj]{flex-direction:column;align-items:flex-start;display:flex}.cv-head[data-astro-cid-uue4a3aj] h1[data-astro-cid-uue4a3aj]{margin-top:var(--s-3);font-size:var(--t-h1);letter-spacing:-.02em;line-height:1.2}.lede[data-astro-cid-uue4a3aj]{margin-top:var(--s-3);max-width:34em;font-size:var(--t-body);color:var(--text-2);line-height:1.6}.contact[data-astro-cid-uue4a3aj]{gap:var(--s-2) var(--s-4);margin:var(--s-5) 0 0;font-size:var(--t-sm);color:var(--text-2);flex-wrap:wrap;padding:0;line-height:20px;list-style:none;display:flex}.contact[data-astro-cid-uue4a3aj] li[data-astro-cid-uue4a3aj]{display:flex}.contact__plain[data-astro-cid-uue4a3aj],.contact__link[data-astro-cid-uue4a3aj]{align-items:center;gap:6px;display:inline-flex}.contact__link[data-astro-cid-uue4a3aj]{color:var(--text-2);transition:color .2s var(--ease-out);text-decoration:none}.contact__link[data-astro-cid-uue4a3aj] span[data-astro-cid-uue4a3aj]{text-underline-offset:3px;transition:text-decoration-color .2s var(--ease-out);text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px}.ico[data-astro-cid-uue4a3aj]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;color:var(--text-3);overflow:visible}.contact[data-astro-cid-uue4a3aj] .bico{color:var(--text-3);transition:color .24s var(--ease-out), translate var(--dur-bounce) var(--spring-bounce), scale var(--dur-bounce) var(--spring-bounce)}@media (hover:hover) and (pointer:fine){.contact__link[data-astro-cid-uue4a3aj]:hover{color:var(--text)}.contact__link[data-astro-cid-uue4a3aj]:hover span[data-astro-cid-uue4a3aj]{text-decoration-color:var(--ul-hover)}.contact__link[data-astro-cid-uue4a3aj]:hover .ico[data-astro-cid-uue4a3aj]{color:var(--text)}.contact__link--brand[data-astro-cid-uue4a3aj]:hover .bico{color:var(--brand)}.contact__link--brand[data-astro-cid-uue4a3aj]:hover .bico[style*=\#000000],.contact__link--brand[data-astro-cid-uue4a3aj]:hover .bico[style*=\#181717]{color:var(--text)}}.actions[data-astro-cid-uue4a3aj]{gap:var(--s-2);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.copy-btn[data-astro-cid-uue4a3aj]{align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-3) 0 10px;font-size:var(--t-sm);color:var(--text-2);transition:scale var(--dur-quick) var(--spring-quick), color .2s var(--ease-out), background-color .2s var(--ease-out);border-radius:10px;font-weight:450;display:inline-flex}@media (hover:hover) and (pointer:fine){.copy-btn[data-astro-cid-uue4a3aj]:hover{color:var(--text);background:var(--surface-2)}.copy-btn[data-astro-cid-uue4a3aj]:hover .ico[data-astro-cid-uue4a3aj]{color:var(--text)}}.copy-btn[data-astro-cid-uue4a3aj]:focus-visible{border-radius:10px}.copy-btn[data-astro-cid-uue4a3aj].is-done{color:var(--text)}.copy-btn[data-astro-cid-uue4a3aj] .m-check{color:#15803d}[data-theme=dark] .copy-btn[data-astro-cid-uue4a3aj] .m-check{color:#4ade80}.sections[data-astro-cid-uue4a3aj]{margin-top:var(--s-8)}@media (width>=640px){.sections[data-astro-cid-uue4a3aj]{margin-top:80px}}.interests[data-astro-cid-uue4a3aj]{align-items:baseline;gap:2px var(--s-3);margin:var(--s-2) 0 var(--s-2);padding:var(--s-3) 14px;border-radius:var(--r-md);background:var(--surface-2);font-size:var(--t-sm);color:var(--text-2);flex-wrap:wrap;line-height:1.6;display:flex}.interests[data-astro-cid-uue4a3aj] .label[data-astro-cid-uue4a3aj]{font-size:11px;line-height:inherit}.interests__list[data-astro-cid-uue4a3aj]{color:var(--text);flex-wrap:wrap;flex:20em;margin:0;padding:0;list-style:none;display:flex}.interests__list[data-astro-cid-uue4a3aj] li[data-astro-cid-uue4a3aj]{white-space:nowrap}.interests__list[data-astro-cid-uue4a3aj] li[data-astro-cid-uue4a3aj]:not(:last-child):after{content:"·";content:"·" / "";color:var(--text-3);margin-inline:.45em}.honor__body[data-astro-cid-uue4a3aj]{column-gap:var(--s-5);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"badge badge""title when""detail detail""link link";align-items:baseline;display:grid}.honor__title[data-astro-cid-uue4a3aj]{font-size:var(--t-body);letter-spacing:-.005em;text-wrap:pretty;grid-area:title;font-weight:500;line-height:1.5}.honor__when[data-astro-cid-uue4a3aj]{font-family:var(--font-mono);font-size:var(--t-label);color:var(--text-2);text-align:right;grid-area:when;line-height:1.4}.honor__detail[data-astro-cid-uue4a3aj]{font-size:var(--t-sm);color:var(--text-2);grid-area:detail;margin-top:4px;line-height:1.55}.honor__body[data-astro-cid-uue4a3aj]>.honor__badge{margin-bottom:var(--s-2);grid-area:badge;justify-self:start}.honor__link[data-astro-cid-uue4a3aj]{margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--t-label);grid-area:link;line-height:1.5}.honor__link[data-astro-cid-uue4a3aj] .link[data-astro-cid-uue4a3aj]{overflow-wrap:anywhere;align-items:center;gap:4px;font-weight:400;display:inline-flex}.honor__link[data-astro-cid-uue4a3aj] .link[data-astro-cid-uue4a3aj] .micro{color:var(--text-3)}@media (width<=559px){.honor__body[data-astro-cid-uue4a3aj]{grid-template-columns:minmax(0,1fr);grid-template-areas:"badge""title""detail""link""when"}.honor__when[data-astro-cid-uue4a3aj]{text-align:left;margin-top:6px}}.kv[data-astro-cid-uue4a3aj]{margin:var(--s-3) 0 0;display:grid}.kv__row[data-astro-cid-uue4a3aj]{gap:var(--s-2) var(--s-4);border-top:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);align-items:baseline;padding-block:14px;display:grid}.kv__row[data-astro-cid-uue4a3aj]:first-child{padding-top:var(--s-2);border-top:0}.kv[data-astro-cid-uue4a3aj] dt[data-astro-cid-uue4a3aj].label{line-height:26px}.kv[data-astro-cid-uue4a3aj] dd[data-astro-cid-uue4a3aj]{margin:0}.kv--text[data-astro-cid-uue4a3aj] dt[data-astro-cid-uue4a3aj]{color:var(--text);font-weight:450}.kv--text[data-astro-cid-uue4a3aj] dd[data-astro-cid-uue4a3aj]{font-size:var(--t-sm);color:var(--text-2)}@media (width<=479px){.kv[data-astro-cid-uue4a3aj]:not(.kv--text) .kv__row[data-astro-cid-uue4a3aj]{grid-template-columns:minmax(0,1fr)}.kv--text[data-astro-cid-uue4a3aj] .kv__row[data-astro-cid-uue4a3aj]{grid-template-columns:96px minmax(0,1fr)}}.app-row__icon[data-astro-cid-uue4a3aj]{flex:none;width:32px;height:32px}.app-row__icon[data-astro-cid-uue4a3aj] .app-row__img{width:100%;height:100%;display:block}.app-row__icon[data-astro-cid-uue4a3aj] .app-row__img--dark,[data-theme=dark] .app-row__icon[data-astro-cid-uue4a3aj] .app-row__img--light{display:none}[data-theme=dark] .app-row__icon[data-astro-cid-uue4a3aj] .app-row__img--dark{display:block}.app-row__status[data-astro-cid-uue4a3aj]{font-family:var(--font-mono);font-size:var(--t-xs,.75rem);color:var(--text-3);white-space:nowrap;grid-area:link;justify-self:end}.app-row__blurb[data-astro-cid-uue4a3aj]{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--text-2);grid-column:1/-1}.cert__body[data-astro-cid-uue4a3aj]{column-gap:var(--s-5);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title link""meta meta";align-items:baseline;display:grid}.cert__title[data-astro-cid-uue4a3aj]{font-size:var(--t-body);letter-spacing:-.005em;text-wrap:pretty;grid-area:title;font-weight:500;line-height:1.5}.cert__meta[data-astro-cid-uue4a3aj]{font-size:var(--t-sm);color:var(--text-2);grid-area:meta;margin-top:1px;line-height:1.5}.cert__sep[data-astro-cid-uue4a3aj]{color:var(--text-3);margin-inline:.45em}.cert__link[data-astro-cid-uue4a3aj]{font-size:var(--t-sm);color:var(--text);white-space:nowrap;text-decoration-line:underline;text-decoration-color:var(--ul-rest);text-underline-offset:3px;transition:color .2s var(--ease-out), text-decoration-color .2s var(--ease-out);grid-area:link;justify-self:end;align-items:center;gap:2px;font-weight:450;line-height:1.5;text-decoration-thickness:1px;display:inline-flex}.cert__arrow[data-astro-cid-uue4a3aj]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;color:var(--text-3);overflow:visible}.cert__link[data-astro-cid-uue4a3aj].is-soon{color:var(--text-3);cursor:default;user-select:none;text-decoration:none}.cert__soon[data-astro-cid-uue4a3aj]{background:var(--surface-2);color:var(--text-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:10px;line-height:1.2}@media (hover:hover) and (pointer:fine){a[data-astro-cid-uue4a3aj].cert__link:hover{text-decoration-color:var(--ul-hover)}a[data-astro-cid-uue4a3aj].cert__link:hover .cert__arrow[data-astro-cid-uue4a3aj]{color:var(--text)}}@media (width<=559px){.cert__body[data-astro-cid-uue4a3aj]{grid-template-columns:minmax(0,1fr);grid-template-areas:"title""meta""link"}.cert__link[data-astro-cid-uue4a3aj]{justify-self:start;margin-top:6px}}@media print{.cert__link[data-astro-cid-uue4a3aj].is-soon{display:none}@page{margin:14mm 14mm 16mm}html:root,html:root[data-theme]{--bg:#fff;--surface:#fff;--surface-2:#f3f3f3;--text:#000;--text-2:#333;--text-3:#777;--line:#d6d6d6;--line-strong:#bbb;--ul-rest:#bbb;--accent:#1342ff;--accent-soft:#fff;--shadow-hair:none;color-scheme:light;background:#fff}html{font-size:10.5pt}body>:not(main){display:none!important}.cv{max-width:none!important;padding:0!important}.enter>*{animation:none!important}.cv .actions,.cv .cv-head>.label{display:none!important}.cv .highlights{margin-top:14pt!important}.cv .sections{margin-top:18pt!important}.cv .interests{background:0 0;padding:0}.cv a{color:#000!important}}
