/* AcademicPages refinement: the original content and templates remain authoritative. */
:root {
  --global-bg-color: #ffffff;
  --global-text-color: #3e4d61;
  --global-text-color-light: #607187;
  --global-link-color: #245bb3;
  --global-link-color-hover: #17468e;
  --global-border-color: #e1e7ef;
  --global-dark-border-color: #e1e7ef;
  --global-footer-bg-color: #f7f9fc;
  --academic-ink: #1c2e47;
  --academic-accent: #245bb3;
  --academic-soft: #f3f7fd;
  --academic-hover: #eaf1fb;
}
html[data-theme="dark"] {
  --global-bg-color: #111a28;
  --global-text-color: #c6d2e2;
  --global-text-color-light: #a0b0c5;
  --global-link-color: #a4c5fb;
  --global-link-color-hover: #c3d9ff;
  --global-border-color: #2b3b51;
  --global-dark-border-color: #2b3b51;
  --global-footer-bg-color: #151f2e;
  --academic-ink: #ecf2fb;
  --academic-accent: #a4c5fb;
  --academic-soft: #19283c;
  --academic-hover: #20344f;
}
html { scroll-padding-top: 100px; }
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin-bottom: 0 !important;
  padding-bottom: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--academic-accent);
  outline-offset: 4px;
}
.masthead { animation: none; }
.masthead__inner-wrap {
  max-width: 1280px;
  padding: 14px 28px;
  font-family: inherit;
}
.greedy-nav, .masthead__menu-item { background: var(--global-bg-color); }
.greedy-nav .visible-links { align-items: center; }
.greedy-nav .visible-links a {
  color: var(--global-text-color);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 16px;
  padding: 8px 0;
  transition: color .15s ease;
  white-space: nowrap;
}
.greedy-nav .visible-links .masthead__menu-item--lg { padding-right: 24px; }
.greedy-nav .visible-links .masthead__menu-item--lg a {
  color: var(--academic-ink);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -.35px;
  margin-left: 0;
}
.greedy-nav .visible-links a:hover, .greedy-nav .visible-links a[aria-current="page"] { color: var(--academic-accent); }
.greedy-nav .visible-links a::before { height: 2px; bottom: 1px; background: var(--academic-accent); }
.greedy-nav .visible-links a[aria-current="page"]::before { width: 100%; }
#theme-toggle a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  margin-right: 0;
  border: 1px solid var(--global-border-color);
  border-radius: 6px;
  cursor: pointer;
}
#theme-toggle a::before { display: none; }
#theme-toggle a:hover { background: var(--academic-soft); }
#main {
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  align-items: start;
  gap: 56px;
  width: 100%;
  max-width: 1280px;
  margin: 44px auto 0;
  padding: 0 28px;
  flex: 1 0 auto;
  animation: none;
}
#main::before, #main::after { content: none; display: none; }
#main > .sidebar {
  position: sticky;
  top: 108px;
  align-self: start;
  float: none;
  width: auto;
  max-width: none;
  height: auto;
  max-height: calc(100vh - 136px);
  overflow-y: auto;
  padding: 0 !important;
  margin: 0;
  transform: none;
}
#main > .page, #main > .archive {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
}
.page .page__inner-wrap,
.page .page__inner-wrap .page__content,
.page .page__inner-wrap .page__meta {
  float: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
.sidebar .author__avatar { display: block; width: auto; height: auto; }
.sidebar .author__avatar img {
  width: 176px;
  height: 176px;
  max-width: 100%;
  padding: 4px;
  object-fit: cover;
  border: 1px solid var(--global-border-color);
  border-radius: 50%;
  box-shadow: none;
}
.sidebar .author__content { display: block; width: 100%; padding: 0; }
.sidebar .author__name {
  font-family: inherit;
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: -.4px;
  font-weight: 700;
  color: var(--academic-ink);
  margin: 18px 0 9px;
}
.sidebar .author__bio {
  color: var(--global-text-color-light);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 20px;
}
.sidebar .author__urls-wrapper { display: block; cursor: default; }
.sidebar .author__urls-wrapper > button { display: none; }
.sidebar .author__urls {
  display: block !important;
  position: static;
  z-index: auto;
  margin: 0;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--global-border-color);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.sidebar .author__urls::before, .sidebar .author__urls::after { display: none; }
.sidebar .author__urls li {
  color: var(--global-text-color-light);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
  margin-bottom: 7px;
  overflow-wrap: anywhere;
}
.sidebar .author__urls a {
  padding: 4px 0;
  margin: 0;
  font-size: 13px;
  border-radius: 3px;
  transition: color .15s ease;
}
.sidebar .author__urls a:hover { color: var(--academic-accent); text-decoration: none; }
.sidebar .social-icons .fa-github { color: var(--global-text-color-light); }
.page__title {
  color: var(--academic-ink);
  font-family: inherit;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.9px;
  margin: 0 0 28px;
}
.page__title::before {
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  margin-bottom: 15px;
  background: var(--academic-accent);
}
.page__content, .archive { font-size: 17px; line-height: 1.8; }
.page__content p, .archive > p { margin-bottom: 1.5em; }
.page__content strong, .archive strong { color: var(--academic-ink); font-weight: 650; }
.page__content h2, .archive > h2, .archive > h1:not(.page__title) {
  color: var(--academic-ink);
  font-family: inherit;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.35px;
  margin: 40px 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--global-border-color);
}
.page__content h3, .archive > h3 {
  color: var(--academic-ink);
  font-family: inherit;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.5;
  margin: 30px 0 14px;
}
.page__content a:not(.btn), .archive a:not(.btn) {
  color: var(--global-link-color);
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  overflow-wrap: anywhere;
}
.page__content a:hover, .archive a:hover { color: var(--global-link-color-hover); }
.academic-home > p:first-child strong { color: var(--academic-ink); }
.academic-research-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 34px;
}
.academic-research-list > li {
  position: relative;
  padding: 20px 0 20px 22px;
  margin: 0;
  border-top: 1px solid var(--global-border-color);
}
.academic-research-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 29px;
  width: 6px;
  height: 6px;
  background: var(--academic-accent);
}
.academic-research-list > li > strong,
.academic-research-list > li > p:first-child > strong {
  display: block;
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 10px;
}
.academic-research-list > li p { margin-bottom: 0; }
.academic-news {
  padding: 24px 26px;
  margin-top: 32px;
  border: 1px solid var(--global-border-color);
  border-left: 3px solid var(--academic-accent);
  border-radius: 4px;
  background: var(--academic-soft);
}
.academic-news h2 { margin: 0 0 16px; padding: 0; border: 0; font-size: 19px; color: var(--academic-accent); }
.academic-news > ul { list-style: none; padding: 0; margin: 0; }
.academic-news-entry { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 18px; margin: 0; }
.academic-news-entry + .academic-news-entry { padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--global-border-color); }
.academic-news-entry > .academic-news-date { color: var(--global-text-color-light); font-size: 14px; font-weight: 600; line-height: 1.8; padding-top: 2px; white-space: nowrap; }
.academic-news-entry > div { min-width: 0; }
.archive > ul { list-style: none; padding-left: 0; margin-top: 0; }
.archive > ul > li { padding: 19px 0; margin: 0; border-bottom: 1px solid var(--global-border-color); font-size: 16px; line-height: 1.9; }
.archive > ul > li > p { margin: 0; }
.archive > ul:first-of-type > li { border-left: 2px solid var(--global-border-color); padding-left: 20px; }
.academic-publications > ul:first-of-type > li { border-left-color: var(--academic-accent); }
.academic-publications > ul > li a {
  display: inline-block;
  margin: 5px 4px 0 0;
  padding: 1px 7px;
  border: 1px solid var(--global-border-color);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: baseline;
}
.academic-publications > ul > li a:hover { background: var(--academic-soft); border-color: var(--academic-accent); }
.academic-publications > h3 { color: var(--global-text-color-light); font-size: 15px; letter-spacing: .6px; margin-top: 32px; }
.btn, .page__content .btn, .archive .btn {
  padding: 10px 16px;
  border-radius: 5px;
  border: 1px solid var(--academic-accent);
  background: var(--academic-accent);
  color: var(--global-bg-color);
  box-shadow: none;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  transition: background .15s ease, color .15s ease;
}
.btn:hover, .page__content .btn:hover, .archive .btn:hover { background: var(--global-link-color-hover); color: var(--global-bg-color); }
.academic-table-wrap { max-width: 100%; overflow-x: auto; margin: 20px 0 28px; border: 1px solid var(--global-border-color); border-radius: 4px; }
.academic-table-wrap table { display: table; width: 100%; margin: 0; border: 0; font-size: 14px; line-height: 1.7; }
.academic-table-wrap th, .academic-table-wrap td { padding: 12px 14px; vertical-align: top; border-color: var(--global-border-color); }
.academic-table-wrap th { background: var(--academic-soft); color: var(--academic-ink); font-weight: 650; }
.academic-table-wrap tr:last-child td { border-bottom: 0; }
.page__footer {
  position: static;
  float: none;
  clear: both;
  width: 100%;
  margin: 64px 0 0;
  border-top: 1px solid var(--global-border-color);
  background: var(--global-footer-bg-color);
  animation: none;
}
.page__footer footer { max-width: 1280px; padding: 24px 28px; margin: 0 auto; font-family: inherit; font-size: 13px; }
.page__footer-follow { margin: 10px 0; }
.page__footer-follow li { font-size: 11px; }
.page__footer-copyright { font-size: 11px; line-height: 1.8; }
@media (max-width: 1100px) and (min-width: 1024px) {
  #main { grid-template-columns: 200px minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 1023px) {
  #main { display: block; margin-top: 28px; padding: 0 24px; max-width: 860px; }
  #main > .sidebar { position: static; max-height: none; overflow: visible; margin: 0 0 32px; padding: 0 0 26px !important; border-bottom: 1px solid var(--global-border-color); }
  .sidebar > div[itemscope] { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px 18px; }
  .sidebar .author__avatar, .sidebar .author__avatar img { width: 76px; height: 76px; }
  .sidebar .author__avatar img { padding: 3px; }
  .sidebar .author__content { align-self: center; }
  .sidebar .author__name { margin: 0 0 6px; font-size: 18px; }
  .sidebar .author__bio { margin: 0; font-size: 13px; line-height: 1.6; }
  .sidebar .author__urls-wrapper { grid-column: 1 / -1; }
  .sidebar .author__urls { display: flex !important; flex-wrap: wrap; gap: 5px 22px; padding: 0; border: 0; }
  .sidebar .author__urls li { margin: 0; }
  .sidebar .author__urls li.author__desktop { display: none; }
  .page__title { font-size: 30px; }
  .page__content, .archive { font-size: 16px; }
  .page__footer { margin-top: 44px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }
  .masthead__inner-wrap { padding: 10px 18px; }
  .greedy-nav .visible-links a { font-size: 13px; margin: 0 10px; padding: 7px 0; }
  .greedy-nav .visible-links .masthead__menu-item--lg { padding-right: 8px; }
  .greedy-nav .visible-links .masthead__menu-item--lg a { font-size: 14px; margin: 0 10px 0 0; white-space: nowrap; }
  #theme-toggle a { width: 30px; height: 30px; margin-left: 7px; }
  .greedy-nav .hidden-links { border: 1px solid var(--global-border-color); border-radius: 4px; box-shadow: none; }
  .greedy-nav .hidden-links a { font-size: 14px; padding: 10px 15px; }
  #main { margin-top: 24px; padding: 0 20px; }
  #main > .sidebar { margin-bottom: 28px; padding-bottom: 22px !important; }
  .sidebar > div[itemscope] { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; }
  .sidebar .author__avatar, .sidebar .author__avatar img { width: 64px; height: 64px; }
  .sidebar .author__name { font-size: 16px; letter-spacing: -.25px; }
  .sidebar .author__bio { font-size: 12px; }
  .sidebar .author__urls { gap: 3px 20px; }
  .sidebar .author__urls a { font-size: 12px; padding: 5px 0; }
  .page__title { font-size: 28px; margin-bottom: 22px; }
  .page__title::before { width: 28px; margin-bottom: 13px; }
  .page__content, .archive { font-size: 15px; line-height: 1.8; }
  .page__content h2, .archive > h2, .archive > h1:not(.page__title) { font-size: 20px; margin-top: 32px; }
  .academic-research-list > li { padding: 18px 0 18px 18px; }
  .academic-research-list > li > strong, .academic-research-list > li > p:first-child > strong { font-size: 16px; }
  .academic-news { padding: 19px 18px; }
  .academic-news h2 { font-size: 18px; }
  .academic-news-entry { grid-template-columns: 1fr; gap: 5px; }
  .academic-news-entry > .academic-news-date { font-size: 12px; }
  .archive > ul > li { padding: 17px 0; font-size: 14px; }
  .archive > ul:first-of-type > li { padding-left: 14px; }
  .academic-publications > ul > li a { font-size: 11px; padding: 2px 6px; }
  .academic-table-wrap th, .academic-table-wrap td { padding: 10px; font-size: 12px; }
  .page__footer footer { padding: 22px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  body { display: block; color: #111; background: #fff; }
  #main { display: block; max-width: none; padding: 0; }
  .academic-news { background: transparent; }
  .academic-table-wrap { overflow: visible; }
}
