/* Site defaults, after WordPress theme globals. Component rules still win. */
body.linyi-site {
  font-family: Inter, "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  color: var(--ink);
  background: var(--page);
}
:where(body.linyi-site) h1,
:where(body.linyi-site) h2,
:where(body.linyi-site) h3,
:where(body.linyi-site) h4,
:where(body.linyi-site) h5,
:where(body.linyi-site) h6 {
  font-family: inherit;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
}
:where(body.linyi-site) h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
:where(body.linyi-site) h2 { font-size: 1.8rem; }
:where(body.linyi-site) h3 { font-size: 1.15rem; }
:where(body.linyi-site) h4 { font-size: 1rem; }
.linyi-site .home-download { width: 100%; margin-top: 10px; }

/* Both the latest shortcode and the article template use the same image frame. */
.linyi-site .card-media,
.linyi-site .card-thumb-link {
  display: block;
  aspect-ratio: 16 / 9;
  margin: -6px 0 16px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--sky);
}
.linyi-site .card-media img,
.linyi-site .card-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.linyi-site .article-card h3 { font-size: 1.1rem; line-height: 1.65; }
.linyi-site .article-card > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.linyi-site .article-card .read-link { margin-top: auto; }
.linyi-site .toc-inline { display: none; }
.linyi-site .reading-sidebar .toc { position: static; }
.linyi-site .reading-sidebar { position: sticky; top: 98px; }

@media (max-width: 900px) {
  .linyi-site .toc-inline { display: block; }
}
@media (max-width: 600px) {
  :where(body.linyi-site) h2 { font-size: 1.6rem; }
}
/* Video cards keep recorded screens intact, including portrait footage. */
.video-poster-button{aspect-ratio:16/9;min-height:0;background-color:#071421;background-size:contain}
.video-poster-button[hidden],.video-player[hidden]{display:none}
.video-portrait .video-poster-button{aspect-ratio:4/3}
.video-player video{max-height:680px;object-fit:contain}
.video-portrait .video-player video{max-height:620px}
.video-button-label{padding:5px 10px;border-radius:6px;background:rgba(7,20,33,.82);color:white}
.article-video{margin:28px 0}
.video-note{line-height:1.7}
.video-article-link{margin-top:6px}
