/* Retain the reference layout and type scale using genuine PuHuiTi 3 faces. */
html body, html body .wp-site-blocks, html body .wp-site-blocks * { font-family: "Alibaba PuHuiTi", sans-serif !important; font-synthesis: style; }
.private-cell { display:inline-block; height:.72em; position:relative; vertical-align:baseline; }
.private-cell::before { content:""; display:block; position:absolute; bottom:0; left:10%; width:min(.72em,80%); aspect-ratio:1; background:currentColor; }
a:not([href]) { cursor: default; }
/* Pointer clicks have no focus frame; keyboard focus uses an underline. */
html body :is(a,button,[role="button"]):focus { outline:none !important; }
html body :is(a,button,[role="button"]):focus-visible { text-decoration:underline; text-underline-offset:.2em; }
html body .theme-toggle:focus-visible::before { outline:none; background:rgba(127,127,127,.18); }
@media(max-width:781px) {
  footer .wp-block-columns { display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:end !important; gap:16px !important; }
  footer .wp-block-columns > .wp-block-column { min-width:0; margin:0 !important; align-self:end !important; }
  footer .wp-block-columns > .wp-block-column:last-child { text-align:right; }
  footer .is-footer-address,footer .wp-block-column:last-child > p { margin-bottom:0 !important; }
}
/* History restoration must jump directly to the saved position.
   The back-to-top button owns its separate requestAnimationFrame easing. */
