.resume-page main{--resume-measure:70ch;--resume-rail:168px;--resume-gap:48px;width:min(1040px,100% - 48px);padding-block:88px 96px}.resume-page main:lang(zh){--resume-measure:44em}.resume :is(h1,h2,h3,h4,p,ul,ol,dl,dd){margin:0}.resume-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker kicker""name name""role download""location download";align-items:end;column-gap:32px;padding-bottom:40px;display:grid}.resume-kicker{color:var(--thermal-accent);letter-spacing:.02em;grid-area:kicker;font-size:.875rem;font-weight:700}.resume-header h1{letter-spacing:-.015em;grid-area:name;margin-top:12px;font-size:clamp(2.25rem,4.2vw,3.25rem);font-weight:700;line-height:1.1}.resume-role{grid-area:role;font-size:1.1875rem;line-height:1.45;margin-top:14px!important}.resume-location{color:var(--thermal-secondary);grid-area:location;font-size:.9375rem;margin-top:4px!important}.resume-download{border:1px solid var(--thermal-line);background:var(--thermal-card);min-height:44px;color:var(--thermal-text);white-space:nowrap;border-radius:999px;grid-area:download;align-self:end;align-items:center;gap:8px;padding:0 18px;font-size:.9375rem;transition:border-color .2s,background-color .2s;display:inline-flex}.resume-download svg{fill:none;stroke:var(--d1-link);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.resume-download:hover{border-color:var(--thermal-secondary);text-decoration:none}.resume-section{border-top:1px solid var(--thermal-line);padding-block:40px}.resume-section>h2{letter-spacing:-.01em;margin-bottom:28px;font-size:1.5rem;font-weight:700;line-height:1.3}.resume-roles{gap:40px;padding:0;list-style:none;display:grid}.resume-entry{grid-template-columns:var(--resume-rail) minmax(0, 1fr);column-gap:var(--resume-gap);display:grid}.resume-when{color:var(--thermal-secondary);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;padding-top:3px;font-size:.875rem;line-height:1.5;display:flex}.resume-when>span:first-child{color:var(--thermal-text)}.resume-entry-body{min-width:0;max-width:var(--resume-measure)}.resume-entry-body h3{font-size:1.1875rem;font-weight:700;line-height:1.4}.resume-field{color:var(--thermal-secondary);font-size:.9375rem;margin-top:2px!important}.resume-highlights{padding-inline-start:1.15em;line-height:1.7;margin-top:14px!important}.resume-highlights li+li{margin-top:4px}.resume-highlights li::marker{color:var(--thermal-secondary)}.resume-projects{margin-top:24px}.resume-projects-label{color:var(--thermal-secondary);letter-spacing:.02em;font-size:.8125rem;margin-bottom:8px!important}.resume-project{border-top:1px solid var(--thermal-line);scroll-margin-top:76px}.resume-project:last-child{border-bottom:1px solid var(--thermal-line)}.resume-project>summary{cursor:pointer;border-radius:4px;gap:2px;padding:16px 40px 16px 0;list-style:none;display:grid;position:relative}.resume-project>summary::-webkit-details-marker{display:none}.resume-project>summary:after{content:"";border-right:1.6px solid var(--thermal-secondary);border-bottom:1.6px solid var(--thermal-secondary);width:8px;height:8px;transition:transform .2s;position:absolute;top:22px;right:8px;transform:rotate(45deg)}.resume-project[open]>summary:after{top:26px;transform:rotate(-135deg)}.resume-project>summary:hover .resume-project-title{text-underline-offset:.2em;text-decoration:underline}.resume-project>summary:focus-visible{outline-offset:2px}.resume-project-title{color:var(--thermal-text);font-size:1.0625rem;font-weight:700;line-height:1.45}.resume-project-summary{color:var(--thermal-secondary);font-size:.9375rem;line-height:1.5}.resume-project-figures{color:var(--thermal-secondary);flex-wrap:wrap;gap:2px 20px;margin-top:6px;font-size:.875rem;line-height:1.5;display:flex}.resume-figure{color:var(--thermal-text);font-variant-numeric:tabular-nums;white-space:nowrap}.resume-project-body{padding:4px 0 28px;font-size:.9375rem;line-height:1.75}.resume-project-meta,.resume-metrics{grid-template-columns:max-content minmax(0,1fr);column-gap:24px;display:grid}.resume-project-meta>div,.resume-metrics>div{grid-column:1/-1;grid-template-columns:subgrid;border-bottom:1px solid var(--thermal-line);align-items:baseline;padding-block:8px;display:grid}.resume-project-meta>div:first-child{border-top:1px solid var(--thermal-line)}.resume-project-meta dt,.resume-metrics dt{color:var(--thermal-secondary);font-size:.875rem}.resume-project-body h4{margin:28px 0 6px;font-size:1rem;font-weight:700;line-height:1.4}.resume-prose>:is(p,ul,ol){max-width:none;margin:0 0 .75em}.resume-prose>:last-child{margin-bottom:0}.resume-prose :is(ul,ol){padding-inline-start:1.15em}.resume-metrics{border-top:1px solid var(--thermal-line)}.resume-metrics dt{grid-column:1}.resume-metric-value{font-variant-numeric:tabular-nums;grid-column:2}.resume-metric-note{color:var(--thermal-secondary);grid-column:2;font-size:.875rem;line-height:1.55}.resume-list{max-width:calc(var(--resume-rail) + var(--resume-gap) + var(--resume-measure));gap:10px;padding:0;line-height:1.65;list-style:none;display:grid}.resume-list>li{grid-template-columns:var(--resume-rail) minmax(0, 1fr);column-gap:var(--resume-gap);display:grid}.resume-list>li>:only-child{grid-column:2}.resume-languages>li{padding-inline-start:calc(var(--resume-rail) + var(--resume-gap));display:block}.resume-list-term{color:var(--thermal-secondary);font-size:.875rem;line-height:1.9}.resume-page .site-footer{margin-top:0}@media (width<=52rem){.resume-page main{--resume-rail:1fr}.resume-entry,.resume-list>li{grid-template-columns:1fr;row-gap:6px}.resume-when{flex-flow:wrap;gap:0 12px;padding-top:0}.resume-list>li>:only-child{grid-column:1}.resume-languages>li{padding-inline-start:0}.resume-list{gap:16px}.resume-list-term{line-height:1.5}}@media (width<=42rem){.resume-page main{width:calc(100% - 40px);padding-block:40px 56px}.resume-header{grid-template-columns:1fr;grid-template-areas:"kicker""name""role""location""download";padding-bottom:32px}.resume-header h1{margin-top:8px}.resume-role{font-size:1.0625rem;margin-top:10px!important}.resume-download{justify-self:start;margin-top:20px}.resume-section{padding-block:32px}.resume-section>h2{margin-bottom:20px;font-size:1.375rem}.resume-roles{gap:32px}.resume-project-meta,.resume-metrics{grid-template-columns:1fr}.resume-project-meta>div,.resume-metrics>div{grid-template-columns:1fr;padding-block:10px}.resume-metrics dt,.resume-metric-value,.resume-metric-note{grid-column:1}}@media (prefers-reduced-motion:reduce){.resume-project>summary:after,.resume-download{transition:none}}@media print{.resume-download,.resume-project>summary:after{display:none}}
