/* 百養誌 1.6 — warm, readable editorial layout. Existing print rules stay intact. */
.ui-icon { display: inline-block; width: 1.25em; height: 1.25em; flex: 0 0 auto; vertical-align: -.2em; }
.header-search-trigger { display: none; }
.mobile-utility-links { display: none; }
.reader-settings > summary { cursor: pointer; }
.footer-brand { display: block; max-width: 230px; }

@media screen {
  :root {
    --n100-paper: #fffdf9;
    --n100-cream: #f4eee5;
    --n100-ink: #342a23;
    --n100-text: #40362e;
    --n100-muted: #706357;
    --n100-line: #dfd5c7;
    --n100-radius: 8px;
    --n100-wrap: min(1500px, calc(100% - clamp(36px, 7vw, 112px)));
  }
  body { font-size: 17px; }
  h1, h2, h3 { letter-spacing: -.015em; }
  a, button, summary { -webkit-tap-highlight-color: rgba(164, 124, 60, .15); }
  :focus-visible { outline: 3px solid var(--n100-leaf); outline-offset: 4px; }
  .text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .9rem; }
  .button { gap: 10px; border-radius: 5px; min-height: 48px; }
  .eyebrow { color: var(--n100-coral); letter-spacing: .13em; font-size: .75rem; }

  /* A two-level masthead; search and accessibility are always named. */
  .site-header { background: var(--n100-paper); backdrop-filter: none; border-bottom: 1px solid var(--n100-line); }
  .site-header__bar { min-height: 100px; gap: 28px; }
  .site-brand { flex: 0 0 auto; align-items: center; }
  /* Size one axis only: a capped height plus a fixed width letterboxes the mark. */
  .site-brand__custom-logo { width: auto; max-width: min(254px, 46vw); max-height: none; height: 72px; object-fit: contain; object-position: left center; }
  .site-tagline { border-left: 1px solid var(--n100-line); padding-left: 26px; font-size: .83rem; letter-spacing: .15em; color: var(--n100-muted); }
  .header-actions { gap: 24px; }
  .header-action { min-height: 44px; display: inline-flex; align-items: center; font-size: .85rem; }
  .header-action--accent { border: 0; border-radius: 0; padding: 0; background: transparent; color: var(--n100-leaf); }
  .primary-navigation { min-height: 58px; gap: 24px; border-top: 1px solid var(--n100-line); padding-block: 4px; }
  .site-menu { gap: clamp(14px, 1.8vw, 30px); }
  .primary-navigation .site-menu { flex: 1; min-width: 0; }
  .primary-navigation .site-menu a { display: flex; align-items: center; min-height: 44px; font-size: .93rem; font-weight: 650; white-space: normal; }
  .primary-navigation .site-menu a:hover { text-decoration: underline; text-underline-offset: 7px; }
  .search-form { border: 1px solid var(--n100-line); border-radius: 5px; background: var(--n100-white); overflow: hidden; }
  .search-form label { flex: 1; min-width: 0; }
  .search-form input { width: 160px; min-height: 44px; border: 0; border-radius: 0; background: transparent; padding: 8px 12px; font-size: 1rem; }
  .search-form button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; border: 0; border-radius: 0; padding: 8px 12px; background: var(--n100-ink); color: var(--n100-white); }
  .search-form button span { font-size: .83rem; }
  .topic-navigation { border: 0; background: var(--n100-cream); }
  .topic-navigation__inner { min-height: 46px; gap: 22px; }
  .topic-navigation a { display: inline-flex; align-items: center; min-height: 44px; font-size: .79rem; }
  .topic-navigation span { font-size: .75rem; }
  .topic-navigation .edition-switch { order: 2; margin-left: auto; }
  .topic-navigation .student-hub-link { order: 1; }

  /* The lead story is on the first screen, not beneath a landing-page banner. */
  .home-intro { background: transparent; border: 0; }
  .home-intro::after { content: none; }
  .home-intro__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 32px 0; }
  .home-intro h1 { margin: 5px 0 0; font-size: clamp(1.6rem, 2.5vw, 2.4rem); line-height: 1.4; letter-spacing: .01em; }
  .home-intro__copy { max-width: 380px; padding: 0; }
  .home-intro__copy > p { font-family: inherit; font-size: .9rem; line-height: 1.8; color: var(--n100-muted); }
  .home-hero { grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: clamp(28px, 3.5vw, 58px); padding-block: 26px 48px; }
  .hero-story__image { border-radius: 6px; background: var(--n100-cream); aspect-ratio: 16 / 9; min-height: 0; }
  .hero-story__image img { width: 100%; height: 100%; object-fit: contain; }
  .hero-story:hover .hero-story__image img { transform: none; }
  .home-hero .hero-story__content { padding-top: 18px; }
  .story-kicker { margin: 0 0 10px; color: var(--n100-coral); font-size: .77rem; font-weight: 750; letter-spacing: .13em; }
  .home-hero .hero-story__content h2 { margin: 12px 0; font-size: clamp(1.55rem, 2.6vw, 2.65rem); line-height: 1.4; }
  .hero-story__content > p:not(.story-kicker) { margin-block: 12px; font-size: .96rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .hero-side { display: grid; gap: 0; border-top: 2px solid var(--n100-ink); }
  .hero-side .section-label { margin: 0; padding-block: 12px; font-size: 1rem; letter-spacing: .08em; }
  .hero-side .article-card--compact { grid-template-columns: minmax(0, 1fr) 132px; gap: 18px; padding-block: 19px; border-bottom: 1px solid var(--n100-line); }
  .hero-side .article-card__image { grid-column: 2; grid-row: 1; align-self: start; aspect-ratio: 16 / 9; }
  .hero-side .article-card__body { grid-column: 1; grid-row: 1; }
  .hero-side .article-card__title { font-size: clamp(1rem, 1.25vw, 1.24rem); line-height: 1.6; margin-block: 6px; }

  /* Seven compact, text-labelled categories; no carousel to discover. */
  .topic-directory { background: var(--n100-cream); border-block: 1px solid var(--n100-line); padding-block: 30px 32px; }
  .topic-directory .section-heading { margin-bottom: 20px; }
  .topic-directory .section-heading h2 { font-size: 1.5rem; }
  .topic-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
  .topic-grid .topic-card { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 136px; padding: 18px 8px; border: 1px solid transparent; border-radius: 6px; background: var(--n100-paper); text-align: center; transition: border-color 160ms ease; }
  .topic-card::after { content: none; }
  .topic-card > .ui-icon { width: 32px; height: 32px; color: var(--n100-leaf); margin-bottom: 10px; }
  .topic-grid .topic-card h3 { margin: 0; font-family: inherit; font-size: 1rem; font-weight: 650; }
  .topic-grid .topic-card > span { margin-top: 5px; color: var(--n100-muted); font-size: .75rem; letter-spacing: .03em; }
  .topic-grid .topic-card:hover { border-color: var(--n100-leaf); transform: none; box-shadow: none; }

  .latest-section { padding-block: 56px; }
  .section-heading { align-items: end; gap: 20px; margin-bottom: 24px; }
  .section-heading h2 { margin: 5px 0 0; font-size: clamp(1.5rem, 2.4vw, 2.15rem); }
  .section-heading > .text-link { flex: 0 0 auto; }
  .section-heading p:not(.eyebrow) { max-width: 44em; margin-block: 8px 0; font-size: .9rem; color: var(--n100-muted); }
  .editorial-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 42px; align-items: start; }
  .article-grid { gap: 32px 26px; }
  .article-card { min-width: 0; background: transparent; border-radius: 0; box-shadow: none; }
  .article-card__image { position: relative; border-radius: 5px; aspect-ratio: 16 / 9; background: var(--n100-cream); }
  /* Match the legacy contextual selectors, whose mobile 1:1 won the cascade. */
  .latest-section .article-card__image,
  .topic-section .article-card__image,
  .archive-shell .article-card__image,
  .related-section .article-card__image { aspect-ratio: 16 / 9; }
  /* Reserve a real ratio box: intrinsic image height must not expand grid rows. */
  .article-card:not(.article-card--compact) > .article-card__image { height: 0; padding-top: 56.25%; aspect-ratio: auto; min-height: 0; width: 100%; }
  .article-card__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
  .article-card:hover .article-card__image img { transform: none; }
  .article-card__body { padding-top: 14px; }
  .article-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; font-size: .75rem; color: var(--n100-muted); }
  .article-card__meta span { display: inline-flex; gap: 5px; align-items: center; }
  .article-card__category { max-width: 100%; flex-wrap: wrap; }
  .article-card__time { white-space: nowrap; }
  .article-card__time .ui-icon { width: 14px; height: 14px; }
  .article-card__title { margin-block: 9px; font-size: 1.3rem; line-height: 1.55; }
  .article-card__title a:hover, .hero-story__content h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  .article-card__body > .article-card__excerpt { margin-block: 8px; color: var(--n100-muted); font-size: .9rem; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .article-card__body time { display: block; margin-top: 10px; font-size: .72rem; color: var(--n100-muted); letter-spacing: .06em; }
  .home-reading-note { padding: 28px; border-top: 3px solid var(--n100-leaf); background: var(--n100-cream); }
  .home-reading-note > .ui-icon { width: 38px; height: 38px; margin-top: 12px; color: var(--n100-leaf); }
  .home-reading-note h2 { font-size: 1.75rem; line-height: 1.5; margin-block: 18px 12px; }
  .home-reading-note p { font-size: .92rem; }
  .home-reading-note .button { margin-block: 12px 0; font-size: .85rem; padding-inline: 14px; }
  .home-reading-note__policy { margin-top: 32px; border-top: 1px solid var(--n100-line); padding-top: 24px; }
  .home-reading-note__policy h3 { font-family: inherit; font-size: 1.06rem; }
  .topic-section { padding-block: 38px 48px; border-top: 1px solid var(--n100-line); }
  .article-grid--four { gap: 26px; }
  .article-grid--four .article-card__title { font-size: 1.15rem; }
  .article-grid--four .article-card__excerpt { display: none; }
  .trust-manifesto { background: var(--n100-cream); color: #5f5146; padding-block: 42px; }
  .trust-manifesto__grid { gap: 44px; }
  .trust-manifesto h2 { color: #342a23; font-size: 1.9rem; line-height: 1.5; }
  .trust-points article { border-top-color: #d8c9b8; }
  .trust-points article > span { color: #8a642c; }
  .trust-points h3 { color: #342a23; font-size: 1.15rem; }
  .trust-points p { color: #5f5146; font-size: .9rem; }

  /* Archive and article templates share the same calmer type and surfaces. */
  .archive-hero { background: var(--n100-cream); padding-block: 40px; }
  .archive-hero h1, .page-header h1 { font-size: clamp(2rem, 4vw, 3.5rem); }
  .archive-guide { border-radius: 6px; }
  .article-cover { margin: 0 0 24px; border-radius: 6px; }
  .article-cover figcaption { font-size: .75rem; line-height: 1.7; color: var(--n100-muted); }
  .article-header h1 { font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.4; margin-block: 14px 18px; text-wrap: pretty; overflow-wrap: anywhere; }
  .article-header__category { margin-bottom: 12px; }
  .article-standfirst { font-size: 1.1rem; line-height: 1.9; }
  .article-byline { gap: 8px 18px; margin-top: 20px; font-size: .82rem; }
  .listen-tools { margin-block: 22px; padding: 14px 16px; border-radius: 6px; }
  .article-toc { margin-block: 26px; padding: 0; }
  .article-toc summary { cursor: pointer; min-height: 44px; padding: 12px 18px; font-size: 1rem; font-weight: 650; }
  .article-toc details[open] > summary { border-bottom: 1px solid var(--n100-line); }
  .article-toc ol { margin: 0; padding: 16px 24px 18px 40px; }
  .article-toc, .article-takeaways, .sidebar-panel { border-radius: 6px; box-shadow: none; }
  .editorial-sidebar { top: 230px; }
  .sidebar-panel { padding: 24px; }
  .sidebar-panel h2 { font-size: 1.45rem; }
  .site-footer { border-top: 1px solid var(--n100-line); background: var(--n100-paper); color: var(--n100-text); padding-top: 48px; }
  .site-footer a, .site-footer p, .site-footer .footer-heading { color: var(--n100-text); }
  .site-footer .footer-heading { font-size: 1rem; }
  .site-footer__nav .site-menu a, .site-footer__nav .footer-menu a { display: inline-flex; align-items: center; min-height: 44px; color: var(--n100-text); font-size: 1rem; font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 5px; }
  .site-footer__nav .footer-menu.footer-menu--trust a { color: #40362e; -webkit-text-fill-color: #40362e; opacity: 1; visibility: visible; }
  .site-footer__nav .site-menu a:hover, .site-footer__nav .site-menu a:focus-visible, .site-footer__nav .footer-menu a:hover, .site-footer__nav .footer-menu a:focus-visible { color: var(--n100-ink); text-decoration: underline; }
  .site-footer__lede { margin-top: 22px; font-size: .92rem; }
  .site-footer__intro .button { border: 1px solid var(--n100-line); background: transparent; font-size: .88rem; }
  .site-footer__bottom { border-color: var(--n100-line); padding-block: 22px; }
  .site-footer__bottom .site-footer__notice, .site-footer__copyright { color: var(--n100-muted); }

  @media (max-width: 1180px) {
    .site-tagline { display: none; }
    .primary-navigation { gap: 16px; }
    .primary-navigation .site-menu { gap: 12px; flex-wrap: wrap; }
    .primary-navigation .site-menu a { font-size: .87rem; }
    .search-form input { width: 140px; }
    .hero-side .article-card--compact { grid-template-columns: minmax(0, 1fr) 100px; gap: 14px; }
    .editorial-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 30px; }
    .home-reading-note { padding: 22px; }
    .topic-grid { gap: 8px; }
    .topic-grid .topic-card h3 { font-size: .9rem; }
  }
  @media (max-width: 960px) {
    .home-intro__copy { max-width: 280px; }
    .home-hero { grid-template-columns: minmax(0, 1.2fr) minmax(260px, 1fr); gap: 26px; }
    .hero-side .article-card--compact { grid-template-columns: minmax(0, 1fr) 85px; }
    .hero-side .article-card__time { display: none; }
    .hero-side .article-card__title { font-size: 1rem; }
    .editorial-layout { grid-template-columns: 1fr; }
    .home-reading-note { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
    .home-reading-note > .ui-icon { display: none; }
    .home-reading-note > * { grid-column: 1; }
    .home-reading-note__policy { grid-column: 2; grid-row: 1 / span 4; margin: 0; border-top: 0; border-left: 1px solid var(--n100-line); padding: 8px 0 8px 28px; }
    .home-reading-note h2 { margin-top: 8px; }
    .home-reading-note .button { justify-self: start; }
    .article-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .topic-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .topic-grid .topic-card { min-height: 120px; }
    .topic-grid .topic-card h3 { font-size: 1rem; }
  }
  @media (max-width: 760px) {
    :root { --n100-wrap: calc(100% - 36px); }
    body { font-size: 17px; }
    .site-header__bar { min-height: 78px; gap: 12px; }
    .site-brand__custom-logo { width: auto; max-width: min(180px, 52vw); height: 46px; }
    .header-actions { display: none; }
    .site-header[data-menu-ready="true"] .header-search-trigger { display: flex; }
    .header-search-trigger { margin-left: auto; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-width: 44px; min-height: 48px; padding: 0; border: 0; background: transparent; color: var(--n100-ink); font: inherit; font-size: .72rem; }
    .header-search-trigger .ui-icon { width: 22px; height: 22px; }
    .menu-toggle[data-menu-ready="true"] { flex-direction: column-reverse; justify-content: center; gap: 5px; min-width: 44px; min-height: 48px; margin: 0; padding: 0; border: 0; border-radius: 0; }
    .menu-toggle__label { font-size: .72rem; font-weight: 500; }
    .menu-toggle__icon { width: 22px; }
    .primary-navigation { border: 0; padding-block: 16px 22px; }
    .primary-navigation[data-menu-ready="true"].is-open { position: fixed; left: 0; right: 0; width: 100%; padding-inline: 18px; max-height: 75dvh; overflow-y: auto; background: var(--n100-paper); box-shadow: 0 20px 35px #342a2326; }
    .primary-navigation .site-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
    .primary-navigation .site-menu a { min-height: 52px; font-size: 1rem; }
    .primary-navigation .search-form { width: 100%; margin-top: 16px; }
    .mobile-utility-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; }
    .mobile-utility-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .9rem; }
    .search-form input { width: 100%; min-height: 48px; }
    .search-form button { min-height: 48px; }
    .topic-navigation { display: none; }
    .menu-open .reader-settings, .menu-open .header-search-trigger { visibility: hidden; }
    .home-intro__inner { display: block; padding-block: 24px 0; }
    .home-intro h1 { font-size: 1.65rem; }
    .home-intro .eyebrow { font-size: .68rem; }
    .home-intro__copy { max-width: none; }
    .home-intro__copy > p { margin: 8px 0 0; font-size: .84rem; }
    .home-hero { grid-template-columns: 1fr; padding-block: 22px 32px; gap: 30px; }
    .hero-story__image { min-height: 0; }
    .home-hero .hero-story__content { padding: 16px 0 0; }
    .home-hero .hero-story__content h2 { font-size: 1.65rem; line-height: 1.5; }
    .hero-story__content > p:not(.story-kicker) { font-size: .94rem; }
    .hero-side .article-card--compact { grid-template-columns: minmax(0, 1fr) 112px; padding-block: 16px; }
    .hero-side .article-card__title { font-size: 1.05rem; }
    .hero-side .article-card__time { display: inline-flex; }
    .hero-side .article-card__body { padding: 0; }
    .hero-side .article-card__body time { display: none; }
    .topic-directory { padding-block: 25px; }
    .topic-directory .section-heading h2 { font-size: 1.3rem; }
    .topic-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .topic-grid .topic-card { min-height: 108px; padding: 12px 4px; }
    .topic-grid .topic-card h3 { font-size: .88rem; line-height: 1.5; }
    .topic-card > .ui-icon { width: 26px; height: 26px; }
    .topic-grid .topic-card > span { display: none; }
    .latest-section { padding-block: 36px; }
    .section-heading { flex-direction: row; align-items: center; gap: 14px; }
    .section-heading h2 { font-size: 1.5rem; }
    .section-heading .text-link { font-size: .8rem; }
    .article-grid { grid-template-columns: 1fr; gap: 20px; }
    .article-card:not(.article-card--compact) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-bottom: 1px solid var(--n100-line); padding-bottom: 16px; }
    .article-card__image { aspect-ratio: 16 / 9; }
    .article-card__body { padding-top: 10px; }
    .article-card__title, .article-grid--four .article-card__title { font-size: 1.24rem; line-height: 1.6; }
    .article-card__meta span { display: inline-flex; }
    .article-card__body time { display: block; }
    .article-card__body > .article-card__excerpt { display: -webkit-box; }
    .article-grid--four .article-card__excerpt { display: none; }
    .home-reading-note { display: block; padding: 24px; }
    .home-reading-note h2 { font-size: 1.6rem; }
    .home-reading-note__policy { margin-top: 24px; border-left: 0; border-top: 1px solid var(--n100-line); padding: 20px 0 0; }
    .topic-section { padding-block: 28px; }
    .topic-section .section-heading { align-items: start; }
    .topic-section .section-heading p:not(.eyebrow) { display: none; }
    .trust-manifesto { padding-block: 30px; }
    .trust-manifesto__grid { gap: 24px; }
    .trust-manifesto h2 { font-size: 1.65rem; }
    .trust-points { gap: 22px; }
    .archive-hero { padding-block: 28px; }
    .article-header h1 { font-size: clamp(1.7rem, 5.8vw, 2.1rem); line-height: 1.45; }
    .article-standfirst { font-size: 1.03rem; line-height: 1.9; }
    .article-cover figcaption { padding-inline: 0; }
    .article-byline { flex-direction: row; flex-wrap: wrap; }
    .article-shell, .archive-shell, .content-shell { padding-top: 28px; }
    .footer-brand { max-width: 210px; }
    .site-footer { padding-top: 32px; }
    .site-footer__grid { gap: 30px; }
  }
  @media (max-width: 360px) {
    .site-header__bar { gap: 6px; }
    .site-brand__custom-logo { height: 44px; }
    .topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hero-side .article-card--compact { grid-template-columns: minmax(0, 1fr) 88px; gap: 12px; }
    .section-heading { flex-wrap: wrap; }
  }
  html[data-contrast="high"] { --n100-paper: #fff; --n100-cream: #fff; --n100-line: #000; --n100-ink: #000; --n100-text: #000; --n100-muted: #111; --n100-leaf: #000; --n100-coral: #000; }
  html[data-contrast="high"] .topic-card { border-color: #000; }
  html[data-contrast="high"] .home-reading-note { border: 2px solid #000; }
  html[data-font-scale="xlarge"] .primary-navigation .site-menu { flex-wrap: wrap; }
  html[data-font-scale="xlarge"] .topic-grid { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
}

/* Reading tools occupy their own row, outside the article/sidebar columns.
   Native details remains usable before deferred scripts initialize. */
.reader-settings { position: relative; inset: auto; z-index: auto; width: fit-content; max-width: calc(100% - 36px); margin: 12px max(18px, calc((100% - 1320px) / 2)); }
.reader-settings > summary { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 6px; width: fit-content; min-height: 44px; padding: 8px 12px; border: 1px solid var(--n100-leaf); border-radius: 8px; background: var(--n100-paper); color: var(--n100-ink); list-style: none; font-family: system-ui, sans-serif; font-size: .8rem; font-weight: 750; line-height: 1.4; cursor: pointer; box-sizing: border-box; }
.reader-settings > summary::-webkit-details-marker { display: none; }
.reader-settings__icon { font-size: 1.15rem; line-height: 1.2; }
.reader-settings > summary:focus-visible { outline: 3px solid var(--n100-ink); outline-offset: 3px; }
.reader-settings .reader-tools { position: relative; inset: auto; transform: none; width: min(370px, calc(100vw - 36px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); margin-top: 8px; overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 18px; border: 1px solid var(--n100-line); border-radius: 16px; background: var(--n100-paper); color: var(--n100-ink); overflow-wrap: anywhere; }
.reader-settings:not([open]) > .reader-tools { display: none; }
.reader-tools__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reader-tools__heading strong { font-size: 1.1rem; }
.reader-tools__hint { margin: 12px 0; font-size: .9rem; line-height: 1.7; color: var(--n100-muted); }
.reader-settings .reader-tools__inner { display: block; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; }
.reader-settings .reader-tools__group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.reader-settings .reader-tools__group > span { display: block; grid-column: 1 / -1; font-size: 1rem; }
.reader-tools__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-block: 16px; }
.reader-settings .reader-tools button { min-width: 48px; min-height: 48px; margin: 0; padding: 10px 8px; border-radius: 8px; font-size: .95rem; line-height: 1.5; white-space: normal; }
.reader-settings .reader-tools button[hidden] { display: none; }
.reader-settings .reader-tools__reset { width: 100%; border-style: dashed; }
.reader-settings .listen-tools { margin: 18px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--n100-line); border-radius: 0; background: transparent; }
.reader-settings .listen-tools > strong { flex-basis: 100%; font-size: 1rem; }
.reader-settings .listen-tools button { flex: 1 1 auto; }
.menu-open .reader-settings { visibility: hidden; }
html[data-reader-typeface="on"] body,
html[data-reader-typeface="on"] :is(h1, h2, h3, h4, p, blockquote, button, input, select, textarea) { font-family: -apple-system, BlinkMacSystemFont, "PingFang HK", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif; }
html[data-reader-spacing="on"] :is(.prose, .article-standfirst, .content-shell, .article-card__excerpt) { line-height: 2.2; letter-spacing: .035em; word-spacing: .08em; }
html[data-reader-spacing="on"] .prose :is(p, li, td, th) { line-height: 2.2; }
html[data-reader-spacing="on"] .prose p { margin-block: 1.5em; }
html[data-reader-links="on"] a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
html[data-reader-motion="on"], html[data-reader-motion="on"] *, html[data-reader-motion="on"] *::before, html[data-reader-motion="on"] *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
@media (max-width: 600px) {
  .reader-settings .reader-tools { padding: 16px; }
}
@media (forced-colors: active) {
  .reader-settings > summary, .reader-settings .reader-tools, .reader-settings .reader-tools button { border-color: ButtonText; box-shadow: none; }
  .reader-settings .reader-tools button[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .topic-card, .button, .article-card img, .hero-story img { transition: none; }
}
@media print {
  .reader-settings, .header-search-trigger { display: none !important; }
}

/* Retrospective discovery: high-contrast, touch-friendly, no false publication dates. */
.historical-home { margin-block: 48px; }
.historical-guides { padding-block: 28px 64px; }
.historical-guides__header { max-width: 780px; margin-block: 24px; }
.historical-guides__header h1 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.25; }
.historical-disclosure { padding: 20px; background: #f3ede4; color: #49372c; border-left: 4px solid #9a652d; line-height: 1.9; }
.historical-year-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.historical-year-card { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #f3ede4; color: #34271e; border: 1px solid #b9a68f; border-radius: 12px; text-decoration: none; }
.historical-year-card strong { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.4; }
.historical-year-card__action { color: #704019; text-decoration: underline; text-underline-offset: .2em; font-weight: 700; }
.historical-year-card:hover { border-color: #704019; }
.historical-year-card:focus-visible, .historical-period-nav a:focus-visible { outline: 3px solid #704019; outline-offset: 4px; }
.historical-period-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 24px; }
.historical-period-nav a { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; border: 1px solid #9a652d; border-radius: 24px; color: #49372c; text-decoration: none; }
.historical-period-nav a[aria-current="page"] { background: #49372c; color: #fffaf2; }
.historical-guides__count, .historical-article__coverage, .historical-article-label { color: #49372c; line-height: 1.7; }
.historical-article__coverage { margin-block: 0 12px; font-weight: 700; }
.historical-article-label a { color: #704019; text-decoration: underline; text-underline-offset: .2em; font-weight: 700; }
.historical-article-grid { margin-top: 24px; }
html[data-contrast="high"] :is(.historical-disclosure, .historical-year-card) { background: #fff; color: #000; border-color: #000; }
html[data-contrast="high"] :is(.historical-year-card__action, .historical-period-nav a, .historical-guides__count, .historical-article__coverage, .historical-article-label, .historical-article-label a) { color: #000; }
html[data-contrast="high"] .historical-period-nav a[aria-current="page"] { background: #000; color: #fff; }
@media (max-width: 600px) { .historical-year-grid { grid-template-columns: 1fr; } .historical-year-card { padding: 20px; } .historical-guides__header h1 { font-size: 2rem; } }