html { scroll-behavior: auto !important; }
.weekly-title-link { color: inherit; text-decoration: none; }
.weekly-title-link:hover { text-decoration: underline; text-underline-offset: .18em; }
.scientific-quantity { white-space:nowrap; overflow-wrap:normal; word-break:normal; }
:is(.weekly-entry,.weekly-article) :is(sup,sub) { font-size:.72em; line-height:0; position:relative; vertical-align:baseline; }
:is(.weekly-entry,.weekly-article) sup { top:-.5em; }
:is(.weekly-entry,.weekly-article) sub { bottom:-.2em; }
header .wp-block-site-title { text-transform: none !important; }
.wp-block-accordion-panel[hidden] { display: none !important; }
.wp-block-navigation__overlay-container { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__overlay-container { display: block; }
@font-face { font-family:"NewGardiner"; src:url("assets/fonts/NewGardiner-U1314E.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:block; }
.hero-emblem { width:1461px; max-width:100%; height:clamp(220px,30vw,430px); display:grid; place-items:center; }
html body .wp-site-blocks .hero-symbol { display:block; font-family:"NewGardiner" !important; font-size:clamp(110px,12vw,160px); font-weight:400; font-style:normal; font-synthesis:none; line-height:1; letter-spacing:0; color:#1a1a1a; }
html[data-theme="dark"] body .wp-site-blocks .hero-symbol { color:#e7e7e3; }
.about-poem { margin-top: 24px; }
.about-poem + .about-poem { margin-top: 36px; }
.about-poem h3 { font-size: 16px; font-weight: 600; line-height: 1.6; margin: 0; }
.about-poem .poem-author { font-size: 14px; margin: 6px 0 14px; opacity: .65; }
.about-poem .poem-lines { white-space: pre-line; line-height: 1.9; margin: 0; }
/* Keep column sizing independent of the intrinsic width of collapsed summaries. */
.wp-container-core-group-is-layout-fbb32108,
.wp-container-core-columns-is-layout-4d473b37 { width: 100%; box-sizing: border-box; }
.wp-container-core-columns-is-layout-4d473b37 > aside,
.wp-container-core-columns-is-layout-4d473b37 > main { min-width: 0; box-sizing: border-box; }
@media (min-width: 782px) {
  .wp-container-core-columns-is-layout-4d473b37 { display: grid !important; grid-template-columns: minmax(320px, 30%) minmax(0, 1fr); }
  .wp-container-core-columns-is-layout-4d473b37 > aside { padding-right: 24px !important; }
}
.weekly-entry .wp-block-file { color: #757575; }
.theme-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.theme-navigation > * { margin: 0 !important; }
.language-toggle { margin-left: -12px !important; }
.language-toggle svg { position: relative; }
html[lang="zh-CN"] aside p, html[lang="zh-CN"] .wp-block-accordion-panel p { line-height: 1.9; }
html.language-changing::view-transition-group(root) { animation-duration: 280ms; animation-timing-function: cubic-bezier(.4,0,.2,1); }
html.language-changing::view-transition-old(root) { animation: language-out 100ms ease-in both; mix-blend-mode: normal; }
html.language-changing::view-transition-new(root) { animation: language-in 180ms 100ms ease-out both; mix-blend-mode: normal; }
@keyframes language-out { to { opacity: 0; } }
@keyframes language-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide-in-down { from { opacity: 0; } to { opacity: 1; } }
header .home-brand { font:inherit; color:inherit; letter-spacing:inherit; line-height:inherit; }
html[data-theme="dark"] header .wp-block-site-title,
html[data-theme="dark"] header .wp-block-site-title a,
html[data-theme="dark"] header .home-brand { color: #e7e7e3 !important; }
.theme-toggle { position: relative; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: transparent; color: #1a1a1a; cursor: pointer; -webkit-tap-highlight-color: transparent; }
/* A solid 32px hover disk inside a comfortable 44px hit area. */
.theme-toggle::before { content: ""; position: absolute; inset: 6px; border: 0; border-radius: 50%; background: #e5e5e5; opacity: 0; pointer-events: none; transition: opacity 150ms cubic-bezier(.2,.7,.3,1); }
@media (hover: hover) { .theme-toggle:hover::before { opacity: 1; } }
.theme-toggle:focus { outline: none; }
.theme-toggle:focus-visible::before { opacity: 1; outline: 2px solid currentColor; outline-offset: 2px; }
.theme-icon { position: absolute; width: 17px; height: 17px; pointer-events: none; }
.theme-icon-moon { opacity: 1; }
.theme-icon-sun { opacity: 0; }
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; background: #181a1b; }
html[data-theme="dark"] body {
  --wp--preset--color--background: #181a1b;
  --wp--preset--color--custom-black: #e7e7e3;
  --wp--preset--color--custom-gray: #a9abaa;
  --wp--preset--color--primary: #d7d9d6;
  --wp--preset--color--secondary: #e7e7e3;
  --wp--preset--color--tertiary: #242728;
  --wp--preset--color--white: #181a1b;
  --wp--preset--color--black: #e7e7e3;
  background: #181a1b; color: #e7e7e3;
}
html[data-theme="dark"] .theme-toggle { color: #e7e7e3; }
html[data-theme="dark"] .theme-toggle::before { background: #404343; }
html[data-theme="dark"] .theme-icon-moon { opacity: 0; }
html[data-theme="dark"] .theme-icon-sun { opacity: 1; }
html[data-theme="dark"] aside .wp-block-paragraph,
html[data-theme="dark"] .about-poem h3,
html[data-theme="dark"] .about-poem .poem-author,
html[data-theme="dark"] .weekly-entry h3,
html[data-theme="dark"] .wp-block-accordion-panel .wp-block-paragraph,
html[data-theme="dark"] .wp-block-accordion-heading__toggle,
html[data-theme="dark"] footer .wp-block-site-title,
html[data-theme="dark"] footer .is-footer-address { color: #e7e7e3 !important; }
html[data-theme="dark"] .weekly-entry .wp-block-file,
html[data-theme="dark"] .weekly-entry p[style*="color:#757575"] { color: #a9abaa !important; }
html[data-theme="dark"] footer p[style*="color:#1a1a1a"] { color: #b8bbb8 !important; }
html[data-theme="dark"] .wp-block-navigation__overlay-container > .wp-block-group { background: #181a1bf5 !important; }
@media (max-width: 599px) { .theme-navigation { gap: 12px; } }
/* Reveal two fully rendered themes; never interpolate text or blend snapshots. */
html.theme-changing::view-transition-group(root),
html.theme-changing::view-transition-old(root),
html.theme-changing::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
html.theme-changing::view-transition-old(root) { z-index: 1; }
html.theme-changing::view-transition-new(root) { z-index: 2; }
html.theme-changing::view-transition { pointer-events: none; }
.back-to-top { --reading-progress: 0; position: fixed; z-index: 30; right: 5%; bottom: max(120px,12vh); width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px); transition: opacity 240ms cubic-bezier(.22,1,.36,1), transform 240ms cubic-bezier(.22,1,.36,1), visibility 0s linear 240ms; -webkit-tap-highlight-color: transparent; }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.back-to-top-disc { fill: #1a1a1a; stroke: none; }
.back-to-top-progress { position: absolute; inset: 0; width: 52px; height: 52px; overflow: visible; }
.back-to-top-ring { fill: none; stroke: #1a1a1a; stroke-width: 1.4px; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--reading-progress) * 100); }
.back-to-top-arrow { fill: none; stroke: currentColor; stroke-width: 2.6px; stroke-linecap: round; stroke-linejoin: round; }
.back-to-top:focus { outline: none; }
.back-to-top:focus-visible { outline: 2px solid #757575; outline-offset: 5px; }
@media (hover: hover) { .back-to-top:hover .back-to-top-disc { fill: #3c3c3c; } }
html[data-theme="dark"] .back-to-top { color: #1a1a1a; }
html[data-theme="dark"] .back-to-top-disc { fill: #e7e7e3; }
html[data-theme="dark"] .back-to-top-ring { stroke: #e7e7e3; }
@media (hover: hover) { html[data-theme="dark"] .back-to-top:hover .back-to-top-disc { fill: #fff; } }
@media (max-width: 599px) { .back-to-top { right: max(18px,env(safe-area-inset-right)); bottom: max(112px,calc(env(safe-area-inset-bottom) + 96px)); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .theme-toggle::before { transition: none !important; }
  .back-to-top { transition: none; transform: none; }
}
