:root{--paper:#FBF6E9;--ink:#342F24;--muted:#756D5B;--line:#E4D9C0;--blue:#755719;--yellow:#E8BD4A;--surface:#F0E6CE;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}header{max-width:1440px;margin:auto;padding:20px 6%;display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.brand{font-size:38px;font-weight:800;line-height:1}.brand-dot,.blue{color:var(--blue)}nav{display:flex;gap:32px;font-size:14px}nav a{padding:6px 0}nav a.active{color:var(--blue)}.header-note{margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:12px}main,footer{max-width:1440px;margin:auto;padding:0 6%}.hero{padding-top:76px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px}.eyebrow,.small-label,.section-label>span,.entry-meta,.hero-foot,.signal-top,.signal-scale,.concept-note,.project-index{font-family:var(--mono);font-size:12px;letter-spacing:.06em}.eyebrow{margin:0 0 26px;color:var(--muted)}h1{font-size:clamp(44px,4.6vw,68px);line-height:1.07;font-weight:500;letter-spacing:-.055em;margin:0 0 26px}h1 .blue{display:block}.hero-copy{max-width:430px;color:var(--muted);font-size:17px;line-height:1.7}.button{display:inline-block;background:var(--ink);color:white;padding:12px 23px;margin-top:16px;font-size:14px}.button:hover{background:var(--blue);color:white}.signal-panel{color:var(--blue);background:var(--surface);padding:28px 28px 20px;display:flex;flex-direction:column;min-height:430px;position:relative;overflow:hidden}.signal-top{display:flex;justify-content:space-between;gap:16px;font-size:12px}.signal-title{font-size:clamp(35px,3.4vw,52px);line-height:1.1;letter-spacing:-.045em;margin:48px 0 15px}.signal-title em{font-family:Georgia,serif;font-weight:400}.signal{width:100%;height:135px;overflow:visible}.signal-scale{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #75571955;font-size:12px}.signal-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:24px}.signal-bottom p{font-size:13px;line-height:1.55;margin:0}.signal-bottom button{font:12px var(--mono);color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;cursor:pointer;white-space:nowrap}.concept-note{font-size:12px;margin-top:15px;opacity:.8}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 28px;color:var(--muted);gap:18px;font-size:12px}.section{padding:80px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.about,.experience{display:grid;grid-template-columns:240px 1fr;gap:55px}.section-label>span{color:var(--muted)}h2{font-size:42px;line-height:1.16;font-weight:500;letter-spacing:-.04em;margin:20px 0}.section-label>p{font-size:14px;color:var(--muted)}.large-copy{font-size:28px;letter-spacing:-.025em;line-height:1.4;margin:0 0 36px;max-width:740px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}.about-columns p{margin:0 0 20px;color:var(--muted)}h3{font-size:20px;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin:0 0 14px}.journey{display:grid;grid-template-columns:repeat(4,1fr);margin-top:24px;border-top:1px solid var(--line);padding-top:24px;gap:20px}.journey span{font:12px var(--mono);color:var(--blue);letter-spacing:.05em}.journey p{font-size:13px;line-height:1.55;color:var(--muted)}.languages{border-top:1px solid var(--line);padding-top:22px;margin-top:15px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline}.languages .small-label{width:100%;color:var(--muted)}.languages p{font-size:14px;margin:0}.languages p span{color:var(--muted);display:block;font-size:12px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:25px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.project{display:grid;grid-template-columns:55px 1fr 210px;gap:30px;border-top:1px solid var(--line);padding:36px 0}.project:last-child{padding-bottom:0}.project-index{color:var(--muted);padding-top:3px}.project-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-bottom:25px}.tag{font:12px var(--mono);letter-spacing:.04em;color:var(--blue)}.status{font-size:12px;color:var(--muted)}.project-body h3{font-size:36px;margin:0 0 8px;letter-spacing:-.04em}.project-sub{margin:0;color:var(--ink);font-size:16px}.project-body>p:not(.project-sub){max-width:590px;color:var(--muted)}details{margin-top:24px}summary{cursor:pointer;font-size:14px;width:fit-content;color:var(--blue);list-style:none;border-bottom:1px solid #75571955}summary::after{content:' +';margin-left:10px}details[open] summary::after{content:' −'}.detail-copy{border-left:2px solid var(--blue);padding:4px 20px;margin-top:22px}.detail-copy h4{margin:12px 0 4px;font-size:14px;font-weight:500}.detail-copy p{margin:0 0 14px;color:var(--muted);font-size:14px}.project-aside{background:var(--surface);padding:24px;color:var(--blue);align-self:start}.project-aside .small-label{font-size:12px}.project-aside p{font-size:32px;line-height:1.1;letter-spacing:-.03em;margin:25px 0}.project-aside p span{font-size:22px;line-height:1.6}.aside-rule{width:30px;height:1px;background:var(--blue);margin-bottom:16px}.project-aside>span:last-child{font-size:12px}.experience-list article{display:grid;grid-template-columns:155px 1fr;gap:28px;border-top:1px solid var(--line);padding:28px 0}.experience-list article:first-child{border-top:0;padding-top:0}.experience-list article:last-child{padding-bottom:0}.entry-meta{font-size:12px;color:var(--muted);padding-top:6px;line-height:1.7}.experience-list h3{font-size:24px;margin-bottom:5px}.experience-list .role{color:var(--ink);font-size:14px;margin:0 0 12px}.experience-list p{color:var(--muted);margin:0 0 12px}.experience-list a{color:var(--blue);font-size:14px;border-bottom:1px solid #75571955}.chinese{font-size:18px;color:var(--muted)}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.interest-grid>div{padding:30px 30px 10px 0}.interest-grid>div+div{border-left:1px solid var(--line);padding-left:30px}.interest-grid span{font:12px var(--mono);color:var(--muted)}.interest-grid h3{margin-top:24px;font-size:23px}.interest-grid p{color:var(--muted);font-size:16px;max-width:310px}.blog-empty{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:25px;gap:20px}.blog-empty span{color:var(--muted)}.blog-empty p{font-size:14px;margin:0}footer{display:flex;gap:30px;align-items:center;padding-top:32px;padding-bottom:40px}.footer-name{font-size:25px;letter-spacing:-.04em}footer p{font-size:13px;color:var(--muted)}footer>a:last-child{margin-left:auto;font-size:13px}@media(min-width:1600px){h1{font-size:68px}}@media(max-width:1050px){.header-note{display:none}.hero{gap:35px}.about,.experience{grid-template-columns:180px 1fr;gap:35px}.experience-list article{grid-template-columns:1fr;gap:10px}.project{grid-template-columns:35px 1fr 170px;gap:22px}.journey{grid-template-columns:1fr 1fr}.signal-top{flex-direction:column;gap:6px}}@media(max-width:720px){header{padding:18px 6%;gap:24px;justify-content:space-between}nav{gap:16px;font-size:14px}.brand{font-size:32px}.hero{padding-top:45px;grid-template-columns:1fr;gap:35px}h1{font-size:clamp(40px,9vw,62px)}.hero-copy{max-width:520px}.signal-panel{min-height:350px;padding:24px}.signal-title{margin-top:28px;font-size:44px}.signal-top{flex-direction:row}.hero-foot{flex-direction:column;gap:8px;padding-bottom:25px;font-size:12px}.section{padding:48px 0}.about,.experience{grid-template-columns:1fr;gap:20px}.section-label h2 br{display:none}.section-label h2{margin:12px 0 6px}h2{font-size:34px}.large-copy{font-size:25px}.about-columns{grid-template-columns:1fr;gap:10px}.journey{gap:14px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px}.project{grid-template-columns:1fr;gap:14px;padding:28px 0}.project-aside{display:none}.project-index{font-size:12px}.project-body h3{font-size:31px}.project-top{margin-bottom:18px}.experience-list article{padding:25px 0}.interest-grid{grid-template-columns:1fr}.interest-grid>div,.interest-grid>div+div{padding:24px 0 12px;border-left:0;border-bottom:1px solid var(--line)}.interest-grid h3{margin-top:12px}.interest-grid p{max-width:none}.blog-empty{align-items:flex-start;flex-direction:column;gap:8px}footer{flex-wrap:wrap;gap:12px 25px}footer p{width:100%;order:3;margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visit-home-meta{display:block;font:12px var(--mono);color:var(--muted);margin-top:12px}.experience-list h3 a{font-size:24px;color:var(--ink);border:0}.experience-list h3 a:hover{color:var(--blue)}

/* A: layout and typography. B: warm palette and rounded surfaces. */
.brand{font-size:26px;letter-spacing:-.05em}.brand-dot{color:var(--ink)}.blue{color:var(--ink)}
.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr);gap:48px;align-items:start;padding-top:64px}.hero h1{font-size:clamp(48px,5vw,72px);letter-spacing:-.05em}.hero h1 .blue{max-width:540px}.hero-copy{line-height:1.65}.button{background:var(--yellow);color:var(--ink);border-radius:8px;font-weight:500}.button:hover{background:#DCAF34;color:var(--ink)}.button span{margin-left:14px}
.signal-panel{background:var(--yellow);color:var(--ink);border-radius:24px;padding:30px;min-height:420px}.signal-title{font-size:clamp(30px,3vw,44px);margin-top:36px}.signal-title em{font:inherit;font-style:normal}.signal-top,.concept-note{color:#584620}.signal-scale{border-color:#58462050}.signal-bottom{margin-top:20px}.signal-window{height:143px;display:flex;justify-content:center;align-items:center;overflow:hidden}.signal{width:304px;height:143px;max-width:none;flex-shrink:0;animation:signal-motion 5s ease-in-out infinite;transform-origin:center}.signal-top{font-size:11px}.signal-scale{font-size:11px}.signal-bottom p{font-size:13px}.signal-panel button:focus-visible{outline-color:var(--ink)}
@keyframes signal-motion{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1)}}
.project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.project{display:flex;flex-direction:column;gap:16px;padding:30px;background:var(--surface);border:0;border-radius:14px}.project:last-child{padding-bottom:30px}.project-body h3{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.04em}.project-top{margin-bottom:20px;gap:10px}.project-aside{display:none}.project-index{color:var(--muted)}.tag{color:#584620}.project-body>p:not(.project-sub){font-size:15px}.project details{margin-top:22px}.detail-copy{border-color:var(--yellow)}.status{line-height:1.5}.section{padding-top:64px;padding-bottom:64px}.interest-grid>div{padding-right:24px}.interest-grid h3{font-size:22px}.blog-empty{background:var(--surface);border:0;border-radius:14px;padding:24px}.section-heading{margin-bottom:32px}
@media(max-width:1050px){.hero{gap:32px}.signal-panel{padding:24px}.signal-top{flex-direction:column;gap:6px}.project-grid{gap:24px}.project{padding:24px}.project:last-child{padding-bottom:24px}}
@media(max-width:720px){.hero{grid-template-columns:1fr;padding-top:42px;gap:32px}.hero h1{font-size:clamp(42px,10vw,64px)}.signal-panel{max-width:540px;min-height:350px}.signal-top{flex-direction:row;flex-wrap:wrap}.signal-title{font-size:38px;margin-top:24px}.hero-foot{margin-top:0}.project-grid{grid-template-columns:1fr;gap:22px}.section{padding-top:48px;padding-bottom:48px}.project{padding:26px}.project:last-child{padding-bottom:26px}.brand{font-size:24px}header{gap:16px}nav{gap:14px;font-size:13px}.blog-empty{padding:22px}}
@media(prefers-reduced-motion:reduce){.signal{animation:none}}
/* Full-width introductory banner from the selected A layout. */
.hero{background:var(--yellow);margin-inline:calc(50% - 50vw);padding:64px max(6vw,calc((100vw - 1268px)/2)) 40px;row-gap:40px}.hero .eyebrow,.hero-copy,.hero-foot{color:#584620}.hero-foot{border-color:#58462040;padding-bottom:0;border-bottom:0}.hero .button{background:var(--ink);color:var(--paper)}.hero .button:hover{background:#4C4230;color:var(--paper)}.signal-panel{background:var(--paper)}.hero a:focus-visible{outline-color:var(--ink)}
@media(max-width:720px){.hero{padding-top:40px;padding-bottom:30px;row-gap:30px}.signal-panel{max-width:none}}

/* Compact hero identity and illustrated experience entries. */
.hero .compact-title{font-size:clamp(44px,4.6vw,66px);margin-bottom:14px;line-height:1.08;letter-spacing:-.05em}
.compact-title>span{display:block;white-space:nowrap}
.hero-purpose{font-size:clamp(22px,2.1vw,30px);font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0 0 24px;color:#584620}
.experience-list article{grid-template-columns:190px minmax(0,1fr);gap:28px;padding:32px 0}
.entry-meta{padding-top:0}
.experience-visual{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:12px;margin-bottom:15px;background:var(--surface)}
.experience-list a.experience-visual{border:0}
.experience-visual img{display:block;width:100%;height:100%;object-fit:cover}
.experience-placeholder{display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px dashed #BDAF8E;color:var(--ink)}
.placeholder-name{font:500 18px/1.3 Inter,Arial,sans-serif;letter-spacing:-.02em}
.placeholder-caption{font:12px/1.5 var(--mono);letter-spacing:0;color:var(--muted)}
.entry-label{display:block}
@media(max-width:1050px){.experience-list article{grid-template-columns:150px minmax(0,1fr);gap:22px}.hero .compact-title{font-size:clamp(35px,4.6vw,49px)}}
@media(max-width:720px){.hero .compact-title{font-size:clamp(35px,9.5vw,62px)}.hero-purpose{font-size:24px;margin-bottom:20px}.experience-list article{grid-template-columns:140px minmax(0,1fr);gap:20px}}
@media(max-width:520px){.experience-list article{grid-template-columns:1fr;gap:16px}.experience-visual{aspect-ratio:16/9;max-height:220px;margin-bottom:12px}.experience-placeholder{min-height:160px;padding:22px}.placeholder-name{font-size:22px}}

.douya-thumbnail{background:#000}.douya-thumbnail img{object-fit:contain;padding:16px}

.project-racing{grid-column:1/-1;display:grid;grid-template-columns:95px minmax(0,1fr) 210px;align-items:center;gap:28px}.project-racing .project-index{align-self:start;line-height:1.8}.project-body h3 a{color:var(--ink)}.project-link{display:inline-block;margin-top:10px;font-size:14px;color:var(--blue);border-bottom:1px solid #75571955}.project-link span{margin-left:12px}.racing-logo-link{display:block;border-radius:14px}.racing-logo-link img{display:block;width:100%;height:auto}.section-label h2{max-width:260px}@media(max-width:1050px){.project-racing{grid-template-columns:65px minmax(0,1fr) 160px;gap:20px}}@media(max-width:720px){.project-racing{display:flex;align-items:stretch}.racing-logo-link{max-width:200px;align-self:center}.section-label h2{max-width:none}}

/* Two distinct routes for the personal journey and the team. */
.racing-project-links{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:flex-start}
.project-racing .project-body>p:not(.project-sub){font-size:16px}
