:root{--paper-base: #FBF7F0;--paper-secondary: #F7F3EA;--ink-primary: #1A2330;--ink-body: #24303A;--accent-jade: #1E4F49;--ink-muted: #5C564C;--accent-jade-light: #8EAEA8;--accent-jade-wash: #E4EFEA;--stroke-paper: #C9C2B4;--bg-journal: linear-gradient(180deg, #F6F2E8 0%, #EFE6D6 100%);--font-serif: "Noto Serif SC", "Songti SC", serif;--font-sans: "Noto Sans SC", "PingFang SC", sans-serif;--font-hand: "Ma Shan Zheng", "Kaiti SC", cursive;--weight-serif: 600;--weight-sans: 400;--weight-sans-medium: 500;--weight-hand: 400;--line-body: 1.6;--line-display: 1.65;--line-name: 1.15;--size-84: 5.25rem;--size-52: 3.25rem;--size-48: 3rem;--size-32: 2rem;--size-28: 1.75rem;--size-26: 1.625rem;--size-24: 1.5rem;--size-22: 1.375rem;--size-20: 1.25rem;--size-18: 1.125rem;--size-16: 1rem;--size-15: .9375rem;--size-14: .875rem;--size-13: .8125rem;--size-12: .75rem;--space-4: .25rem;--space-6: .375rem;--space-8: .5rem;--space-10: .625rem;--space-12: .75rem;--space-14: .875rem;--space-16: 1rem;--space-22: 1.375rem;--space-24: 1.5rem;--space-28: 1.75rem;--space-36: 2.25rem;--space-40: 2.5rem;--space-48: 3rem;--card-padding-default: .875rem 1rem;--card-padding-compact: .75rem .875rem;--page-padding-desktop: 4.5rem 5rem 5.5rem 5rem;--page-padding-narrow: 2.25rem 1.5rem 3rem 1.5rem;--radius-default: 3px;--radius-compact: 2px;--stroke-paper-width: 1px;--shadow-card: 0px 8px 18px #1C243014;--track-dot-size: 36px}@font-face{font-family:"Noto Serif SC";src:url(/fonts/NotoSerifSC-subset.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-subset.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Ma Shan Zheng;src:url(/fonts/MaShanZheng-subset.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--ink-body);background:var(--paper-base)}body{margin:0;min-block-size:100vh;background:var(--bg-journal);background-attachment:fixed;font-family:var(--font-sans);font-weight:var(--weight-sans);font-size:var(--size-15);line-height:var(--line-body);color:var(--ink-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:var(--weight-serif);color:var(--ink-primary)}h1{font-size:clamp(var(--size-48),5.83vw,var(--size-84));line-height:var(--line-name)}h2{font-size:clamp(var(--size-24),1.94vw,var(--size-28));line-height:1.3}h3{font-size:clamp(var(--size-22),1.8vw,var(--size-26));line-height:var(--line-body)}h4{font-size:var(--size-16);line-height:var(--line-body)}img{display:block;max-inline-size:100%}a{color:inherit}:focus-visible{outline:2px solid var(--accent-jade);outline-offset:4px}::selection{background:var(--accent-jade-wash);color:var(--ink-primary)}.page{inline-size:100%;max-inline-size:90rem;margin-inline:auto;padding:var(--page-padding-narrow);display:flex;flex-direction:column;gap:clamp(var(--space-22),2.8vw,var(--space-40))}.section{display:flex;flex-direction:column;gap:var(--space-12);scroll-margin-block-start:var(--space-24)}.section-title{text-wrap:balance}.site-footer{padding:var(--space-28) clamp(1.5rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);border-block-start:var(--stroke-paper-width) solid var(--stroke-paper)}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-24);font-size:var(--size-12);line-height:var(--line-body);color:var(--ink-muted)}.footer-icp,.footer-top-link{font-size:var(--size-12);line-height:var(--line-body);color:var(--ink-muted);text-decoration:none}.footer-icp:hover,.footer-icp:focus-visible,.footer-top-link:hover,.footer-top-link:focus-visible{color:var(--ink-body);text-decoration:underline}.skip-link{position:absolute;inset-block-start:0;inset-inline-start:var(--space-16);z-index:10;padding:var(--space-12) var(--space-16);background:var(--paper-base);border:1px solid var(--stroke-paper);border-radius:var(--radius-compact);color:var(--ink-primary);font-size:var(--size-15);text-decoration:none;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.anchor-target:focus{outline:none}.anchor-target:focus-visible{outline:2px solid var(--accent-jade);outline-offset:8px}.error-document{display:flex;flex-direction:column}.error-page{flex:1;display:grid;place-items:center;padding:clamp(var(--space-36),10vh,6rem) var(--space-24)}.error-page:focus{outline:none}.error-card{inline-size:100%;max-inline-size:34rem;gap:var(--space-12);padding:clamp(var(--space-24),4vw,var(--space-40))}.error-code{display:flex;align-items:center;gap:var(--space-10);color:var(--accent-jade);font-family:var(--font-serif);font-size:var(--size-14);font-weight:var(--weight-serif);letter-spacing:.08em}.error-code:before{content:"";flex:none;inline-size:22px;block-size:2px;background:var(--accent-jade)}.error-title{font-size:clamp(var(--size-28),3.2vw,var(--size-32));line-height:1.3;text-wrap:balance}.error-message{font-size:var(--size-16);line-height:var(--line-display)}.error-actions{margin-block-start:var(--space-8)}.cover{display:grid;gap:var(--space-22)}.cover-copy{display:flex;flex-direction:column;gap:var(--space-14);min-inline-size:0}.cover-role{display:flex;align-items:center;gap:var(--space-10);color:var(--accent-jade);font-size:var(--size-18);font-weight:var(--weight-sans-medium)}.cover-role:before{content:"";flex:none;inline-size:22px;block-size:2px;background:var(--accent-jade)}.cover-headline{color:var(--ink-primary);font-family:var(--font-serif);font-size:clamp(var(--size-32),3.61vw,var(--size-52));font-weight:var(--weight-serif);line-height:var(--line-display)}.cover-headline span{display:block}@media(max-width:26.999rem){.cover-headline{text-wrap:balance}.cover-headline span{display:inline}}.cover-intro{max-inline-size:44rem;font-size:clamp(var(--size-16),1.25vw,var(--size-18));line-height:var(--line-display)}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8) var(--space-16);margin:0;max-inline-size:52rem;font-size:var(--size-14)}.profile-facts>div{display:flex;flex-wrap:wrap;gap:0 var(--space-6);min-inline-size:0}.profile-facts dt{color:var(--ink-muted)}.profile-facts dd{min-inline-size:0;margin:0;overflow-wrap:anywhere}.profile-facts a{color:inherit;text-decoration-thickness:1px;text-underline-offset:2px}.advantage-list{display:grid;gap:var(--space-12);margin:0;padding:0;list-style:none;counter-reset:advantages}.advantage-list li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-12);align-items:start;min-inline-size:0}.advantage-number{color:var(--accent-jade);font-family:var(--font-serif);font-size:var(--size-16);font-weight:var(--weight-serif)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-12) var(--space-22)}.action-link{display:inline-flex;align-items:center;min-block-size:2.75rem;color:var(--ink-primary);font-family:var(--font-sans);font-size:var(--size-16);font-weight:var(--weight-sans-medium);text-decoration:none}.action-link--outline,.action-link--solid{justify-content:center;padding:var(--space-8) var(--space-16);border:1px solid var(--accent-jade);border-radius:var(--radius-default)}.action-link--outline{background:transparent;color:var(--accent-jade)}.action-link--solid{background:var(--accent-jade);color:var(--paper-base)}.action-link:hover{color:var(--accent-jade)}.action-link--outline:hover{background:var(--accent-jade-wash);color:var(--accent-jade)}.action-link--solid:hover{color:var(--paper-base)}.cover-papers{display:flex;flex-direction:column;gap:var(--space-22);min-inline-size:0}.cover-ink img{inline-size:100%;block-size:7.5rem;object-fit:cover;object-position:50% 100%;border-radius:var(--radius-default);border:1px solid var(--stroke-paper);opacity:.7}.email-card{display:flex;flex-direction:column;gap:var(--space-4);background:var(--paper-base);border:1px solid var(--stroke-paper);border-radius:var(--radius-compact);padding:var(--card-padding-compact)}.email-label{color:var(--accent-jade);font-size:var(--size-13);font-weight:var(--weight-sans-medium)}.email-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);min-inline-size:0}.email-link{color:var(--ink-primary);font-size:var(--size-15);overflow-wrap:anywhere;text-decoration:none}.email-link:hover{color:var(--accent-jade)}.copy-button{padding:.125rem var(--space-6);background:var(--paper-base);border:1px solid var(--stroke-paper);border-radius:var(--radius-compact);color:var(--accent-jade);font-family:var(--font-sans);font-size:var(--size-13);font-weight:var(--weight-sans-medium);line-height:1.4;cursor:pointer}.copy-button:hover{background:var(--accent-jade-wash)}.timeline-section{gap:clamp(var(--space-28),2.5vw,var(--space-36))}.timeline-list{display:flex;flex-direction:column;gap:clamp(var(--space-28),2.5vw,var(--space-36))}.segment{display:grid;gap:var(--space-10);scroll-margin-block-start:var(--space-24)}.segment-track{display:flex;align-items:center;gap:var(--space-10)}.segment-dot{display:grid;flex:none;place-items:center;inline-size:var(--track-dot-size);block-size:var(--track-dot-size);border-radius:50%;background:var(--accent-jade);color:var(--paper-secondary);font-family:var(--font-serif);font-size:var(--size-13);font-weight:var(--weight-serif)}.segment-line{flex:none;inline-size:2.25rem;block-size:2px;background:var(--accent-jade-light)}.segment-left{display:flex;flex-direction:column;gap:var(--space-8);min-inline-size:0}.segment-period{color:var(--accent-jade);font-size:var(--size-14)}.segment-company{color:var(--ink-muted);font-size:var(--size-15)}.segment-summary{color:var(--ink-body);font-size:var(--size-15);line-height:var(--line-body)}.responsibility-list{display:grid;gap:var(--space-8);margin:0;padding-inline-start:1.25rem;color:var(--ink-body);font-size:var(--size-14);line-height:var(--line-body);overflow-wrap:anywhere}.responsibility-list li::marker{color:var(--accent-jade)}.segment-collage{display:flex;flex-direction:column;gap:var(--space-12);min-inline-size:0}.collage-cards{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-14);min-inline-size:0}.collage-card{flex:none}.collage-annotation{align-self:flex-start}.annotation{color:var(--accent-jade);font-family:var(--font-hand);font-size:clamp(var(--size-20),1.53vw,var(--size-22));font-weight:var(--weight-hand);line-height:1.25}.paper-card{display:flex;flex-direction:column;gap:var(--space-6);background:var(--paper-base);border:1px solid var(--stroke-paper);border-radius:var(--radius-default);box-shadow:var(--shadow-card);padding:var(--card-padding-default);transform:rotate(var(--rotate, 0deg))}.text-card{min-inline-size:0}.card-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:var(--size-16);font-weight:var(--weight-serif);line-height:var(--line-body)}.card-body{display:flex;flex-direction:column;gap:var(--space-6);color:var(--ink-body);font-size:var(--size-14);line-height:var(--line-body)}.card-meta{color:var(--accent-jade);font-size:var(--size-13);font-weight:var(--weight-sans-medium)}.photo-card{gap:var(--space-8);padding:var(--card-padding-compact)}.photo-card img{inline-size:100%;block-size:9.25rem;object-fit:cover;border-radius:var(--radius-compact);background:var(--paper-secondary)}.photo-card.card--s03-photo,.photo-card.card--s04-photo{inline-size:100%;max-inline-size:23.75rem}.photo-card.card--s03-photo img,.photo-card.card--s04-photo img{block-size:auto;object-fit:contain}.card--s05-editor{gap:var(--space-6)}.project-grid,.skills-grid,.education-list{display:grid;gap:var(--space-16);min-inline-size:0}.education-list{margin:0;padding:0;list-style:none}.project-card,.skill-card,.education-item{min-inline-size:0}.project-grid,.project-grid--featured,.project-grid--secondary{max-inline-size:68rem}.project-group-title{margin-block-start:var(--space-8);font-size:var(--size-22)}.projects-section .paper-card,.project-card{transform:none}.project-card--featured{gap:var(--space-12)}.project-card--secondary{gap:var(--space-8);background:var(--paper-secondary);box-shadow:none}.project-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4) var(--space-8);align-items:baseline}.project-heading--unnumbered{grid-template-columns:minmax(0,1fr)}.project-heading .project-number{color:var(--accent-jade);font-family:var(--font-serif);font-size:var(--size-13);font-weight:var(--weight-serif)}.project-heading .card-title{min-inline-size:0;overflow-wrap:anywhere}.project-period{grid-column:2;min-inline-size:0;color:var(--accent-jade);font-size:var(--size-14)}.project-heading--unnumbered .project-period{grid-column:1}.project-tech{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6);color:var(--ink-muted);font-size:var(--size-14);overflow-wrap:anywhere}.project-tech span{color:var(--accent-jade);font-size:var(--size-13);font-weight:var(--weight-sans-medium)}.tech-chips,.skill-list{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);margin:0;padding:0;list-style:none}.tech-chips li,.skill-list li{padding:var(--space-4) var(--space-8);border:1px solid var(--stroke-paper);border-radius:var(--radius-compact);background:var(--paper-base);color:var(--ink-body);font-family:var(--font-sans);font-size:var(--size-14);font-weight:var(--weight-sans);line-height:var(--line-body)}.project-tech .tech-chips li{padding:0;border:none;background:none}.project-summary{color:var(--ink-body);font-size:var(--size-15);line-height:var(--line-body)}.project-link{color:var(--accent-jade);font-family:var(--font-sans);font-size:var(--size-14);font-weight:var(--weight-sans);text-underline-offset:2px}.project-details .project-expand{width:fit-content;color:var(--accent-jade);font-family:var(--font-sans);font-size:var(--size-14);font-weight:var(--weight-sans);line-height:var(--line-body);cursor:pointer}.project-details .responsibility-list,.project-details .project-photos{margin-block-start:var(--space-8)}.project-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);align-items:start;min-inline-size:0}.project-photos .photo-card{min-inline-size:0;inline-size:100%}.project-photos .photo-card img{block-size:auto;object-fit:contain}@media(max-width:47.999rem){.project-photos{grid-template-columns:minmax(0,1fr)}.site-footer{align-items:flex-start;flex-direction:column;padding:var(--space-24) var(--space-16)}}.skill-note{color:var(--ink-muted);font-size:var(--size-12);line-height:var(--line-body)}.education-meta{display:flex;flex-wrap:wrap;gap:0 var(--space-12);color:var(--ink-muted);font-size:var(--size-12)}.contact-text{max-inline-size:42.5rem;font-size:var(--size-16);line-height:var(--line-body)}.contact-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-16)}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-16)}@media(min-width:64rem){.page{padding:var(--page-padding-desktop)}.actions{flex-direction:row;align-items:center;gap:var(--space-22)}.email-card{inline-size:fit-content}.section:not(.timeline-section){gap:var(--space-16)}.cover{grid-template-columns:minmax(0,760fr) minmax(17.5rem,472fr);gap:var(--space-48);align-items:start}.cover-papers{gap:var(--space-16)}.cover-ink img{block-size:18.75rem}.cover-copy{gap:var(--space-16)}.cover-intro{margin-block-start:var(--space-8)}.cover-papers{padding-block-start:var(--space-8)}.email-card{gap:var(--space-6);padding:var(--card-padding-default)}.email-link{font-size:var(--size-16)}.actions{gap:var(--space-22)}.segment{grid-template-columns:2.75rem minmax(16.25rem,23.75rem) minmax(0,1fr);gap:var(--space-24);align-items:start}.segment:not(:has(.segment-collage)){grid-template-columns:2.75rem minmax(16.25rem,46rem)}.segment-track{flex-direction:column;align-self:stretch;gap:var(--space-8)}.segment-line{flex:1;inline-size:2px;block-size:auto;min-block-size:2rem}.advantage-list{max-inline-size:68rem;gap:var(--space-16)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-16)}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.contact-row{flex-direction:row;align-items:center}}@media(max-width:63.999rem){.segment-collage{margin-block-start:var(--space-4)}.contact-row .email-card{inline-size:100%}}@media(max-width:81.999rem){.collage-cards{display:flex;flex-direction:column;gap:var(--space-14)}.collage-card{inline-size:100%;max-inline-size:none;margin-block-start:0;margin-inline-start:0}.photo-card img{block-size:8rem}.card--s01-photo{max-inline-size:18.75rem}.card--s01-text{--rotate: 1.2deg;max-inline-size:15.625rem;margin-inline-start:1.75rem}.card--s02-text{--rotate: -1deg;max-inline-size:13.75rem}.card--s02-photo{max-inline-size:18.75rem;margin-inline-start:1rem}.card--s03-photo{max-inline-size:19.375rem}.card--s03-text{--rotate: 1.2deg;max-inline-size:14.375rem;margin-inline-start:1.5rem}.card--s04-photo{max-inline-size:19.375rem}.card--s04-text{--rotate: -.8deg;max-inline-size:18.75rem;margin-inline-start:.75rem}.card--s05-editor{max-inline-size:none}.segment .annotation,.segment[data-number="01"] .annotation,.segment[data-number="02"] .annotation,.segment[data-number="03"] .annotation,.segment[data-number="04"] .annotation,.segment[data-number="05"] .annotation{transform:rotate(-1.5deg)}}@media(min-width:82rem){.collage-cards{flex-direction:row;align-items:flex-start;gap:0}.segment[data-number="01"] .segment-collage{min-block-size:19.375rem}.segment[data-number="01"] .card--s01-photo{--rotate: -1deg;inline-size:21.25rem;margin-inline-start:.5rem;margin-block-start:2.25rem}.segment[data-number="01"] .card--s01-text{--rotate: 2.2deg;inline-size:15.625rem;margin-inline-start:-3rem;margin-block-start:3rem}.segment[data-number="01"] .annotation{--rotate: -3deg;position:relative;z-index:1;margin-block-start:-4.375rem;margin-inline-start:1.75rem;transform:rotate(var(--rotate))}.segment[data-number="02"] .segment-collage{min-block-size:18.75rem}.segment[data-number="02"] .card--s02-text{--rotate: -2deg;inline-size:15.625rem;margin-inline-start:.5rem;margin-block-start:.75rem}.segment[data-number="02"] .card--s02-photo{--rotate: 1.3deg;inline-size:22.5rem;margin-inline-start:-1.75rem;margin-block-start:1.75rem}.segment[data-number="02"] .annotation{--rotate: -2deg;position:relative;z-index:1;margin-block-start:-1.875rem;margin-inline-start:2.25rem;transform:rotate(var(--rotate))}.segment[data-number="03"] .segment-collage{min-block-size:17.5rem}.segment[data-number="03"] .card--s03-photo{--rotate: -.8deg;inline-size:23.75rem;margin-inline-start:.75rem;margin-block-start:1.75rem}.segment[data-number="03"] .card--s03-text{--rotate: 2.4deg;inline-size:15rem;margin-inline-start:-3.25rem;margin-block-start:5.375rem}.segment[data-number="03"] .annotation{--rotate: -2.5deg;position:relative;z-index:1;margin-block-start:-3.25rem;margin-inline-start:1.5rem;transform:rotate(var(--rotate))}.segment[data-number="04"] .segment-collage{min-block-size:23.125rem}.segment[data-number="04"] .card--s04-photo{--rotate: -.6deg;inline-size:25rem;margin-inline-start:.5rem;margin-block-start:1.5rem}.segment[data-number="04"] .card--s04-text{--rotate: 1.8deg;inline-size:20rem;margin-inline-start:-6.75rem;margin-block-start:9.375rem}.segment[data-number="04"] .annotation{--rotate: -3deg;position:relative;z-index:1;margin-block-start:1.625rem;margin-inline-start:1rem;transform:rotate(var(--rotate))}}@media(pointer:coarse){.action-link{padding-block:var(--space-8);min-block-size:2.75rem}.copy-button{min-block-size:2.75rem}}@media(prefers-reduced-motion:no-preference){.action-link,.email-link{transition:color .16s ease}@supports (animation-timeline: view()){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 60%}}}@keyframes reveal{0%{opacity:.72;transform:translateY(10px)}to{opacity:1;transform:none}}
