:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#213547;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;background-color:#16171d}body{margin:0}:root{--resume-max-width:760px;--resume-accent:#ea580c;--resume-muted:#6b7280;--resume-border:#e5e7eb;--resume-tag-bg:#f3f4f6;--resume-tag-fg:#374151;--medal-gold:#c8960a;--medal-silver:#8a8f98;--medal-bronze:#b06a2c}:root[data-theme=dark]{--resume-accent:#fb923c;--resume-muted:#9ca3af;--resume-border:#2e303a;--resume-tag-bg:#23252e;--resume-tag-fg:#d1d5db;--medal-gold:#e3b341;--medal-silver:#b6bcc6;--medal-bronze:peru}.resume{max-width:var(--resume-max-width);text-align:left;margin:0 auto;padding:clamp(1rem,2vw,1.5rem) clamp(1.25rem,4vw,2rem)}.resume-header{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.resume-topbar{justify-content:flex-end;align-items:center;gap:.25rem;margin-bottom:.25rem;display:flex}.resume-identity{flex-wrap:wrap;align-items:center;gap:clamp(.75rem,3vw,1.25rem);min-width:0;display:flex}.resume-headings{min-width:0}.resume-avatar{object-fit:cover;border:1px solid var(--resume-border);border-radius:50%;flex:none;width:clamp(64px,18vw,96px);height:clamp(64px,18vw,96px)}.resume-header h1{margin:0;font-size:clamp(1.9rem,6vw,2.75rem);line-height:1.1}.theme-toggle{width:44px;height:44px;color:var(--resume-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;margin:-.4rem -.5rem 0 0;transition:background-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{background:var(--resume-tag-bg);color:var(--resume-accent)}.theme-toggle:focus-visible{outline:2px solid var(--resume-accent);outline-offset:2px}.lang-toggle{width:44px;height:44px;color:var(--resume-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-top:-.4rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.lang-toggle:hover{background:var(--resume-tag-bg);color:var(--resume-accent)}.lang-toggle:focus-visible{outline:2px solid var(--resume-accent);outline-offset:2px}.resume-title{color:var(--resume-muted);margin:.35rem 0 0;font-size:clamp(1rem,3vw,1.2rem)}.resume-location{color:var(--resume-muted)}.resume-contacts{flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;display:flex}.resume-contacts a{width:44px;height:44px;color:var(--resume-muted);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.resume-contacts a:hover,.resume-contacts a:focus-visible{background:var(--resume-tag-bg);color:var(--resume-accent)}.resume-contacts a:focus-visible{outline:2px solid var(--resume-accent);outline-offset:2px}.resume-section{margin-top:clamp(1.5rem,4vw,2.25rem)}.resume-section>h2{text-transform:uppercase;letter-spacing:.08em;color:var(--resume-muted);border-bottom:1px solid var(--resume-border);margin:0 0 .85rem;padding-bottom:.4rem;font-size:.8rem;font-weight:700}.section-heading{scroll-margin-top:clamp(1rem,4vw,2rem)}.heading-anchor{color:var(--resume-muted);opacity:0;margin-left:.4rem;text-decoration:none;transition:opacity .15s}.section-heading:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{color:var(--resume-accent)}.resume-section p{margin:0;line-height:1.65}.entry-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem 1rem;display:flex}.resume--cv .entry--onresume{position:relative}.resume--cv .entry--onresume:before{content:"";background:color-mix(in srgb, var(--resume-accent) 35%, transparent);width:1px;position:absolute;top:0;bottom:0;left:-.85rem}.entry--dated{grid-template-columns:var(--entry-date-col,10rem) 1fr;align-items:baseline;column-gap:1.25rem;display:grid}.entry-content{flex-direction:column;align-items:flex-start;display:flex}.entry--dated .entry-meta{text-align:right}.entry-title{font-size:1.05rem;font-weight:600}.entry-title--plain{font-weight:400}.entry-org{color:var(--resume-accent);font-weight:600}.entry-meta{color:var(--resume-muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.entry-title a{color:var(--resume-accent);text-decoration:none}.entry-title a:hover,.entry-title a:focus-visible{text-decoration:underline}.entry-link{vertical-align:middle;color:var(--resume-muted);align-items:center;margin-left:.35rem;text-decoration:none;display:inline-flex}.entry-link:hover,.entry-link:focus-visible{color:var(--resume-accent);text-decoration:none}.entry-title .entry-link{color:var(--resume-muted)}.entry-title .entry-link:hover,.entry-title .entry-link:focus-visible{color:var(--resume-accent)}.entry-highlights{flex-direction:column;gap:.35rem;margin:.55rem 0 0;padding-left:1.15rem;display:flex}.entry-highlights li{line-height:1.6}.entry-subtitle{margin-top:.2rem;font-size:.95rem;display:inline-block}.entry-desc{line-height:1.55;margin-top:.55rem!important}.entry-lab{color:var(--resume-muted);margin-top:.2rem;font-size:.9rem}.entry-projects{flex-direction:column;gap:.7rem;margin-top:.7rem;display:flex}.entry-project{border-left:2px solid var(--resume-border);padding-left:.9rem}.entry-project-name{letter-spacing:.04em;text-transform:uppercase;color:var(--resume-accent);font-size:.8rem;font-weight:700}.entry-project .entry-highlights{margin-top:.4rem;font-size:.95rem}.tech-stack{flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.tech-chip{background:var(--resume-tag-bg);color:var(--resume-tag-fg);border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.talk-venue,.activity-org{color:var(--resume-muted);font-weight:400}.award-rank{vertical-align:.08em;white-space:nowrap;background:var(--resume-tag-bg);color:var(--resume-tag-fg);border-radius:999px;margin-right:.5rem;padding:.05rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.award-rank--gold{background:color-mix(in srgb, var(--medal-gold) 20%, transparent);color:var(--medal-gold)}.award-rank--silver{background:color-mix(in srgb, var(--medal-silver) 24%, transparent);color:var(--medal-silver)}.award-rank--bronze{background:color-mix(in srgb, var(--medal-bronze) 20%, transparent);color:var(--medal-bronze)}.award-name{font-weight:400}.contact-list{gap:.55rem}.contact-list .entry-meta svg{vertical-align:-.15em;color:var(--resume-accent);margin-left:.4rem}.contact-value{color:var(--resume-muted);overflow-wrap:anywhere;text-decoration:none}.contact-value:hover,.contact-value:focus-visible{color:var(--resume-accent);text-decoration:underline}.conf-names{line-height:1.5}.community-children{border-left:1px solid var(--resume-border);flex-direction:column;gap:.25rem;margin:.3rem 0 0;padding-left:1rem;list-style:none;display:flex}.community-children li{color:var(--resume-muted);font-size:.95rem}.community-year{color:var(--resume-muted);margin-right:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;font-weight:400}.interest-sections{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,2.25rem);margin-top:clamp(1.5rem,4vw,2.25rem);display:grid}.interest-sections>.resume-section{margin-top:0}@media (width<=560px){.interest-sections{grid-template-columns:1fr}}.interest-list{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.interest{background:var(--resume-tag-bg);color:var(--resume-tag-fg);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.9rem;display:inline-flex}.interest svg{color:var(--resume-accent)}@media (width<=480px){.entry-head{flex-direction:column}.entry--dated{grid-template-columns:1fr;row-gap:.15rem}.entry--dated .entry-meta{text-align:left}.entry-meta{white-space:normal}}.resume-footer{border-top:1px solid var(--resume-border);color:var(--resume-muted);text-align:right;margin-top:clamp(1.5rem,4vw,2.25rem);padding-top:.85rem;font-size:.8rem}@media print{:root{--resume-accent:#1a1a1a;--resume-muted:#444;--resume-border:#ccc;--resume-tag-bg:transparent;--resume-tag-fg:#1a1a1a}.resume{color:#000;max-width:none;padding:0}.theme-toggle,.lang-toggle{display:none}.resume-contacts a{color:#000;width:auto;height:auto}.skill-tag{border:1px solid #999}}
