html,
body {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  text-rendering: optimizeLegibility;
}

p,
li,
td,
th {
  font-weight: 400;
  line-height: 1.65;
}

.post p {
  margin-bottom: 0.95rem;
}

.post {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.post-title {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  font-weight: 400 !important;
}

.post-title .font-weight-bold,
.navbar-brand .font-weight-bold {
  font-weight: 400 !important;
}

.name-zh {
  font-family: "STKaiti", "KaiTi", "Kaiti SC", "DFKai-SB", "Songti SC", serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.inline-logo {
  height: 1em;
  width: auto;
  vertical-align: -0.12em;
  margin-right: 0.28em;
}

.home-profile {
  float: right;
  width: min(240px, 30%);
  margin-left: 2rem;
  margin-top: 0.25rem;
}

.home-name-header {
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .home-profile {
    float: none;
    width: min(340px, 100%);
    margin: 0 auto 1rem auto;
  }
}

.edu-section {
  margin-top: 0.25rem;
}

.edu-section-title {
  font-size: 1.12rem;
  letter-spacing: 0.12em;
  color: #005239;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.edu-divider {
  border-top: 2px solid #005239;
  margin: 0.25rem 0 1rem 0;
}

.edu-item {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin-bottom: 1.2rem;
}

.edu-logo {
  width: 54px;
  height: 54px;
  object-fit: contain;
  margin-top: 0.12rem;
}

.edu-school {
  font-size: 1.15rem;
  line-height: 1.15;
  font-weight: 400;
  margin-bottom: 0.18rem;
}

.edu-degree {
  font-size: 1rem;
  font-style: italic;
  margin-bottom: 0.15rem;
  color: rgba(0, 0, 0, 0.68);
}

.edu-meta {
  font-size: 0.95rem;
  margin-bottom: 0.18rem;
  color: rgba(0, 0, 0, 0.6);
}

.edu-note {
  font-size: 0.92rem;
  color: rgba(0, 0, 0, 0.56);
}

.home-section {
  margin-top: 0.5rem;
}

.home-section-title {
  font-size: 1.12rem;
  letter-spacing: 0.12em;
  color: #005239;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.home-divider {
  border-top: 2px solid #005239;
  margin: 0.25rem 0 1rem 0;
}

.home-news-scroll {
  max-height: 10.2em;
  overflow-y: auto;
  padding-right: 0.45rem;
  background: transparent;
}

.home-news-scroll + .home-section {
  margin-top: 1.4rem;
}

.home-news-scroll .news-line {
  display: grid;
  grid-template-columns: 7.2rem 1fr;
  column-gap: 0.35rem;
  align-items: start;
  margin: 0 0 0.85rem 0;
  line-height: 1.65;
  font-size: 1rem;
}

.home-news-scroll .news-line:last-child {
  margin-bottom: 0;
}

.home-news-scroll .news-date {
  display: block;
  font-weight: 600;
  white-space: nowrap;
}

.home-news-scroll .news-text {
  display: block;
}

.home-news-scroll::-webkit-scrollbar {
  width: 6px;
}

.home-news-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.home-news-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
  border-radius: 999px;
}

.home-news-scroll {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.22) transparent;
}

@media (max-width: 768px) {
  .edu-school { font-size: 1rem; }
  .edu-degree { font-size: 0.92rem; }
  .edu-meta { font-size: 0.88rem; }
  .edu-note { font-size: 0.85rem; }
  .edu-logo { width: 44px; height: 44px; }
  .home-section-title { font-size: 1rem; }
  .home-news-scroll .news-line { grid-template-columns: 6.5rem 1fr; column-gap: 0.28rem; }
}
