/* PropagandaScope, the public site in its new shape (owner, 13 October 2026). One column for reading, phone first.
   The look is taken from the approved data cards: a light blue ground, a white panel, a serif headline, one blue as the
   main colour, grey for context. Fonts are served from this site (Inter, Source Serif 4; SIL Open Font License). */

@font-face { font-family: "PS Sans"; src: url(fonts/inter-latin.woff2) format("woff2"); font-weight: 400 700; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "PS Sans"; src: url(fonts/inter-latin-ext.woff2) format("woff2"); font-weight: 400 700; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "PS Serif"; src: url(fonts/sourceserif4-latin.woff2) format("woff2"); font-weight: 400 700; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "PS Serif"; src: url(fonts/sourceserif4-latin-ext.woff2) format("woff2"); font-weight: 400 700; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --ground: #dbe5f0;        /* the cards' light blue */
  --panel: #fcfcfb;
  --ink: #0b0b0b; --ink2: #52514e; --muted: #898781;
  --on-blue: #33404f; --on-blue-muted: #4f5b6a; --rule: #b9c7d6;
  --text: var(--on-blue); --text-muted: var(--on-blue-muted); --accent: #2a78d6;
  --blue: #2a78d6; --red: #e34948; --grid: #e1e0d9; --axis: #c3c2b7;
  --sans: "PS Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;
  --serif: "PS Serif", "Songti SC", "Noto Serif CJK SC", "SimSun", Georgia, serif;
  --col: 44rem;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 400 1rem/1.55 var(--sans); }
a { color: inherit; text-decoration-color: rgba(42, 120, 214, .55); text-underline-offset: .18em; }
a:hover { text-decoration-color: var(--blue); }
.zh { font-family: var(--sans); }
.wrap { max-width: var(--col); margin: 0 auto; padding: 0 1rem; }

/* masthead: the site's own mark and name */
.top { padding: 1.1rem 0 .4rem; }
.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; font: 650 1.06rem/1 var(--sans); letter-spacing: -.01em; }
.brand svg { width: 1.6rem; height: 1.6rem; flex: none; }
.nav { display: flex; gap: .3rem 1.1rem; flex-wrap: wrap; font-size: .94rem; color: var(--text); }
.nav a { text-decoration: none; padding: .2rem 0; border-bottom: 2px solid transparent; }
.nav a[aria-current="page"] { border-bottom-color: var(--ink); color: var(--ink); }
.preview-flag { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }

