/* Minimal academic layout, implemented locally without a remote theme.
   Visual reference: Yating Zou's public al-folio site. See docs/REDESIGN.md. */
:root{color-scheme:light;--bg:#fff;--fg:#232323;--muted:#646464;--accent:#365d98;--rule:#e9e9e9;--soft:#f5f6f8;--width:930px}
:root[data-theme="dark"]{color-scheme:dark;--bg:#1d1f23;--fg:#e9e9ec;--muted:#b0b2bc;--accent:#91b9f1;--rule:#383b42;--soft:#292d33}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#1d1f23;--fg:#e9e9ec;--muted:#b0b2bc;--accent:#91b9f1;--rule:#383b42;--soft:#292d33}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
button{font:inherit}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
::selection{background:#cbdaf1;color:#182742}
.skip-link{position:fixed;top:-100px;left:16px;padding:10px 18px;background:var(--bg);z-index:20;border:1px solid var(--accent)}
.skip-link:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--rule)}
.site-nav{max-width:var(--width);margin:0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav-name{color:var(--fg);font-size:17px;white-space:nowrap}
.nav-name--home{visibility:hidden}
.nav-links{display:flex;align-items:center;gap:21px;margin-left:auto}
.nav-links>a{color:var(--fg);font-size:15px;padding:16px 0}
.nav-links>a.active{color:var(--accent)}
.theme-toggle{background:none;color:var(--fg);border:0;cursor:pointer;width:32px;height:38px;padding:7px;display:grid;place-items:center}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icon-moon{display:none}
[data-theme="dark"] .icon-moon{display:block}
[data-theme="dark"] .icon-sun{display:none}
.site-main{max-width:var(--width);margin:0 auto;padding:47px 0 16px;min-height:65vh;outline:none}
.page-heading{margin-bottom:30px}
h1,h2,h3{color:var(--fg);line-height:1.25}
h1{font-size:40px;letter-spacing:-1px;font-weight:300;margin:0 0 9px}
h1 strong{font-weight:700}
.chinese-name{display:inline-block;font-size:21px;font-weight:400;color:var(--muted);margin-left:12px;letter-spacing:2px;vertical-align:middle}
.page-subtitle{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}
.page-subtitle a{color:var(--accent)}
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:36px;align-items:center;margin-bottom:44px}
.about-body p{margin:0 0 28px}
.about-body p:last-child{margin-bottom:0}
.about-body strong{font-weight:600}
.profile-photo{margin:0}
.profile-photo img{display:block;width:100%;border-radius:50%}
h2{font-size:28px;font-weight:300;letter-spacing:-.4px;margin:0 0 26px}
.selected-publications h2>a{color:inherit}
.paper-list{list-style:none;padding:0;margin:0}
.paper-list li{margin:0 0 24px;padding:0;break-inside:avoid}
.paper-title{font-weight:600;font-size:16px;line-height:1.45}
.paper-authors,.paper-venue{font-size:14px;line-height:1.6}
.paper-venue{color:var(--muted);font-style:italic}
.paper-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px}
.paper-links a{font-size:13px;white-space:nowrap}
.all-publications{font-size:14px;margin:28px 0 0}
.wechat-account{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:40px;padding:24px 28px;background:var(--soft);border:1px solid var(--rule);border-radius:6px;scroll-margin-top:88px}
.wechat-label{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.5px;color:var(--muted);margin:0 0 10px}
.wechat-label::before{content:"";width:7px;height:7px;border-radius:50%;background:#29a66f}
.wechat-account h2{font-size:24px;font-weight:500;letter-spacing:1px;margin:0;line-height:1.5}
.wechat-instructions p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}
.wechat-instructions p+p{font-size:12px;margin-top:6px}
.business-card{margin:48px 0 0;padding-top:30px;border-top:1px solid var(--rule)}
.business-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.business-card-heading h2{margin:0}
.business-card-heading>a{font-size:13px}
.business-card figure{margin:0}
.business-card figure>a{display:block}
.business-card img{display:block;width:100%;border-radius:4px}
.business-card figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.paper-note{font-size:12px;color:var(--muted);margin-top:3px}
.publication-count{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:8px}
.profile-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:50px 0 18px;font-size:15px}
.file-type{font-size:10px;border:1px solid var(--rule);padding:2px 3px;border-radius:2px;vertical-align:middle}
.site-footer{max-width:var(--width);margin:36px auto 0;padding:20px 0 24px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.site-footer p{margin:0}
.archive-links{display:flex;gap:17px}
.archive-links a{color:var(--muted)}
.publication-intro{margin-top:0;font-size:15px}
.section-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 35px}
.section-links a{font-size:13px;border:1px solid var(--rule);padding:5px 11px;border-radius:3px}
.section-links a:hover{background:var(--soft);text-decoration:none}
.publication-section{margin-top:36px;padding-top:22px;border-top:1px solid var(--rule);scroll-margin-top:80px}
.publication-section h2{font-size:25px}
.quiet-note{font-size:13px;color:var(--muted);margin-top:40px}
.prose{overflow-wrap:break-word}
.prose h2{margin:38px 0 18px}
.prose h3{font-size:20px;font-weight:500;margin:28px 0 12px}
.prose p{margin:0 0 20px}
.prose ul,.prose ol{padding-left:24px}
.prose .paper-list{padding:0}
.prose .paper-list>li{margin-bottom:24px}
.prose .publication-section h2{margin:0 0 26px}
.prose li{margin-bottom:8px}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%}
.prose td,.prose th{padding:8px;border-bottom:1px solid var(--rule);text-align:left}
.prose pre{background:var(--soft);padding:18px;overflow-x:auto;font-size:13px}
.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}
.prose blockquote{margin:20px 0;padding:0 22px;border-left:3px solid var(--rule);color:var(--muted)}
.archive__item{margin-bottom:30px}
.archive__item h2{font-size:22px;margin:0 0 8px}
.archive__item p{font-size:15px}
.archive__item-teaser{max-width:240px}
.page__meta{color:var(--muted);font-size:13px}
.pagination ul{display:flex;gap:12px;list-style:none;padding:0}
.sidebar{display:none}
.content-page .page-heading{margin-bottom:30px}
@media(max-width:1010px){.site-nav,.site-main,.site-footer{margin-left:32px;margin-right:32px}}
@media(max-width:700px){
  .site-nav,.site-main,.site-footer{margin-left:22px;margin-right:22px}
  .site-nav{min-height:54px;gap:12px}
  .nav-name{font-size:14px}
  .nav-name--home{display:none}
  .nav-links{gap:18px}
  .nav-links>a{font-size:14px;padding:14px 0}
  .site-main{padding-top:35px}
  h1{font-size:34px;letter-spacing:-.8px}
  .chinese-name{font-size:18px;margin-left:8px}
  .page-subtitle{font-size:14px}
  .about-intro{grid-template-columns:1fr;gap:30px;margin-bottom:37px}
  .about-body p{margin-bottom:24px}
  .profile-photo{width:min(60%,260px);margin:0 auto}
  .wechat-account{grid-template-columns:1fr;gap:16px;padding:22px}
  h2{font-size:26px}
  .paper-list li{margin-bottom:25px}
  .profile-links{gap:22px;margin-top:38px}
  .site-footer{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
}
@media(max-width:370px){.site-nav,.site-main,.site-footer{margin-left:16px;margin-right:16px}.nav-links{gap:13px}.nav-name{font-size:12px}h1{font-size:30px}.chinese-name{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.theme-toggle,.skip-link{display:none!important}:root{--bg:white;--fg:black;--muted:#444;--accent:#222;--rule:#ddd}.site-main{max-width:none;margin:0;padding:0}a{text-decoration:none}.profile-photo{max-width:160px}.paper-list li{break-inside:avoid}}
