:root{--hb-trad-red:#C98F65;--hb-trad-green:#6B7F5E;--hb-trad-gold:#D4AF37;--hb-trad-blue:#CDE0E6;--hb-trad-mauve:#BFA7B5;--hb-trad-ink:#1F2F3F;--hb-color-background:#F9E7D1;--hb-color-foreground:var(--hb-trad-ink);--hb-color-header-bg:#38455D;--hb-color-header-fg:#F9E7D1;--hb-color-footer-bg:var(--hb-trad-ink);--hb-color-footer-fg:var(--hb-trad-blue)}.dark{--hb-color-background:#38455D;--hb-color-foreground:var(--hb-trad-blue);--hb-color-header-bg:#38455D;--hb-color-header-fg:#F9E7D1;--hb-color-footer-bg:var(--hb-trad-ink);--hb-color-footer-fg:var(--hb-trad-mauve)}::selection{background:var(--hb-trad-gold);color:var(--hb-trad-ink)}a{text-underline-offset:.18em}.navbar-brand,.navbar-nav .active,.page-footer a:hover{color:var(--hb-trad-gold)}.hb-section,.page-body{background:radial-gradient(circle at 12% 6%,color-mix(in srgb,#7C8FA3 32%,transparent),transparent 28rem),radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--hb-trad-gold) 20%,transparent),transparent 24rem)}.prose blockquote{border-left-color:var(--hb-trad-gold)}.prose mark,.article-metadata .badge,.tag{background-color:color-mix(in srgb,var(--hb-trad-gold) 22%,white);color:var(--hb-trad-ink)}.dark .prose mark,.dark .article-metadata .badge,.dark .tag{background-color:color-mix(in srgb,var(--hb-trad-gold) 22%,white);color:var(--hb-trad-blue)}.card,[role=article]{border-color:color-mix(in srgb,var(--hb-trad-mauve) 52%,transparent)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--hb-trad-gold);outline-offset:3px}.resume-biography>.max-w-7xl{width:min(100%,100rem);max-width:100rem;margin-inline:auto}.resume-biography .bio-text{max-width:none;width:100%;white-space:pre-line}@media(min-width:768px){.resume-biography .md\:col-span-8>.mb-12:first-child>.prose{width:auto;max-width:none;margin-right:10em}}.resume-biography .bio-text p{margin:0}.resume-biography .bio-text p+p{margin-top:0}.resume-biography .md\:col-span-8>.mb-12:first-child{margin-bottom:1.5rem}.resume-biography .md\:col-span-8>.mb-12:first-child>.flex.items-center.gap-4.mb-8{margin-bottom:1rem}.resume-biography .md\:col-span-8>.mb-16>.grid{grid-template-columns:minmax(0,1fr)}.resume-biography .md\:col-span-8>.mb-16>.grid>.group{width:100%}.resume-biography .md\:col-span-8>.mb-16>.grid>.group>.flex>.flex-shrink-0.w-12.h-12{background-image:url(/media/icons/custom/zhejiang-university-logo.png);background-position:50%;background-repeat:no-repeat;background-size:78%}.resume-biography .md\:col-span-8>.mb-16>.grid>.group>.flex>.flex-shrink-0.w-12.h-12>svg{display:none}@media(min-width:768px){.resume-biography .md\:col-span-8>.mb-16{margin-right:10em}.resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow{display:flex;flex-direction:column}.resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow>p.text-gray-700{order:-1;margin-top:0;margin-bottom:.5rem}.resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow>p.text-xl{font-size:1rem;font-weight:400;color:var(--color-gray-500)}.resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow>p.text-gray-700{font-size:1.25rem;font-weight:700;color:var(--color-gray-900)}.dark .resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow>p.text-xl{color:var(--color-gray-400)}.dark .resume-biography .md\:col-span-8>.mb-16>.grid>.group .flex-1.flex-grow>p.text-gray-700{color:var(--color-white)}}.resume-biography .md\:col-span-8>div:last-child>.flex.items-center.gap-4.mb-8>h3{font-size:1.25rem;line-height:1.75rem}@media(min-width:640px){.resume-biography .md\:col-span-8>div:last-child>.flex.items-center.gap-4.mb-8>h3{font-size:1.5rem;line-height:2rem}}@media(min-width:1024px){.resume-biography .md\:col-span-8>div:last-child>.flex.items-center.gap-4.mb-8>h3{font-size:1.875rem;line-height:2.25rem}}#section-resume-biography-3>.absolute.inset-0.-z-10>div:nth-child(2){background-color:rgb(201 143 101/.2)!important}#section-resume-biography-3>.absolute.inset-0.-z-10>div:nth-child(3){background-color:rgb(168 184 154/16%)!important}html:not(.dark) .navbar-brand{color:#f9e7d1}html:not(.dark) .navbar-nav .active{color:#c98f65}.dark .navbar-brand{color:#f9e7d1}.dark .navbar-nav .active{color:#c98f65}.dark .resume-biography [class*="dark:bg-primary-900/50"]{background-color:#1f2937!important}.dark .resume-biography span[class*="dark:border-primary-800/50"]:not(:hover){border-color:transparent!important}.page-body #share-link-x,.page-body #share-link-facebook,.page-body #share-link-email,.page-body #share-link-linkedin,.page-body #share-link-whatsapp{display:none!important}.page-footer [data-hbx=poweredby_cta]{display:none!important}body:has(.article-header img[src^="/blog/"]) .prose[data-pagefind-body],body:has(.article-header img[src^="/jottings/"]) .prose[data-pagefind-body],body:has(.article-header img[src^="/friends/"]) .prose[data-pagefind-body],body:has(.article-header img[src*="/projects/zju-hpc-2026/"]) .prose[data-pagefind-body]{max-width:calc(65ch + 20em);font-size:.95rem!important;line-height:1.7}body:has(.article-header img[src^="/blog/point-set-topology-exercises/"]) .prose[data-pagefind-body] p:has(>img){margin-block:.3rem!important;line-height:1!important}body:has(.article-header img[src^="/blog/point-set-topology-exercises/"]) .prose[data-pagefind-body] p:has(>img)>img{display:block;margin:0!important}body:has(.article-header img[src*="/projects/zju-hpc-2026/"]) .page-body{margin-top:0!important;margin-bottom:0!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body>.flex.flex-col.items-center>div.container{width:100%;max-width:none;padding-inline:2rem}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body .container:has([role=article]){width:100%!important;max-width:none!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body .container:has([role=article])>.grid{grid-template-columns:minmax(0,1fr)!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body>.flex.flex-col.items-center>div.container>.grid{grid-template-columns:minmax(0,1fr)}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]{display:grid;grid-template-columns:minmax(16rem,32%)minmax(0,1fr);align-items:stretch;border-radius:1rem;overflow:hidden}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child{min-height:18rem;aspect-ratio:auto}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:nth-child(2){display:flex;flex-direction:column;justify-content:center}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]{transition:none!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]:hover{grid-template-columns:minmax(16rem,32%)minmax(0,1fr)!important;transform:none!important;box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child img,:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child>div.absolute{transition:none!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child img{object-fit:cover!important;transform:none!important;filter:none!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child>div.absolute{opacity:0!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child::after,:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:nth-child(2){transition:none!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:first-child::after{opacity:0!important}:is(body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"])) .page-body [role=article]>div:nth-child(2){transform:none!important}:is(body:has(.page-body a[href^="/blog/"]),body:has(.page-body a[href^="/jottings/"]),body:has(.page-body a[href^="/projects/"])) .page-body [role=article],:is(body:has(.page-body a[href^="/blog/"]),body:has(.page-body a[href^="/jottings/"]),body:has(.page-body a[href^="/projects/"])) .page-body [role=article] *{transition:none!important;animation:none!important}:is(body:has(.page-body a[href^="/blog/"]),body:has(.page-body a[href^="/jottings/"]),body:has(.page-body a[href^="/projects/"])) .page-body [role=article]:hover,:is(body:has(.page-body a[href^="/blog/"]),body:has(.page-body a[href^="/jottings/"]),body:has(.page-body a[href^="/projects/"])) .page-body [role=article]:hover img,:is(body:has(.page-body a[href^="/blog/"]),body:has(.page-body a[href^="/jottings/"]),body:has(.page-body a[href^="/projects/"])) .page-body [role=article] img{transform:none!important}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2)>div:last-child{padding-top:0!important;border-top:0!important}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child,body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:last-child{padding-top:0!important;border-top:0!important}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child{display:none!important}:is( body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/friends/"]) ) .page-body{background:0 0!important}body:has(.article-header img[src^="/friends/"]) .page-body{background:0 0!important}body:has(a[href="/jottings/peer-tutoring-this-year/"]) .page-body{background:0 0!important}body:has(#section-content-collection) .page-body{margin-top:2.5rem!important}body:has(#section-content-collection) .page-body>#section-content-collection{margin-top:0!important}#section-content-collection>.home-section-bg{display:none!important}body:has(#section-content-collection) .page-body{background:0 0!important}body:has(#section-content-collection) #section-content-collection{padding-top:0!important}body:has(.page-body [role=article] a[href^="/blog/"]) .page-body>.flex.flex-col.items-center>div.container,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body>.flex.flex-col.items-center>div.container,body:has(.page-body [role=article] a[href^="/blog/"]) .page-body .container:has([role=article]),body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body .container:has([role=article]){width:100%!important;max-width:none!important;padding-inline:2rem}@media(min-width:768px){body:has(.page-body [role=article] a[href^="/blog/"]) .page-body .container:has([role=article])>.grid,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body .container:has([role=article])>.grid,body:has(.page-body [role=article] a[href^="/blog/"]) .page-body>.flex.flex-col.items-center>div.container>.grid,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body>.flex.flex-col.items-center>div.container>.grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}body:has(.page-body [role=article] a[href^="/blog/"]) .page-body [role=article],body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body [role=article]{display:block!important}body:has(.page-body [role=article] a[href^="/blog/"]) .page-body [role=article]>div:first-child,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body [role=article]>div:first-child{min-height:0!important;aspect-ratio:16/9!important}body:has(.page-body [role=article] a[href^="/blog/"]) .page-body [role=article]>div:nth-child(2),body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body [role=article]>div:nth-child(2){display:block!important;padding:1.25rem!important}body:has(.page-body [role=article] a[href^="/blog/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child>div:first-child,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child>div:first-child,body:has(.page-body [role=article] a[href^="/blog/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child>span.mx-1,body:has(.page-body [role=article] a[href^="/jottings/"]) .page-body [role=article]>div:nth-child(2)>div:last-child>div:first-child>span.mx-1{display:none!important}@media(max-width:1023px),(hover:none) and (pointer:coarse){:is( body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"]) ) .page-body .container:has([role=article])>.grid,:is( body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"]) ) .page-body>.flex.flex-col.items-center>div.container>.grid{grid-template-columns:minmax(0,1fr)!important}:is( body:has(.page-body [role=article] a[href^="/blog/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/jottings/"]),body:has(.page-body [role=article] a[href^="/projects/"]) ) .page-body [role=article]{width:100%!important;min-width:0!important}body:has(.page-body [role=article] a[href^="/projects/"]) .page-body [role=article]{display:block!important;grid-template-columns:none!important;min-height:0!important;height:auto!important}body:has(.page-body [role=article] a[href^="/projects/"]) .page-body [role=article]>div:first-child{min-height:0!important;aspect-ratio:16/9!important}body:has(.page-body [role=article] a[href^="/projects/"]) .page-body [role=article]>div:nth-child(2){display:block!important;padding:1.25rem!important}}@media(min-width:768px){body:has(.page-body [role=article] a[href^="/friends/"]) .page-body .container:has([role=article])>.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]{width:100%;min-width:0}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2){display:block!important;padding:1.25rem!important}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2) h3{font-size:1.25rem!important;line-height:1.25!important}body:has(.page-body [role=article] a[href^="/friends/"]) .page-body [role=article]>div:nth-child(2)>p{font-size:1rem!important;line-height:1.625!important}