:root{--color-background: #f5f6f7;--color-surface: #eceef0;--color-elevated: #ffffff;--color-text: #2a2f33;--color-heading: #15191c;--color-muted: #6b737a;--color-border: #d5dbe0;--color-primary: #1f4550;--color-accent: #c04a36;--color-link: #1f5f78}html,body{width:100%;min-height:100vh;overflow-x:clip}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.58;color:var(--color-text);background-color:var(--color-background);margin:0;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}h1,p{margin:0 0 16px}h1{color:var(--color-heading);font-size:1.75rem;line-height:1.25;letter-spacing:-0.01em}img{max-width:100%;height:auto;vertical-align:middle}a{color:var(--color-link);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:1144px;margin:0 auto;padding:0 32px;width:100%;box-sizing:border-box}.page-main{flex:1 1 auto;width:100%;min-width:0}.page-content{padding-top:2rem;padding-bottom:2rem;width:100%;min-width:0;box-sizing:border-box}body{border-top:3px solid var(--color-accent)}.site-footer{margin-top:32px;padding:1.25rem 0;border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.site-footer .footer-content{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.site-footer .footer-copy{margin:0;color:var(--color-muted);font-size:.8125rem}.footer-hkust{display:block;line-height:0}.footer-hkust:hover{text-decoration:none;opacity:0.9}.footer-hkust-card{display:flex;align-items:center;justify-content:center;width:9.5rem;height:3.35rem;padding:0.4rem 0.65rem;box-sizing:border-box;border:1px solid var(--color-border);border-radius:10px;background:#fff}.footer-hkust-card img{display:block;width:100%;height:100%;object-fit:contain}@media screen and (max-width: 600px){.container{padding-right:16px;padding-left:16px}.page-content{padding-top:1rem;padding-bottom:2.5rem}.site-footer .footer-content{flex-direction:column;align-items:center;text-align:center}}.profile{display:flex;gap:2.5rem;align-items:flex-start}.profile-sidebar{width:220px;flex-shrink:0;text-align:center}.profile-photo{display:block;width:220px;height:220px;margin:0 auto 0.75rem;object-fit:cover;border-radius:50%}.profile-contact{display:flex;flex-direction:column;align-items:center;gap:0.5rem;font-family:Georgia,"Times New Roman",Times,serif;font-size:0.8125rem;line-height:1.45}.profile-contact-line,.profile-docs{margin:0}.profile-docs{display:flex;flex-direction:column;align-items:center}.profile-docs .sep{display:none}.profile-office{color:var(--color-muted)}.profile-office:hover{color:var(--color-link)}.sep{color:var(--color-muted);font-weight:400}.social-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:0.45rem;margin:0}.social-icons a{position:relative;display:inline-flex;line-height:0}.social-icons a:hover{text-decoration:none}.social-icons a::after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 0.35rem);padding:0.2rem 0.4rem;border-radius:4px;background:var(--color-heading);color:var(--color-elevated);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:0.6875rem;font-weight:600;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-50%)}.social-icons a:hover::after,.social-icons a:focus-visible::after{opacity:1}.social-icons img{width:16px;height:16px}.profile-main{min-width:0;font-family:Georgia,"Times New Roman",Times,serif;color:var(--color-text)}.profile-greeting{margin:0 0 0.85rem;font-size:1.75rem;font-weight:700;letter-spacing:-0.01em;line-height:1.25}.profile-copy p{margin:0 0 1.1rem;font-size:1.02rem;line-height:1.65}.profile-copy p:last-child{margin-bottom:0}.highlight-link,.award-link{color:var(--color-accent)}.highlight-link:hover,.award-link:hover{color:var(--color-accent)}.award-icon{margin-right:0.1rem}.profile-lab-cta{padding:0.9rem 1rem;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:10px;background:var(--color-elevated)}@media screen and (max-width: 800px){.profile{display:grid;grid-template-columns:160px 1fr;column-gap:1.25rem;row-gap:0}.profile-sidebar,.profile-main{display:contents}.profile-photo{grid-column:1;grid-row:1 / 3;width:160px;height:160px;margin:0}.profile-greeting{grid-column:2;grid-row:1;margin:0;align-self:start}.profile-contact{grid-column:2;grid-row:2;align-items:flex-start;text-align:left}.profile-copy{grid-column:1 / -1;grid-row:3;margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--color-border)}.social-icons{justify-content:flex-start}.profile-docs{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:0 0.15rem}.profile-docs .sep{display:inline;margin:0 0.15rem}}@media screen and (max-width: 600px){.profile{grid-template-columns:148px 1fr}.profile-photo{width:148px;height:148px}}.photo-strip{width:100vw;max-width:100vw;margin-top:3.75rem;margin-left:calc(50% - 50vw);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;-webkit-overflow-scrolling:touch}.photo-strip-track{display:flex;gap:0.4rem;width:max-content;padding:0 32px 0.15rem;scroll-snap-type:x mandatory}.photo-strip figure{position:relative;flex:0 0 auto;margin:0;scroll-snap-align:start}.photo-strip img{display:block;height:148px;width:auto;max-width:none;object-fit:cover;border-radius:6px;background:var(--color-surface)}.photo-strip figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1.4rem 0.45rem 0.35rem;border-radius:0 0 6px 6px;background:linear-gradient(transparent, rgba(21,25,28,0.78));color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:0.6875rem;font-weight:600;line-height:1.3;opacity:0;pointer-events:none}.photo-strip figure:hover figcaption,.photo-strip figure:focus-within figcaption{opacity:1}@media screen and (max-width: 600px){.photo-strip-track{padding-right:16px;padding-left:16px}.photo-strip img{height:128px}}
