:root { --ink:#233348; --muted:#64748b; --accent:#245e91; --line:#e3e9ef; }
html { scroll-behavior:smooth; background:#f5f7fa; }
body.w3-content { max-width:1180px; color:var(--ink); font-size:15px; line-height:1.85; }
body,h1,h2,h3,h4,h5,h6,.w3-wide,.w3-sidebar a { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
a { color:var(--accent); text-underline-offset:4px; }
a:hover { color:#123f69; }
a:focus-visible,button:focus-visible { outline:3px solid #82afd7; outline-offset:4px; }
#mySidebar { width:180px!important; padding:42px 16px; background:#f5f7fa!important; color:var(--ink)!important; border-right:1px solid var(--line); }
#mySidebar h3 { margin:0; font-size:27px; letter-spacing:3px; }
.nav-subtitle { font-size:12px; color:var(--muted); letter-spacing:2px; }
#mySidebar > .w3-padding-64 { padding:40px 0!important; }
#mySidebar a { color:var(--muted); font-size:15px; font-weight:500; border-radius:7px; margin:7px 0; padding:11px 20px; }
#mySidebar a:hover,#mySidebar a.active { background:#e6edf5!important; color:var(--accent)!important; }
.w3-main { margin-left:180px!important; background:white; min-height:100vh; }
.w3-main > div[id] { padding:48px 52px!important; scroll-margin-top:20px; }
.w3-main > div.w3-light-grey { background:#fff!important; }
.w3-main > div[id] + div[id] { border-top:1px solid var(--line); }
h2 { font-size:25px; font-weight:650; margin:0 0 28px; letter-spacing:2px; }
h2::before { content:""; display:inline-block; width:4px; height:22px; background:var(--accent); margin-right:13px; border-radius:3px; vertical-align:-2px; }
#home { text-align:left!important; display:flow-root; padding-top:64px!important; }
#home .profile-photo { float:right; width:154px!important; height:192px; object-fit:cover; margin:0 0 24px 35px; border-radius:12px; box-shadow:0 8px 28px #23334814; }
#home h1 { font-size:36px; font-weight:650; margin:0 0 10px; }
#home h1 span { font-size:21px; color:var(--muted); font-weight:400; margin-left:10px; }
.profile-role { color:var(--accent); font-weight:600; margin:0 0 5px; }
.profile-affiliation { color:var(--muted); margin:0 0 23px; font-size:14px; }
#home p.w3-justify { max-width:none!important; text-align:left!important; margin:20px 0!important; }
#home p.w3-center { text-align:left!important; display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; }
#home p.w3-center a { font-size:13px; padding:5px 13px; border:1px solid #d7e2ec; border-radius:6px; text-decoration:none; background:#f8fafc; }
#projects .project-title { font-size:14px; color:var(--accent); margin:28px 0 0; padding:20px 24px 0; background:#f5f8fb; border:1px solid var(--line); border-bottom:0; border-radius:9px 9px 0 0; font-weight:600; }
#projects h5 { font-size:18px; font-weight:600; line-height:1.6; margin:0; padding:7px 24px 12px; background:#f5f8fb; border:1px solid var(--line); border-top:0; border-bottom:0; }
#projects p.w3-justify { margin:0; padding:0 24px 23px; background:#f5f8fb; border:1px solid var(--line); border-top:0; border-radius:0 0 9px 9px; text-align:left!important; color:#526176; font-size:14px; }
#publications ol { padding-left:24px; margin:0; }
#publications li { padding:20px 0 20px 9px; border-bottom:1px solid var(--line); font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
#publications li:first-child { padding-top:0; }
#publications li::marker { color:#8696a9; font-size:12px; }
#publications .paper-title { font-size:16px; font-weight:600; color:#243f5c; }
#publications strong { font-weight:600; }
#publications li:last-child { border:0; padding-bottom:0; }
#service h4 { color:var(--accent); font-size:16px; font-weight:600; margin-top:26px; }
#service ol { padding:0; margin:12px 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
#service ol p { font-size:13px; margin:0; padding:11px 0; border-bottom:1px solid var(--line); line-height:1.65; }
.awards-list { list-style:none; padding:0; margin:0; }
.awards-list li { padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; }
.w3-main > div:last-child { font-size:12px; color:var(--muted); background:#f8fafc!important; padding:25px!important; }
header.w3-bar { background:#fff!important; color:var(--ink)!important; border-bottom:1px solid var(--line); }
header .w3-padding-24 { padding-top:13px!important; padding-bottom:13px!important; font-size:20px; }
@media (max-width:992px) {
 .w3-main { margin-left:0!important; }
 #mySidebar { padding-top:75px; box-shadow:10px 0 40px #23334818; }
 .w3-main > .w3-hide-large { margin-top:64px!important; }
 .w3-main > div[id] { scroll-margin-top:64px; padding:34px 28px!important; }
 #home { padding-top:35px!important; }
}
@media (max-width:600px) {
 #home .profile-photo { width:94px!important; height:120px; margin:4px 0 16px 18px; border-radius:8px; }
 #home h1 { font-size:28px; }
 #home h1 span { display:block; margin:0; font-size:16px; }
 .profile-role,.profile-affiliation { font-size:12px; }
 #home p.w3-justify { clear:both; font-size:14px; }
 .w3-main > div[id] { padding:30px 20px!important; }
 h2 { font-size:22px; margin-bottom:23px; }
 #projects .project-title { padding:17px 18px 0; }
 #projects h5 { padding:7px 18px 10px; font-size:17px; }
 #projects p.w3-justify { padding:0 18px 18px; }
 #service ol { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
 #mySidebar,header,#myOverlay { display:none!important; }
 .w3-main { margin:0!important; }
 .w3-main > div[id] { padding:20px!important; }
 #projects .project-title { break-after:avoid; }
 a { color:inherit; }
}