main { padding: 1.2rem 0 3rem; }
h1, h2.serif, .headline { font-family: var(--serif); font-weight: 600; letter-spacing: -.012em; text-wrap: balance; }
h1 { font-size: 2rem; line-height: 1.14; margin: .4rem 0 .9rem; }
h2 { font-size: 1.2rem; line-height: 1.3; margin: 2.2rem 0 .6rem; }
.lead p, .prose p { margin: 0 0 .9rem; font-size: 1.06rem; color: var(--text); text-wrap: pretty; }
.prose p, .prose li { color: var(--ink); }
.prose ul { padding-left: 1.2rem; }
.kicker { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); font-weight: 600; margin: 0; }
.dated { font-size: .86rem; color: var(--text-muted); margin: 0 0 1.2rem; }
.connector { margin: 1.8rem 0 0; padding: 1.2rem 0; border-block: 1px solid var(--rule); color: var(--text); scroll-margin-top: 1rem; }
.connector h2 { margin: .4rem 0 .65rem; font: 600 1.6rem/1.2 var(--serif); color: var(--ink); }
.connector > p { margin: 0 0 .6rem; }
.connector .kicker { margin: 0; color: var(--accent); }
.connector blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 2px solid var(--accent); font-family: var(--serif); }
.connector blockquote:last-child { margin-bottom: 0; }
.draft-flag { display: inline-block; font-size: .8rem; font-weight: 600; color: #7a2b00; background: #ffe8d6; border-radius: .3rem; padding: .15rem .5rem; margin: 0 0 .8rem; }

/* a card */
.card { margin: 0 0 2.6rem; }
.card .q { margin: .2rem 0 0; font-size: 1.04rem; line-height: 1.38; color: var(--text); }
.card .q b { color: var(--ink); font-weight: 650; }
.card .q span { display: block; font-size: .86rem; color: var(--text-muted); margin-top: .15rem; }
.card .headline { font-size: 1.62rem; line-height: 1.22; margin: .65rem 0 0; text-wrap: pretty; }
.card .headline a { text-decoration: none; }
.card .headline a:hover { text-decoration: underline; text-decoration-color: var(--blue); }
.panel { background: var(--panel); border-radius: .6rem; padding: .9rem .75rem .8rem; margin: 1rem 0 0; }
.panel .sub { font-size: .9rem; line-height: 1.42; color: var(--ink2); margin: 0 0 .35rem; }
.legend { display: flex; flex-wrap: wrap; gap: .25rem 1.1rem; font-size: .82rem; color: var(--ink2); margin: .3rem 0 .4rem; }
.lg { display: inline-flex; align-items: center; gap: .45rem; }
.lg i { width: 1.1rem; height: 3px; border-radius: 2px; display: inline-block; }
.lg b { width: .72rem; height: .72rem; border-radius: 3px; display: inline-block; flex: none; }
.lg b.dot { border-radius: 50%; }
.lg u { width: .62rem; height: .62rem; border-radius: 50%; border: 2px solid var(--ink2); display: inline-block; }
.lg em { font-style: normal; color: var(--muted); }
.ramp { display: inline-flex; }
.ramp b { width: .7rem; border-radius: 0; }
.chart { display: block; width: 100%; height: auto; margin-top: .45rem; overflow: visible; }
.chart-wide { display: none; }
@media (min-width: 40rem) { .chart-narrow { display: none; } .chart-wide { display: block; } }
.explain { font-size: 1.08rem; line-height: 1.5; margin: 1rem 0 0; text-wrap: pretty; }
.foot { margin: 1rem 0 0; padding-top: .7rem; border-top: 1px solid var(--rule); font-size: .82rem; line-height: 1.5; color: var(--text-muted); }
.foot p { margin: 0 0 .5rem; }
.open { display: inline-block; margin-top: .9rem; font-weight: 600; font-size: .95rem; }

/* chart text (sizes in the chart's own units: narrow and wide drawings) */
.chart text { font-family: var(--sans); fill: var(--ink2); }
.t-tick { fill: var(--muted) !important; font-variant-numeric: tabular-nums; }
.t-val, .t-valsm, .t-name-b { fill: var(--ink) !important; font-weight: 650; }
.t-name-b { font-weight: 600; }
.t-small, .t-tiny, .t-name-zh { fill: var(--muted) !important; }
.t-cell { font-variant-numeric: tabular-nums; }
.chart-narrow .t-tick { font-size: 11px; } .chart-narrow .t-lab { font-size: 11.5px; } .chart-narrow .t-val { font-size: 13px; }
.chart-narrow .t-valsm { font-size: 12px; } .chart-narrow .t-name, .chart-narrow .t-name-b { font-size: 11.5px; }
.chart-narrow .t-small { font-size: 10.5px; } .chart-narrow .t-tiny { font-size: 9px; } .chart-narrow .t-chip { font-size: 11px; }
.chart-wide .t-tick { font-size: 12.5px; } .chart-wide .t-lab { font-size: 13px; } .chart-wide .t-val { font-size: 15px; }
.chart-wide .t-valsm { font-size: 13.5px; } .chart-wide .t-name, .chart-wide .t-name-b { font-size: 13px; }
.chart-wide .t-small { font-size: 12px; } .chart-wide .t-tiny { font-size: 10px; } .chart-wide .t-chip { font-size: 13px; }

/* card 5: chips */
.chips-title { font-weight: 650; font-size: .95rem; margin: .7rem 0 .35rem; }
.chips-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.chip { font-size: .84rem; padding: .32rem .6rem; border-radius: .35rem; }
.chip .zh { font-size: .76rem; opacity: .8; }
.chip-first { background: var(--blue); color: #fff; }
.chip-next { background: #9ec5f4; color: var(--ink); }
.chip-later { background: #e9e8e4; color: var(--ink2); }
.chip-notyet { background: var(--panel); color: var(--muted); border: 1px solid var(--axis); }

/* card 10: the heat map as a table */
.heat-wrap { margin-top: .5rem; }
table.heat { border-collapse: separate; border-spacing: 2px; width: 100%; table-layout: fixed; font-size: .7rem; font-variant-numeric: tabular-nums; }
.heat th, .heat td { padding: 0; text-align: center; }
.heat thead th { vertical-align: bottom; font-weight: 600; line-height: 1.15; padding-bottom: .25rem; }
.heat .heat-paper { width: 6.4rem; text-align: right; padding-right: .35rem; font-weight: 400; color: var(--ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.heat tr.pd .heat-paper { color: var(--ink); font-weight: 600; }
.heat .heat-term .zh { display: block; writing-mode: vertical-rl; margin: 0 auto; font-size: .78rem; }
.heat .heat-term .en { display: none; }
.heat .heat-art { width: 2.4rem; color: var(--ink2); }
.heat .heat-art .en { display: block; font-weight: 400; font-size: .62rem; color: var(--muted); }
.heat td { height: 1.25rem; border-radius: 2px; }
.h0 { background: #eeede9; color: var(--ink2); }
.h1 { background: #cde2fb; } .h2 { background: #b7d3f6; } .h3 { background: #9ec5f4; } .h4 { background: #86b6ef; }
.h5 { background: #6da7ec; } .h6 { background: #5598e7; } .h7 { background: #3987e5; color: #fff; } .h8 { background: #2a78d6; color: #fff; }
.h9 { background: #256abf; color: #fff; } .h10 { background: #1c5cab; color: #fff; } .h11 { background: #184f95; color: #fff; }
.h12 { background: #104281; color: #fff; } .h13 { background: #0d366b; color: #fff; }
@media (min-width: 40rem) {
  table.heat { font-size: .78rem; }
  .heat .heat-paper { width: 9.5rem; }
  .heat .heat-term .zh { writing-mode: horizontal-tb; font-size: .8rem; }
  .heat .heat-term .en { display: block; font-weight: 400; font-size: .64rem; color: var(--muted); overflow-wrap: anywhere; }
}

/* the figures behind a chart */
details.figures { margin: 1.2rem 0 0; background: var(--panel); border-radius: .6rem; padding: .6rem .75rem; }
details.figures summary { cursor: pointer; font-weight: 600; font-size: .95rem; }
.tbl-wrap { overflow-x: auto; margin-top: .5rem; }
table.tbl { border-collapse: collapse; width: 100%; font-size: .8rem; font-variant-numeric: tabular-nums; }
.tbl th, .tbl td { text-align: left; padding: .28rem .4rem; border-bottom: 1px solid var(--grid); vertical-align: top; }
.tbl th { font-weight: 600; color: var(--ink2); }
.tbl td.num, .tbl th.num { text-align: right; }

.card-tools { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin: 1rem 0 0; font-size: .9rem; }
.outside { font-size: .82rem; color: var(--text-muted); margin: .9rem 0 0; }
.outside ul { margin: .3rem 0 0; padding-left: 1.1rem; }
.outside a { word-break: break-all; }
.research-sources { max-width: 46rem; font-size: .95rem; line-height: 1.6; color: var(--text-muted); }
.research-sources a { color: var(--accent); overflow-wrap: anywhere; }

/* Full-size cards, reached through Data cards in the navigation. */
.research-head { margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--rule); }
.gallery-heading h1 { margin: 0 0 .4rem; font-size: 1.8rem; }
.gallery-heading > p { margin: 0; color: var(--text-muted); font-size: .95rem; }
.card-gallery { display: grid; gap: 2rem; margin-top: 1.25rem; }
.card-gallery .gallery-card {
  margin: 0; padding: 1.35rem 1.5rem; background: var(--panel); border: 1px solid var(--rule);
  border-radius: .8rem; box-shadow: 0 3px 12px rgb(32 43 50 / 7%);
}
.gallery-question { margin: 0 0 1rem; font: 600 1.6rem/1.25 var(--serif); color: var(--ink); text-wrap: pretty; }
.gallery-scope, .gallery-note { margin: .55rem 0; font-size: .95rem; line-height: 1.5; color: var(--text); }
.gallery-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem;
  border-top: 1px solid var(--rule); padding-top: .85rem; margin-top: 1rem; }
.gallery-sources { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .85rem; margin: 0; font-size: .875rem; }
.gallery-sources a { display: inline-block; padding-block: .25rem; color: var(--accent); font-size: .875rem; text-decoration: underline; }
.gallery-result { margin: 1rem 0; padding: 1rem 1.1rem; border-left: 3px solid var(--accent); background: var(--panel); }
.result-text { margin: 0; font-size: 1.4rem; font-weight: 600; line-height: 1.4; text-wrap: pretty; }
.gallery-action { display: inline-block; padding: .6rem .9rem; border: 1px solid var(--accent); border-radius: .35rem;
  color: var(--accent); font-size: .9rem; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.stat-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: .6rem 0; border: 0; }
.stat-box { padding: .2rem 1rem; border-left: 3px solid var(--accent); }
.stat-label { margin: .2rem 0; font-size: 1rem; font-weight: 600; color: var(--ink); }
.stat-label span { font-weight: 400; }
.stat-value { margin: .35rem 0; font-size: 3rem; line-height: 1.1; font-weight: 650; font-variant-numeric: tabular-nums; }
.stat-count { margin: .3rem 0; font-size: .9rem; color: var(--text); }
.cards-page .explain, .cards-page .foot { max-width: 46rem; }
@media (max-width: 30rem) {
  .card-gallery .gallery-card { padding: 1.15rem; }
  .gallery-question { font-size: 1.4rem; }
  .result-text { font-size: 1.2rem; }
  .stat-pair { gap: .65rem; }
  .stat-box { padding-inline: .65rem 0; }
  .stat-value { font-size: 2rem; }
}

/* Research preview: two readable source excerpts, stacked on a phone. */
.research-card .kicker { color: var(--accent); }
.text-comparison { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1.2rem; }
.text-source { min-width: 0; padding: 1.15rem; background: var(--panel); border: 1px solid var(--rule); border-radius: .6rem; }
.source-name { font-size: 1.05rem; line-height: 1.4; margin: 0; }
.source-name span { display: block; font-size: .9rem; font-weight: 400; color: var(--text-muted); }
.source-date { margin: .5rem 0 1rem; color: var(--text-muted); font-size: .875rem; }
.source-title { margin: 0 0 .8rem; font-size: 1rem; font-weight: 600; }
.text-source blockquote { margin: 0; padding: .7rem .85rem; font-size: 1.12rem; line-height: 1.85; background: var(--panel); border-left: 3px solid var(--accent); }
.source-credit { margin: .65rem 0 1rem; color: var(--text-muted); font-size: .875rem; }
.source-link { font-size: .9rem; color: var(--accent); }
.comparison-note { font-size: .95rem; color: var(--text); max-width: 46rem; margin: 1rem 0; }
.research-limit { max-width: 46rem; margin: 1rem 0; font-weight: 600; }
.research-methods { max-width: 46rem; }
.research-methods p { font-size: .95rem; line-height: 1.6; color: var(--text); }
.mention-panel { max-width: 46rem; background: var(--panel); border: 1px solid var(--rule); border-radius: .6rem; padding: .8rem; margin-top: 1.2rem; }
.mention-table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.mention-table caption { text-align: left; color: var(--text-muted); font-size: .85rem; padding-bottom: .8rem; }
.mention-table th, .mention-table td { text-align: left; vertical-align: middle; border-bottom: 1px solid var(--rule); padding: .65rem 0; }
.mention-table thead th { color: var(--text-muted); font-size: .85rem; font-weight: 500; line-height: 1.4; padding-top: 0; }
.mention-table th:first-child { width: 58%; padding-right: .65rem; }
.mention-table th:last-child, .mention-table td { width: 42%; text-align: right; }
.mention-table tbody tr:last-child th, .mention-table tbody tr:last-child td { border-bottom: 0; }
.mention-table .paper-en { display: block; font-size: .95rem; line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
.mention-table .paper-zh { display: block; margin-top: .15rem; font-size: .85rem; line-height: 1.4; color: var(--text-muted); font-weight: 400; }
.mention-share { display: block; font-size: 1.05rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.mention-count { display: block; margin-top: .1rem; font-size: .85rem; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.xinhua-card .text-source .source-title { margin-top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (min-width: 44rem) { .text-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* What happened */
.events { list-style: none; padding: 0; margin: 1rem 0 0; }
.events li { border-top: 1px solid var(--rule); padding: 1rem 0; }
.events .when { margin: 0; font-size: .82rem; color: var(--text-muted); }
.events h2 { margin: .3rem 0 .5rem; font: 600 1.2rem/1.3 var(--serif); }
.events li > p:last-child { margin: 0; color: var(--text); }

/* About */
.prose h2 { font-family: var(--serif); font-weight: 600; font-size: 1.3rem; }
.prose h3 { font-size: 1.02rem; margin: 1.6rem 0 .4rem; }
.prose table { border-collapse: collapse; width: 100%; font-size: .78rem; display: block; overflow-x: auto; }
.prose td, .prose th { border-bottom: 1px solid var(--grid); padding: .25rem .4rem; text-align: left; vertical-align: top; }
.methods { margin-top: 2rem; border-top: 1px solid var(--rule); padding-top: 1rem; }
.methods summary { cursor: pointer; font-weight: 600; }
.methods[open] summary { margin-bottom: 1rem; }

/* How to add the connector: the About page's prose, numbered steps, the address on a white panel */
.howto section { padding-top: .2rem; scroll-margin-top: 1rem; }
.howto h2 { margin: 2rem 0 .6rem; }
.howto ul, .howto ol { margin: 0 0 .9rem; padding-left: 1.4rem; }
.howto li { margin: 0 0 .45rem; font-size: 1.06rem; text-wrap: pretty; }
.howto li::marker { color: var(--text-muted); font-variant-numeric: tabular-nums; }
.howto .address { background: var(--panel); border: 1px solid var(--rule); border-radius: .6rem; padding: .75rem 1rem;
  font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 30rem) { .howto .address { padding: .7rem .8rem; font-size: .9rem; } }

a:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

.site-foot { padding: 1.4rem 0 2.4rem; font-size: .82rem; color: var(--text-muted); border-top: 1px solid var(--rule); }

@media (min-width: 40rem) {
  h1 { font-size: 2.6rem; }
  .card .headline { font-size: 2rem; }
  .panel { padding: 1.2rem 1.4rem 1rem; }
  .cards-page .panel .sub { font-size: 1rem; }
  .cards-page .legend { font-size: .9rem; }
  .cards-page .chips-title { font-size: 1.08rem; }
  .cards-page .chip { font-size: 1rem; }
  .cards-page .chip .zh { font-size: .9rem; }
}

/* legend swatches (classes, not inline styles: the pages allow no inline style) */
.sw-s1 { background: #2a78d6; } .sw-s2 { background: #eb6834; } .sw-s3 { background: #1baf7a; } .sw-s4 { background: #eda100; }
.sw-ink { background: #0b0b0b; } .sw-ink2 { background: #52514e; } .sw-neutral { background: #c3c2b7; } .sw-band { background: #ecebe6; }
.sw-seq2 { background: #9ec5f4; } .sw-muted { background: #898781; } .sw-red { background: #e34948; }
.lg b.sw-flat { height: 4px; }
.sw-h0 { background: #eeede9; }
.sw-h1 { background: #cde2fb; } .sw-h2 { background: #b7d3f6; } .sw-h3 { background: #9ec5f4; } .sw-h4 { background: #86b6ef; }
.sw-h5 { background: #6da7ec; } .sw-h6 { background: #5598e7; } .sw-h7 { background: #3987e5; } .sw-h8 { background: #2a78d6; }
.sw-h9 { background: #256abf; } .sw-h10 { background: #1c5cab; } .sw-h11 { background: #184f95; } .sw-h12 { background: #104281; }
.sw-h13 { background: #0d366b; }
.lg i.sw-s1, .lg i.sw-s2, .lg i.sw-s3, .lg i.sw-s4 { height: 3px; }

/* Home since 14 October 2026: the day's People's Daily front page and the day's terms across the newspapers, from the
   night's export, as the 12 October preview shows them, in one column. */
.today { margin: 2.6rem 0 0; scroll-margin-top: 1rem; }
.today h2 { margin: 0 0 .25rem; font: 600 1.6rem/1.2 var(--serif); color: var(--ink); }
.today > .dated { margin: 0 0 .2rem; }
.connector .open { margin-top: .3rem; }

/* the front-page module: the scan with its numbered regions beside (on a phone: above) the numbered list. A region and
   its list item share data-k; while either is pointed at, focused or targeted, both carry --on: 1 (rules below). */
.fp { display: grid; gap: 1rem; margin-top: .8rem; }
.fp-scan { position: relative; line-height: 0; background: #fff; border: 1px solid var(--rule); max-width: 26rem; }
.fp-scan img { display: block; width: 100%; height: auto; }
.fp-image { display: block; }
.fp-regions { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.fp-region { --on: 0; pointer-events: auto; cursor: pointer; }
.fp-region rect { fill: var(--accent); fill-opacity: calc(var(--on) * .16); stroke: var(--accent); stroke-width: 2;
  stroke-opacity: var(--on); vector-effect: non-scaling-stroke; }
.fp-region circle { fill: color-mix(in srgb, var(--accent) calc(var(--on) * 100%), var(--ink)); stroke: #fff;
  stroke-width: 2; vector-effect: non-scaling-stroke; }
.fp-region text { fill: #fff; font: 650 13px/1 var(--sans); text-anchor: middle; dominant-baseline: central; }
.fp-region:focus { outline: none; }
.fp-list { list-style: none; margin: 0; padding: 0; }
.fp-item { --on: 0; display: grid; grid-template-columns: 1.6rem minmax(0, 1fr) 3.9rem; gap: .15rem .7rem; align-items: start;
  padding: .6rem .45rem; border-top: 1px solid var(--rule); border-radius: .4rem; scroll-margin-top: 1rem;
  background: rgb(42 120 214 / calc(var(--on) * .11)); }
.fp-item:first-child { border-top-color: transparent; }
.fp-num { width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; font-size: .74rem;
  font-weight: 650; border: 1.5px solid color-mix(in srgb, var(--accent) calc(var(--on) * 100%), var(--ink));
  background: color-mix(in srgb, var(--accent) calc(var(--on) * 100%), transparent);
  color: color-mix(in srgb, #fff calc(var(--on) * 100%), var(--ink)); }
.fp-body { min-width: 0; }
.fp-title { font: 600 1.02rem/1.4 var(--serif); color: var(--ink); }
a.fp-title { text-decoration-color: rgba(42, 120, 214, .4); }
.fp-title.generic { color: var(--muted); font-weight: 500; }
.fp-meta { margin: .2rem 0 0; font-size: .82rem; line-height: 1.5; color: var(--text-muted); }
.fp-marker, .fp-flag { display: inline-block; font-size: .78rem; line-height: 1.4; padding: 0 .4rem; border-radius: .3rem;
  background: #e9e8e4; color: var(--ink2); }
.fp-marker.red { background: #fde3e2; color: #a3201f; }
.fp-flag { background: var(--ink); color: #fff; }
.fp-share { margin: 0; text-align: right; font-size: .95rem; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fp-bar { display: block; width: 100%; height: 4px; margin-top: .4rem; }
.fp-bar rect { fill: var(--accent); }
.fp-bar .fp-bar-track { fill: #dfe5ec; }
.fp-note { font-size: .86rem; line-height: 1.5; color: var(--text-muted); margin: .8rem 0 0; }
.fp-links { display: flex; flex-wrap: wrap; gap: 0 1.4rem; margin: 0; }
.fp-none { font-size: .9rem; color: var(--text-muted); }
@media (min-width: 40rem) {
  .fp { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: 1.4rem; align-items: start; }
  .fp-scan { max-width: none; }
}
.fp:has([data-k="1"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="1"] { --on: 1; }
.fp:has([data-k="2"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="2"] { --on: 1; }
.fp:has([data-k="3"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="3"] { --on: 1; }
.fp:has([data-k="4"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="4"] { --on: 1; }
.fp:has([data-k="5"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="5"] { --on: 1; }
.fp:has([data-k="6"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="6"] { --on: 1; }
.fp:has([data-k="7"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="7"] { --on: 1; }
.fp:has([data-k="8"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="8"] { --on: 1; }
.fp:has([data-k="9"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="9"] { --on: 1; }
.fp:has([data-k="10"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="10"] { --on: 1; }
.fp:has([data-k="11"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="11"] { --on: 1; }
.fp:has([data-k="12"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="12"] { --on: 1; }
.fp:has([data-k="13"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="13"] { --on: 1; }
.fp:has([data-k="14"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="14"] { --on: 1; }
.fp:has([data-k="15"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="15"] { --on: 1; }
.fp:has([data-k="16"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="16"] { --on: 1; }
.fp:has([data-k="17"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="17"] { --on: 1; }
.fp:has([data-k="18"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="18"] { --on: 1; }
.fp:has([data-k="19"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="19"] { --on: 1; }
.fp:has([data-k="20"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="20"] { --on: 1; }
.fp:has([data-k="21"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="21"] { --on: 1; }
.fp:has([data-k="22"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="22"] { --on: 1; }
.fp:has([data-k="23"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="23"] { --on: 1; }
.fp:has([data-k="24"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="24"] { --on: 1; }
.fp:has([data-k="25"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="25"] { --on: 1; }
.fp:has([data-k="26"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="26"] { --on: 1; }
.fp:has([data-k="27"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="27"] { --on: 1; }
.fp:has([data-k="28"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="28"] { --on: 1; }
.fp:has([data-k="29"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="29"] { --on: 1; }
.fp:has([data-k="30"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="30"] { --on: 1; }
.fp:has([data-k="31"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="31"] { --on: 1; }
.fp:has([data-k="32"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="32"] { --on: 1; }
.fp:has([data-k="33"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="33"] { --on: 1; }
.fp:has([data-k="34"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="34"] { --on: 1; }
.fp:has([data-k="35"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="35"] { --on: 1; }
.fp:has([data-k="36"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="36"] { --on: 1; }
.fp:has([data-k="37"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="37"] { --on: 1; }
.fp:has([data-k="38"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="38"] { --on: 1; }
.fp:has([data-k="39"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="39"] { --on: 1; }
.fp:has([data-k="40"]:is(:hover, :focus-visible, :focus-within, :target)) [data-k="40"] { --on: 1; }

/* an issue's page and the index of the issues by month */
.facts a { color: var(--accent); }
.issue-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem;
  margin: .2rem 0 1rem; font-size: .92rem; }
.issue-nav .steps { display: inline-flex; gap: .5rem; }
.issue-nav .steps a, .issue-nav .steps .off { padding: .3rem .7rem; border: 1px solid var(--rule); border-radius: .4rem;
  background: var(--panel); text-decoration: none; font-weight: 600; }
.issue-nav .steps .off { color: var(--muted); font-weight: 400; }
.fp-signals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 .4rem; background: var(--panel);
  border: 1px solid var(--rule); border-radius: .5rem; }
.fp-signals div { padding: .45rem .7rem; }
.fp-signals dt { font-size: .76rem; color: var(--text-muted); }
.fp-signals dd { margin: 0; font-size: .9rem; font-weight: 650; }
@media (min-width: 40rem) { .fp-signals { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.month { border-top: 1px solid var(--rule); padding: .9rem 0 1rem; }
.month h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin: 0 0 .55rem;
  font: 600 1.15rem/1.3 var(--serif); }
.month h2 span { font: 400 .82rem/1.3 var(--sans); color: var(--text-muted); }
.days { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(2.5rem, 1fr));
  gap: .3rem; }
.days a { display: block; padding: .35rem 0; text-align: center; background: var(--panel); border: 1px solid var(--rule);
  border-radius: .35rem; text-decoration: none; font-variant-numeric: tabular-nums; }
.days a:hover { border-color: var(--accent); color: var(--accent); }
.month.missing ul { margin: 0; padding-left: 1.2rem; color: var(--text); }

/* the day's terms across the newspapers: unknown hatched, a covered paper's 0 grey, seven steps of the largest cell */
.hm-wrap { margin-top: .6rem; padding: .7rem .45rem .6rem; background: var(--panel); border-radius: .6rem; }
table.hm { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 2px; font-size: .68rem;
  font-variant-numeric: tabular-nums; color: var(--ink); }
.hm th, .hm td { padding: 0; }
.hm thead th { vertical-align: bottom; text-align: center; font-weight: 600; line-height: 1.15; padding-bottom: .3rem; }
.hm thead .zh { display: block; writing-mode: vertical-rl; margin: 0 auto; font-size: .76rem; }
.hm thead .en { display: none; }
.hm .hm-corner { width: 6.4rem; }
.hm tbody th { text-align: left; font-weight: 400; color: var(--ink2); padding-right: .3rem; line-height: 1.15; overflow-wrap: anywhere; }
.hm tbody th .zh { display: none; white-space: nowrap; }
.hm tr.unk-row th, .hm .hm-state { color: var(--muted); }
.hm td { height: 1.4rem; text-align: center; border-radius: 2px; }
.hm td.unk, .lg b.hm-sw-unknown { background: repeating-linear-gradient(135deg, #d8d6cd 0 1.5px, #f1f0eb 1.5px 5px); color: var(--muted); }
.hm td.zero, .lg b.hm-sw-zero { background: #ecebe6; color: var(--muted); }
.lg b.hm-sw-unknown, .lg b.hm-sw-zero { box-shadow: inset 0 0 0 1px #d0cec4; }
.hm .s0, .hm-scale .s0 { background: #cde2fb; } .hm .s1, .hm-scale .s1 { background: #9ec5f4; }
.hm .s2, .hm-scale .s2 { background: #6da7ec; } .hm .s3, .hm-scale .s3 { background: #3987e5; color: #fff; }
.hm .s4, .hm-scale .s4 { background: #256abf; color: #fff; } .hm .s5, .hm-scale .s5 { background: #184f95; color: #fff; }
.hm .s6, .hm-scale .s6 { background: #0d366b; color: #fff; }
.hm sup { font-size: .55rem; margin-left: 1px; }
.hm-legend { margin: .55rem 0 0; }
.hm-scale { display: inline-flex; gap: 2px; }
.hm-scale b { width: .8rem; height: .65rem; border-radius: 2px; display: inline-block; }
.hm-note { font-size: .86rem; line-height: 1.5; color: var(--text-muted); margin: .8rem 0 0; }
@media (min-width: 40rem) {
  table.hm { font-size: .76rem; }
  .hm .hm-corner { width: 10.5rem; }
  .hm thead .zh { writing-mode: horizontal-tb; font-size: .8rem; }
  .hm thead .en { display: block; font-weight: 400; font-size: .62rem; color: var(--muted); hyphens: auto; overflow-wrap: break-word; }
  .hm tbody th .zh { display: inline; color: var(--muted); }
  .hm td { height: 1.55rem; }
}
/* the wider view: wider than the reading column on a laptop; on a phone the table scrolls sideways, names in view */
.hm-units { margin-inline: calc(50% - min(33rem, 50vw - 1rem)); }
.hm-wide { overflow-x: auto; }
.hm-wide table.hm { min-width: 46rem; font-size: .76rem; }
.hm-wide .hm .hm-corner { width: 8.5rem; }
.hm-wide .hm thead .zh { writing-mode: horizontal-tb; font-size: .8rem; }
.hm-wide .hm thead .en { display: block; font-weight: 400; font-size: .62rem; color: var(--muted); hyphens: auto; overflow-wrap: break-word; }
.hm-wide .hm tbody th { position: sticky; left: 0; z-index: 1; background: var(--panel); }
.hm-wide .hm tbody th .zh { display: inline; color: var(--muted); }
.hm-wide .hm td { height: 1.55rem; }
@media (min-width: 40rem) { .hm-wide .hm .hm-corner { width: 11rem; } }
.hm-unit { scroll-margin-top: 1rem; }
.hm-unit#articles { display: none; }
.hm-unit#articles:target { display: block; }
.hm-units:has(#articles:target) #occurrences { display: none; }
.unit-switch { display: inline-flex; margin: .4rem 0 .1rem; background: var(--panel); border: 1px solid var(--rule);
  border-radius: .45rem; overflow: hidden; }
.unit-switch a { padding: .4rem .85rem; font-size: .9rem; font-weight: 600; color: var(--text); text-decoration: none; }
.unit-switch a[aria-current] { background: var(--ink); color: #fff; }

/* The Leaders page (14 October 2026): a brief in the site's panels, the cards' white panel (.panel) on the light-blue
   ground: the summary band, its count set large; "Silent longer than usual" and "Fallen", each row a first line (name,
   post, paper), the figures below in the muted small size, and a chip with the export's status in words: on a laptop
   at the right end, on a phone under the name. Rows are parted by hairlines. The chips' colours are tokens of this
   page alone: the first :root block is the one the connector's pages copy word for word. */
.ld-band, .ld-list { margin: 1.2rem 0 0; }
.ld-band p { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .9rem; margin: 0; font-size: 1.06rem;
  line-height: 1.45; color: var(--text); }
.ld-big { font: 650 2.2rem/1.05 var(--sans); letter-spacing: -.01em; color: var(--ink); font-variant-numeric: tabular-nums;
  white-space: nowrap; }
.ld-rest { flex: 1 1 9rem; min-width: 0; text-wrap: pretty; }
.ld-list { --chip-amber: #fbe6b6; --chip-amber-ink: #7a4b00; --chip-red: #fde3e2; --chip-red-ink: #a3201f;
  --chip-grey: #e9e8e4; --chip-grey-ink: var(--ink2); }
.ld-list h2 { margin: 0 0 .35rem; font: 600 1.35rem/1.25 var(--serif); color: var(--ink); }
.ld-count { font-weight: 400; color: var(--text-muted); }
.ld { list-style: none; margin: 0; padding: 0; }
.ld-row { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "chip" "figs"; gap: .2rem 1rem;
  padding: .6rem 0; border-top: 1px solid var(--grid); }
.ld-row:first-child { border-top: 0; }
.ld-head { grid-area: head; margin: 0; font-size: .98rem; line-height: 1.45; color: var(--text); }
.ld-figs { grid-area: figs; margin: 0; font-size: .86rem; line-height: 1.45; color: var(--text-muted); }
.ld-who { font-weight: 650; color: var(--ink); }
.ld-who .zh, .ld-paper .zh { font-weight: 400; }
.ld-who, .ld-paper, .ld-last, .ld-since, .ld-announced { white-space: nowrap; }
.ld-chip { grid-area: chip; justify-self: start; align-self: start; padding: .05rem .5rem; border-radius: .3rem;
  font-size: .8rem; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.ld-chip-watch { background: var(--chip-amber); color: var(--chip-amber-ink); }
.ld-chip-anomalous { background: var(--chip-red); color: var(--chip-red-ink); }
.ld-chip-absent { background: var(--chip-grey); color: var(--chip-grey-ink); }
.ld-chip-fallen { background: var(--ink); color: #fff; }
.ld-none { margin: 0; color: var(--text); }
@media (min-width: 40rem) {
  .ld-big { font-size: 2.6rem; }
  .ld-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head chip" "figs chip"; }
  .ld-chip { justify-self: end; margin-top: .1rem; }
}
