/* Local font fallbacks keep the site readable without external font services. */
body {
  font-family: Georgia, "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;
  font-variant-numeric: lining-nums;
  line-height: 1.85;
  color: #292723;
}
.header .site-title { font-family: Georgia, "Songti SC", serif; line-height: 1.15; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; }
a, .header nav a, .post .tags a { color: #514638; }
a:hover, .header nav a:hover, .post .tags a:hover { color: #8a5a3b; border-color: #8a5a3b; }
.post .tags a { border-color: #b4a797; }
.post-header .meta .date .day { font-family: Georgia, "Songti SC", serif; }
pre, code, kbd, samp { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
/* iOS reading fonts: aligned Latin digits and self-hosted Chinese serifs. */
html[data-ios-reading] body,
html[data-ios-reading] .header .site-title,
html[data-ios-reading] .post-header .meta .date .day {
  font-family: "Times New Roman", "Noto Serif SC Variable", "Songti SC", serif;
}
html.dark body { color: #e0d9ce; background: #1c1b19; }
html.dark a, html.dark .header nav a, html.dark .post .tags a { color: #d9c7ad; }
html.dark a:hover, html.dark .header nav a:hover { color: #f0dfc4; }
html.dark .post .tags a { border-color: #8f806d; }
/* Make links in article text recognizable without dominating the page. */
.post :is(p, li, blockquote, td) a:not(:has(img)) {
  text-decoration-line: underline;
  text-decoration-color: #b4a797;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.post :is(p, li, blockquote, td) a:hover { text-decoration-color: currentColor; }
html.dark .post :is(p, li, blockquote, td) a:not(:has(img)) { text-decoration-color: #8f806d; }
html.dark .post :is(p, li, blockquote, td) a:hover { text-decoration-color: currentColor; }
.post a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer-controls { display: flex; align-items: center; gap: 1.1rem; }
.footer-controls a, .footer-controls button { display: inline-flex; align-items: center; justify-content: center; color: inherit; }
.footer-controls button { border: 0; padding: 0; background: transparent; cursor: pointer; }
.footer-controls svg { width: 17px; height: 17px; }
.footer-copyright { text-align: right; }
@media (max-width: 360px) { .footer { gap: .5rem; } .footer-controls { gap: .65rem; } }

/* Warm, readable accents in place of the theme's blue and purple defaults. */
::selection { background: #e8dac8; color: #292723; text-shadow: none; }
::-moz-selection { background: #e8dac8; color: #292723; text-shadow: none; }
html.dark ::selection { background: #6d5945; color: #f6eee2; text-shadow: none; }
html.dark ::-moz-selection { background: #6d5945; color: #f6eee2; text-shadow: none; }
blockquote { border-color: #b4a797; }
html.dark blockquote { border-color: #8f806d; }
.post .draft-label { color: #514638; background-color: #eee6db; }
html.dark .post .draft-label { color: #e0d9ce; background-color: #4a3c30; }
.footer .footer-controls a:hover, .footer .footer-controls button:hover { color: #8a5a3b; border-color: #8a5a3b; }
html.dark .footer .footer-controls a:hover, html.dark .footer .footer-controls button:hover { color: #f0dfc4; border-color: #f0dfc4; }
.footer-controls :is(a, button):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
