/* 在原版 jemdoc 样式上补充中文字体、个人信息排版和手机适配。 */
body { font-family: Georgia, "Times New Roman", "Microsoft YaHei", "PingFang SC", serif; color: #222; }
#layout-content { box-sizing: border-box; width: 100%; max-width: 1032px; padding: 0 24px 20px; }
#toptitle { margin-top: 24px; }
h1 { line-height: 1.4; }
h2 { line-height: 1.5; }
p { line-height: 1.8; }
.profile { display: flex; align-items: center; gap: 28px; margin-bottom: 24px; }
.portrait-link { flex: 0 0 auto; line-height: 0; }
.portrait-link:hover, .affiliations a:hover { border-bottom: none; }
.portrait { display: block; width: 150px; height: auto; }
.profile-info { flex: 1; min-width: 0; }
.profile-info p { margin: 0 0 12px; }
.profile-info p:last-child { margin-bottom: 0; }
.profile-name { font-weight: bold; font-size: 1.35em; }
.affiliations { display: flex; flex-direction: column; align-items: center; gap: 18px; flex: 0 0 170px; }
.affiliations img { display: block; max-width: 100%; height: auto; }
.rinc-logo { width: 150px; }
.nju-logo { width: 100px; }
section { margin-top: 12px; }
li p { margin-bottom: 0.45em; }
a:focus-visible { outline: 2px solid #527bbd; outline-offset: 4px; }
#footer { margin-top: 36px; border-top: 1px solid #c0c0c0; padding-top: 8px; font-size: small; color: #666; }
@media (max-width: 640px) {
  #layout-content { padding: 0 18px 20px; }
  #toptitle { margin-top: 18px; }
  h1 { font-size: 1.65em; }
  h2 { font-size: 1.15em; }
  .profile { flex-wrap: wrap; align-items: flex-start; gap: 18px; }
  .portrait { width: 112px; }
  .profile-info { flex-basis: calc(100% - 130px); }
  .profile-name { font-size: 1.12em; }
  .affiliations { flex: 1 0 100%; flex-direction: row; justify-content: flex-start; gap: 24px; }
  .rinc-logo { width: 120px; }
  .nju-logo { width: 64px; }
  p, li { overflow-wrap: anywhere; }
  ul { padding-left: 1.3em; }
}
