:root {
  --yuanzi-paper: #FBFAF7;
  --yuanzi-ink: #292B29;
  --yuanzi-moss: #73806F;
  --yuanzi-mist: #DEDED7;
  --yuanzi-serif: "Songti SC", STSong, "Noto Serif CJK SC", serif;
  --yuanzi-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --yuanzi-content: 720px;
  --yuanzi-wide: 1120px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--yuanzi-paper); color: var(--yuanzi-ink); font-family: var(--yuanzi-sans); font-size: 17px; line-height: 1.85; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--yuanzi-moss); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { color: var(--yuanzi-ink); }
:focus-visible { outline: 2px solid var(--yuanzi-moss); outline-offset: 3px; }
button, input, textarea, select { font: inherit; }
button, input[type="submit"] { cursor: pointer; }
.content-shell, .entry-content, .entry-header { width: min(calc(100% - 40px), var(--yuanzi-content)); margin-inline: auto; }
.home-shell { width: min(calc(100% - 40px), 960px); margin: 2.25rem auto 0; }
.has-global-padding { padding-inline: max(20px, env(safe-area-inset-left)); }
.alignwide { width: min(calc(100% - 40px), var(--yuanzi-wide)); max-width: none; margin-inline: auto; }
.alignfull { width: 100%; max-width: none; }
.wp-block-gallery { margin-block: 2rem; }
.wp-block-embed { margin-block: 2rem; }
.wp-block-embed iframe { max-width: 100%; }
.wp-block-image figcaption, .wp-element-caption { color: #777b74; font-size: 0.8rem; text-align: center; }
.wp-block-quote { border-inline-start: 2px solid var(--yuanzi-moss); margin: 2rem 0; padding-inline-start: 1.25rem; color: #555a54; }
.wp-block-table, .entry-content table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { border: 1px solid var(--yuanzi-mist); padding: 0.6rem 0.8rem; }
.entry-content pre, .entry-content code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.entry-content pre { overflow-x: auto; padding: 1rem; background: #f1f1ec; }
.entry-content > * { margin-block: 0 1.35rem; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content p { margin-block: 0 1.35rem; }
.entry-content h2, .entry-content h3 { font-family: var(--yuanzi-serif); font-weight: 600; line-height: 1.45; }
.entry-content h2 { margin-block: 2.75rem 0.75rem; font-size: clamp(1.45rem, 2.5vw, 1.9rem); }
.entry-content h3 { margin-block: 2.25rem 0.65rem; font-size: clamp(1.2rem, 2vw, 1.5rem); }
.entry-content ul, .entry-content ol { margin-block: 0 1.5rem; padding-inline-start: 1.5rem; }
.entry-content li + li { margin-top: 0.45rem; }
.entry-content figure, .entry-content blockquote, .entry-content .wp-block-gallery, .entry-content .wp-block-embed { margin-block: 2rem; }
.entry-content figcaption { margin-top: 0.6rem; }
.entry-content pre { margin-block: 2rem; }
.entry-title, .post-card__title, .featured-story__title { overflow-wrap: anywhere; }
.single .entry-header { width: min(calc(100% - 40px), 760px); }
.single .entry-content { width: min(calc(100% - 40px), 700px); margin-inline: auto; font-size: 1.05rem; line-height: 1.85; }
.single .entry-content p { margin-block: 0 1.35em; }
.single .entry-content h2 { margin-block: 2.4em 0.75em; font-family: var(--yuanzi-serif); font-size: clamp(1.45rem, 2vw, 1.75rem); line-height: 1.4; color: var(--yuanzi-ink); break-after: avoid; }
.single .entry-content h3 { margin-block: 2em 0.65em; font-family: var(--yuanzi-serif); font-size: clamp(1.22rem, 1.6vw, 1.42rem); line-height: 1.45; color: var(--yuanzi-ink); break-after: avoid; }
.single .entry-content ul, .single .entry-content ol { margin-block: 0 1.4em; padding-inline-start: 1.5em; }
.single .entry-content li + li { margin-top: 0.35em; }
.single .entry-content a { text-decoration-thickness: 1px; }
.single .entry-content a:hover { color: var(--yuanzi-ink); }
.single .entry-content a:focus-visible { outline: 2px solid var(--yuanzi-moss); outline-offset: 3px; }
.single .entry-content figure, .single .entry-content .wp-block-image { margin-block: 2.1rem 2rem; }
.single .entry-content img { max-width: 100%; height: auto; border-radius: 6px; }
.single .entry-content figcaption, .single .entry-content .wp-caption-text { margin-top: 0.65rem; color: #777b74; font-size: 0.82rem; line-height: 1.6; text-align: center; font-style: normal; }
.single .entry-content blockquote { margin-block: 2rem; padding: 1rem 1.2rem; border: 0; border-inline-start: 3px solid var(--yuanzi-moss); background: rgba(115, 128, 111, 0.08); color: #555a54; }
.single .entry-content blockquote p:last-child { margin-bottom: 0; }
.single .entry-content blockquote cite { display: block; margin-top: 0.75rem; color: #777b74; font-size: 0.82rem; font-style: normal; line-height: 1.6; }
.single .entry-content pre { max-width: 100%; overflow-x: auto; }
.single .entry-content code { overflow-wrap: anywhere; word-break: break-word; }
.single .entry-content pre code { overflow-wrap: normal; word-break: normal; white-space: pre; }
.single .entry-content table { max-width: 100%; overflow-x: auto; }
.single .entry-content .alignleft { float: left; margin: 0.5rem 1.5rem 1rem 0; }
.single .entry-content .alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.single .entry-content .aligncenter { margin-inline: auto; }
.single .entry-content > *:last-child { margin-bottom: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 0.65rem 0.9rem; left: 1rem; top: 1rem; background: var(--yuanzi-ink); color: #fff; z-index: 1000; }
.skip-link { position: absolute; left: 1rem; top: -5rem; }
.skip-link:focus { top: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }
