/* Shared by the academic home and Personal page. No web fonts or JavaScript. */
:root{color-scheme:light;--ink:#222;--muted:#595959;--line:#b5b5b5;--link:#000099}
*{box-sizing:border-box}
html{scroll-padding-top:1.5rem}
body{max-width:800px;margin:36px auto 28px;padding:0 26px;background:#fff;color:var(--ink);font:16px/1.5 Georgia,'Times New Roman','Noto Serif CJK SC',serif}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
a:visited{color:#551a8b}a:hover{color:#900}a:focus-visible{outline:2px solid var(--link);outline-offset:4px}
header{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:25px}
h1{font-size:32px;line-height:1.2;margin:0 0 13px;font-weight:bold}
h1 span{display:inline-block;margin-left:10px;font-size:23px;font-weight:normal}
header>p{max-width:690px}.contact{font-size:15px;margin:12px 0}
nav{display:flex;flex-wrap:wrap;gap:5px 20px;font-size:15px;margin-top:15px}
nav a{white-space:nowrap}
section{margin:0 0 28px}h2{font-size:21px;line-height:1.3;margin:0 0 12px;font-weight:bold}
p{margin:0 0 12px}
.cv-entry{margin:0 0 19px}.cv-entry h3{font-size:16px;line-height:1.4;margin:0 0 3px}
.entry-context{font-size:14px;color:var(--muted);margin:0 0 7px}
ul{padding-left:22px;margin:6px 0 0}li{margin:0 0 5px}
.home-link{font-size:16px;margin:0 0 13px}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:30px;font-size:13px;color:var(--muted)}
.skip-link{position:absolute;top:-100px}.skip-link:focus{top:5px;background:#fff;padding:5px}
@media(max-width:520px){body{margin-top:25px;padding:0 19px}h1{font-size:29px}h1 span{font-size:21px}.contact{overflow-wrap:anywhere}nav{gap:6px 15px}section{margin-bottom:25px}}
@media print{body{max-width:none;margin:0;font-size:11pt}nav,.skip-link,footer>a{display:none}a,a:visited{color:#000}.cv-entry{break-inside:avoid}header{margin-bottom:18px}}

/* Non-destructive 3:4 portrait crop; keep the full original photo. */
.intro{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:28px;align-items:start}
.portrait{display:block;width:156px;height:208px;object-fit:cover;object-position:48% 50%}
@media(max-width:520px){.intro{grid-template-columns:minmax(0,1fr) 110px;gap:16px}.portrait{width:110px;height:147px}.intro h1 span{display:block;margin:5px 0 0}}
@media(max-width:360px){.intro{grid-template-columns:1fr}.portrait{width:126px;height:168px}}

/* Page navigation and the document contents use distinct, conventional forms. */
.site-nav{margin:0 0 23px;padding-bottom:11px;border-bottom:1px solid var(--line);gap:0 12px;font-size:16px}
.site-nav strong{color:var(--ink)}.site-nav>span{color:var(--muted)}
.page-toc{display:block;margin-top:17px;font-size:15px}
.page-toc ul{margin:0;padding-left:22px}.page-toc li{margin:2px 0}
