@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/inter-latin.woff2) format('woff2');
  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: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, 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: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/assets/fonts/source-sans-3-latin.woff2) format('woff2');
  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;
}
:root { color-scheme: light; --bg: #f7f8f5; --panel: #fff; --ink: #142c43; --muted: #526476; --cyan: #154f79; --gold: #87601e; --line: #d8e1e6; --soft: #eef3f6; --font: 'Source Sans 3', 'Segoe UI', sans-serif; --display: Inter, 'Segoe UI', sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.6 var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--cyan); }
a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
button, select { font: inherit; }
.container { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.25; letter-spacing: -.035em; }
h1 { font-size: clamp(32px, 3.8vw, 48px); margin-bottom: 18px; }
h2 { font-size: 28px; margin-bottom: 16px; }
h3 { font-size: 20px; margin-bottom: 10px; }
p { color: var(--muted); margin-bottom: 16px; }
.lead { font-size: 23px; line-height: 1.45; }
.muted { font-size: 13px; color: var(--muted); }
.accent, .text-link { color: var(--cyan); }
.eyebrow, .legal-kicker, .methodology-number, .pillar-symbol { display: block; color: var(--cyan); font: 600 10px/1.6 var(--display); letter-spacing: .15em; margin-bottom: 16px; }
.site-header { border-bottom: 1px solid var(--line); background: var(--panel); }
.header-inner { min-height: 92px; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.brand { width: 240px; flex-shrink: 0; }
.brand img { display: block; width: 100%; height: 72px; object-fit: contain; object-position:left center; }
.brand span { display: block; margin: -15px 0 9px 67px; font: 7px/1.2 var(--display); letter-spacing: 1.7px; color: var(--muted); }
.site-header :where(#main-navigation) { display: flex; gap: 28px; align-items: center; }
.site-header :where(#main-navigation) a { position: relative; font-size: 14px; padding: 30px 0; }
.site-header :where(#main-navigation) a[aria-current] { color: var(--cyan); font-weight: 600; }
.site-header :where(#main-navigation) a[aria-current]::after { content: ''; height: 2px; position: absolute; bottom: 13px; left: 0; right: 0; background: var(--cyan); }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; border: 1px solid var(--line); background: var(--panel); color: var(--cyan); padding: 12px 22px; border-radius: 3px; font-size: 15px; font-weight: 600; cursor: pointer; }
.button.primary { background: var(--cyan); color: #fff; border-color: var(--cyan); }
.button:hover { border-color: var(--cyan); background: var(--soft); }
.button.primary:hover { background: #103d60; color: #fff; }
.text-link { font-size: 14px; }
.hero { display: grid; grid-template-columns: 1.35fr 1fr; gap: 55px; padding: 48px 0 42px; }
.hero h1 { font-size: clamp(36px, 4.3vw, 58px); max-width: 650px; line-height: 1.12; letter-spacing: -.045em; margin: 24px 0; }
.hero .lead { max-width: 610px; margin-bottom: 30px; }
.project-scope { border-left: 1px solid var(--line); padding-left: 40px; }
.project-scope>a { display: grid; grid-template-columns: 60px 1fr; gap: 18px; padding: 22px 0; }
.project-scope>a>span { font: 400 43px/1.1 var(--font); color: #6c8296; }
.project-scope h2 { font-size: 19px; letter-spacing: -.02em; margin: 0 0 5px; }
.project-scope p { font-size: 16px; line-height: 1.4; margin: 0; }
.section-heading, .chart-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.section-heading h2, .chart-heading h2, .chart-heading h3 { margin: 0; }
.snapshot-section { border-top: 1px solid var(--line); padding: 32px 0 24px; }
.snapshot-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 28px 0; }
.snapshot-strip>div { padding: 0 26px; border-left: 1px solid var(--line); }
.snapshot-strip>div:first-child { padding-left: 0; border: 0; }
.snapshot-strip span { display: block; font-size: 15px; color: var(--muted); }
.snapshot-strip strong { display: block; font: 500 clamp(22px,2.7vw,36px)/1.4 var(--font); font-variant-numeric: tabular-nums; margin-top: 7px; }
.snapshot-strip small { font-size: .7em; margin-left: 6px; }
.home-chart, .plot-panel { border: 1px solid var(--line); background: var(--panel); border-radius: 4px; padding: 22px; }
.chart-tools { display: flex; align-items: center; gap: 22px; }
.chart-tabs { display: flex; border: 1px solid var(--line); border-radius: 3px; overflow: hidden; }
.chart-tabs a { padding: 7px 12px; font-size: 12px; }
.chart-tabs a+a { border-left: 1px solid var(--line); }
.chart-tabs a[aria-current] { background: var(--cyan); color: #fff; }
.chart-wrap { position: relative; width: 100%; }
.chart-responsive { container-type:inline-size; }
.chart-mobile { display:none; }
@container (max-width:520px) { .chart-desktop { display:none; } .chart-mobile { display:block; } }
.chart { display: block; width: 100%; height: auto; }
.gridline { stroke: #dfe7ed; stroke-width: 1; }
.axis { fill: #526476; font: 12px 'Source Sans 3', sans-serif; }
.series { fill: none; stroke: var(--cyan); stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.series.gold { stroke: #447e89; }
.data-point { fill: var(--cyan); opacity: .6; }
.data-point.gold { fill: #447e89; }
.publication-point { opacity: 1; stroke: white; stroke-width: 1.5; }
.chart-publication-key { font-size: 12px; color: var(--muted); margin: 8px 0 0; }
.publication-table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 16px; }
.publication-table { width: 100%; border-collapse: collapse; }
.publication-table th, .publication-table td { padding: 12px 16px; font-size: 14px; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--line); }
.publication-table tbody th { font-weight: 500; }
.history-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; }
.history-filters label { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.history-filters input { min-width: 0; max-width: 100%; padding: 12px; border: 1px solid var(--line); background: white; color: var(--ink); font: inherit; }
.history-pagination { display: flex; align-items: center; gap: 16px; margin: 24px 0; }
.chart-range { grid-column: 1 / -1; }
@media(max-width: 600px) { .history-filters label { width: 100%; } }
.chart-hit { cursor: crosshair; }
.chart-hit:focus { outline: none; stroke: #4389b6; stroke-width: 1; }
.chart-tooltip { position: absolute; z-index: 2; max-width: min(320px,calc(100% - 16px)); padding: 10px 13px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); box-shadow: 0 4px 18px #173f6320; font: 13px/1.6 var(--font); pointer-events: none; }
.chart-tooltip[hidden] { display: none; }
.home-lower { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; padding-bottom: 35px; }
.recent-section, .science-links { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); }
.home-lower h2 { font-size: 22px; }
.science-links>a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); }
.science-links h3 { font-size: 16px; margin: 0 0 3px; letter-spacing: -.02em; }
.science-links p { margin: 0; font-size: 14px; }
.science-links>a>span { color: var(--cyan); }
.page-heading { padding: 42px 0 28px; }
.page-heading h1 { margin-bottom: 12px; }
.page-heading .lead { margin-bottom: 14px; }
.publication-page-heading { padding-bottom: 0; }
.publication-page-heading > :last-child { margin-bottom: 0; }
.publication-filters { margin: 20px 0 16px; gap: 12px; }
.publication-filters .button, .publication-filters input { box-sizing: border-box; height: 46px; }
.publication-filters .button { min-width: 92px; padding: 10px 18px; }
.methodology-layout, .legal-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 36px; padding: 32px 0 48px; }
.methodology-nav, .legal-nav { display: flex; flex-direction: column; align-self: start; position: sticky; top: 24px; }
.methodology-nav a, .legal-nav a { padding: 14px 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 15px; }
.methodology-nav a:hover, .methodology-nav a[aria-current], .legal-nav a:hover, .legal-nav a[aria-current] { color: var(--cyan); background: var(--soft); box-shadow: inset 3px 0 var(--cyan); }
.methodology-body, .legal-body { min-width: 0; border-left: 1px solid var(--line); padding-left: 36px; }
.methodology-body>section, .legal-body section { padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.methodology-body>section>:last-child, .legal-body section>:last-child { margin-bottom: 0; }
.methodology-body>section:last-child, .legal-body section:last-child { border-bottom: 0; margin-bottom: 0; }
.methodology-body h2, .legal-body h2 { font-size: 30px; }
.methodology-number { margin-bottom: 8px; }
.methodology-body p, .methodology-body li, .legal-body p { font-size: 17px; line-height: 1.65; }
.methodology-body ul { padding-left: 20px; color: var(--muted); }
.methodology-body li { margin-bottom: 12px; }
.science-heading .lead { max-width: 62ch; margin-bottom: 0; }
.science-body h3 { margin: 26px 0 12px; font-size: 20px; }
.science-definitions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line); padding: 16px 0; margin: 24px 0; }
.science-definitions>div { padding: 0 16px; border-left: 1px solid var(--line); }
.science-definitions>div:first-child { padding-left: 0; border: 0; }
.science-definitions dt { font: 600 10px/1.6 var(--display); text-transform: uppercase; letter-spacing: .08em; color: var(--cyan); }
.science-definitions dd { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.science-pathways { margin: 26px 0; }
.science-pathways dt { padding-top: 18px; border-top: 1px solid var(--line); font-weight: 600; color: var(--cyan); }
.science-pathways dd { margin: 8px 0 20px; color: var(--muted); }
.definition-group { margin-top: 28px; }
.definition-group>h3 { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 12px; margin-bottom: 0; }
.metric-definition { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; padding: 12px 0; }
.metric-definition>summary { list-style: none; display: grid; grid-template-columns: minmax(0,1fr) 48px 16px; gap: 14px; align-items: center; padding: 16px 12px; font-size: 15px; }
.metric-definition>summary::-webkit-details-marker { display: none; }
.metric-definition>summary:hover, .metric-definition[open]>summary { background: var(--soft); color: var(--cyan); }
.definition-unit { text-align: right; color: var(--muted); font-size: 13px; }
.definition-toggle { text-align: center; font-size: 21px; }
.metric-definition[open] .definition-toggle { transform: rotate(45deg); }
.definition-body { padding: 20px; background: var(--panel); }
.definition-body dl { display: grid; grid-template-columns: 1fr 2fr; gap: 16px; }
.definition-body dt { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.definition-body dd { margin: 5px 0 0; }
.callout, .snapshot-notice, .legal-contact { padding: 18px 20px; background: var(--soft); border-left: 2px solid var(--cyan); }
.callout p { margin: 4px 0 0; }
.domain-strip { display: flex; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.domain-strip>a, .domain-strip>span { flex: 1; text-align: center; padding: 12px; color: var(--muted); }
.domain-strip .domain-active { color: var(--cyan); box-shadow: inset 0 -2px var(--cyan); font-weight: 600; }
.domain-strip small { display: block; font-size: 11px; }
.filters { display: grid; grid-template-columns: 1.35fr 1fr 1.1fr auto; gap: 14px; align-items: end; margin-bottom: 24px; }
.filters label, .select-field, .scope-display { padding: 8px 12px; border: 1px solid var(--line); background: var(--panel); border-radius: 3px; font-size: 12px; color: var(--muted); min-width: 0; }
.filters select { display: block; width: 100%; min-height: 30px; background: var(--panel); border: 0; color: var(--ink); font-size: 14px; }
.scope-display>span, .scope-display strong { display: block; }
.scope-display strong { font-weight: 400; padding: 5px 0; font-size: 14px; color: var(--ink); }
.filters .button { min-height: 63px; }
.plot-caption { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--muted); padding: 10px 0 0; }
.unit-tag { color: var(--muted); }
.measurement-info { padding: 20px 0; }
.measurement-info>h3, .measurement-info>p, .measurement-info>.text-link { display: none; }
.measurement-info>dl { display: grid; grid-template-columns: .7fr .8fr .8fr 1.5fr; margin: 0; }
.measurement-info>dl>div { padding: 0 18px; border-left: 1px solid var(--line); }
.measurement-info>dl>div:first-child { padding-left: 0; border: 0; }
.measurement-info dt { font-size: 12px; color: var(--muted); }
.measurement-info dd { margin: 4px 0 0; font-size: 14px; }
.table-section { padding: 24px 0; }
.table-scroll { overflow: auto; max-height: 340px; border: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { position: sticky; top: 0; text-align: left; background: var(--soft); font-weight: 600; color: var(--ink); }
th, td { padding: 14px; border-bottom: 1px solid var(--line); }
td { font-variant-numeric: tabular-nums; }
tbody tr { background: var(--panel); }
tbody tr:hover { background: #f1f5f8; }
.table-foot { font-size: 13px; color: var(--muted); margin-top: 12px; }
.status { color: #306452; font-size: 12px; }
.status.missing { color: var(--gold); }
.home-lower .table-scroll { border: 0; max-height: none; }
.home-lower th, .home-lower td { padding: 18px 10px; }
.record-meta { display: flex; gap: 20px; color: var(--muted); font-size: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.record-meta>span:last-child { margin-left: auto; }
.observation { display: grid; grid-template-columns: 30px minmax(0,1.1fr) minmax(0,1fr); gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.observation>div { min-width:0; overflow-wrap:anywhere; }
.record-number { color: var(--cyan); padding-top: 4px; }
.observation h2 { font-size: 24px; }
.observation-plot { align-self: center; }
.observation-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:24px; padding:16px 0 28px; }
.observation-categories a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; padding:12px 4px; border-bottom:1px solid var(--line); font-size:14px; line-height:1.4; }
.observation-categories a:hover { color:var(--cyan); border-bottom-color:var(--cyan); background:var(--panel); }
.observation-categories .category-name { min-width:0; }
.observation-categories .category-count { color:var(--muted); font-variant-numeric:tabular-nums; flex-shrink:0; text-align:right; min-width:2ch; }
@media (max-width:900px) { .observation-categories { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:20px; } }
@media (max-width:600px) { .observation-categories { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; } .observation-categories a { min-height:64px; font-size:13px; } }
.observation-category { padding: 28px 0; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.observation-category>.section-heading { margin-bottom: 10px; }
.observation-category .observation:last-child { border-bottom: 0; }
.observation-readings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.observation-reading { display: flex; flex-direction: column; min-width: 0; padding: 24px; background: var(--panel); border: 1px solid var(--line); border-radius: 4px; scroll-margin-top: 24px; }
.observation-reading h3 { font-size: 19px; margin-bottom: 16px; }
.observation-value { font-size: 34px; line-height: 1.3; font-weight: 500; font-variant-numeric: tabular-nums; margin-bottom: 16px; overflow-wrap: anywhere; }
.observation-value small { font-size: 17px; margin-left: 7px; color: var(--muted); }
.observation-reading p { font-size: 15px; }
.observation-reading-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); padding-top: 14px; margin-top: auto; }
.observation-reading-footer>span { color: var(--muted); font-size: 12px; }
.closing { padding: 28px 0; }
.about-intro { display: grid; grid-template-columns: 1fr 2.4fr; gap: 48px; padding: 32px 0; border-top: 1px solid var(--line); }
.about-intro h2 { font-size: 26px; }
.about-intro>div>:last-child { margin-bottom: 0; }
:is(.home-intro-layout,.page-heading,.journal-article-heading) + :is(section,div,nav) { border-top-width:0; }
.pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); padding: 30px 0; }
.pillars section { padding: 0 25px; border-left: 1px solid var(--line); }
.pillars section:first-child { border: 0; padding-left: 0; }
.pillars h2 { font-size: 22px; }
.publisher { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0; border-top: 1px solid var(--line); }
.publisher h2 { margin-bottom: 8px; }
.publisher p { margin: 0; }
.world-context, .event-section { padding: 28px 0; border-top: 1px solid var(--line); }
.context-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 24px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--panel); }
.context-grid>div { padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.context-grid dt { font-size: 13px; color: var(--muted); }
.context-grid dd { margin: 5px 0 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (min-width: 769px) { .context-details > .context-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
.context-details { margin-bottom: 28px; }
.record-banner { background:#edf3f4; color:var(--muted); }
.record-banner-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:4px 24px; padding-top:10px; padding-bottom:10px; }
.record-banner-inner>.simulation-calendar { justify-self:center; }
.record-banner p { margin:0; font-size:12px; line-height:1.6; }
.record-banner a { margin-left:8px; white-space:nowrap; }
.record-banner-time { justify-self:end; text-align:right; }
@media (max-width:900px) { .record-banner-inner { grid-template-columns:1fr; gap:6px; } .record-banner-inner>.simulation-calendar, .record-banner-time { justify-self:start; text-align:left; } }
.metric-group { margin-bottom: 28px; }
.metric-group>h3 { font: 600 12px/1.5 var(--display); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.population-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.population-card { padding: 18px; border: 1px solid var(--line); background: var(--panel); border-radius: 3px; display: flex; flex-direction: column; justify-content: space-between; min-height: 126px; }
.population-card:hover { border-color: var(--cyan); }
.population-card>span { color: var(--muted); font-size: 14px; }
.population-card strong { font-size: 28px; font-weight: 500; margin-top: 12px; font-variant-numeric: tabular-nums; }
.population-card small { font-size: 13px; margin-left: 6px; color: var(--muted); }
.snapshot-notice { font-size: 14px; margin-top: 20px; }
.event-record { padding: 20px 0; border-bottom: 1px solid var(--line); }
.event-meta { display: flex; gap: 20px; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
.event-record summary .muted { margin-left: 10px; }
.source-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.reading-panel { padding: 24px 0; }
.reading-panel>strong { display: block; font-size: 48px; font-weight: 500; font-variant-numeric: tabular-nums; }
.reading-panel small { font-size: 20px; margin-left: 8px; }
.reading-panel>span { display: block; color: var(--cyan); margin-bottom: 20px; }
.plot-panel .reading-panel { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 20px; padding:8px 0 16px; }
.plot-panel .reading-panel>strong { font-size:36px; overflow-wrap:anywhere; }
.plot-panel .reading-panel>span { margin:0; font-size:13px; }
.plot-panel .reading-panel>p { flex-basis:100%; margin:0; font-size:14px; }
.legal-heading { max-width: 980px; }
.legal-date { color: var(--muted); font-size: 13px; }
.legal-body h2 { display: flex; align-items: baseline; gap: 14px; font-size: 26px; }
.legal-body h2>span { font-size: 12px; color: var(--cyan); letter-spacing: .06em; }
.legal-sources { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 24px; }
.legal-contact { display: flex; justify-content: space-between; gap: 20px; }
.legal-contact a { color: var(--cyan); }
.site-footer { border-top: 1px solid var(--line); background: var(--panel); margin-top: 26px; padding: 36px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .8fr 1.1fr 1fr; gap: 36px; padding-bottom: 32px; }
.footer-identity img { display: block; width: 230px; height: auto; margin: -12px 0 8px -8px; }
.footer-identity p { font-size: 14px; line-height: 1.6; }
.footer-identity>span { font-size: 13px; color: var(--muted); }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-size: 14px; }
.footer-column h2 { font: 600 12px/1.5 var(--display); letter-spacing: .04em; margin: 0 0 10px; }
.footer-column a, .footer-column>span { color: var(--muted); }
.footer-column a:hover { color: var(--cyan); }
.footer-column>span { font-size: 12px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding-block: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.empty { padding: 50px 20px; color: var(--muted); text-align: center; }
.text-button { border: 0; padding: 0; background: transparent; font: inherit; color: var(--cyan); cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.consent-banner { position: fixed; z-index: 20; bottom: 24px; left: 50%; transform: translateX(-50%); width: min(1120px,calc(100% - 40px)); max-height: calc(100dvh - 48px); overflow: auto; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; padding: 26px 30px; background: var(--panel); border: 1px solid var(--line); border-top: 3px solid var(--cyan); border-radius: 4px; box-shadow: 0 10px 45px #142c4320; }
.consent-banner[hidden], .consent-storage-note[hidden] { display: none; }
.consent-banner .eyebrow { margin-bottom: 8px; }
.consent-banner h2 { font-size: 22px; margin-bottom: 10px; }
.consent-banner p { font-size: 15px; margin: 0; max-width: 700px; }
.consent-banner p a, .consent-dialog p a { color: var(--cyan); text-decoration: underline; }
.consent-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.consent-banner>.consent-actions { display: grid; grid-template-columns: 1fr 1fr; align-content: center; }
.consent-banner .text-button { grid-column: 1 / -1; justify-self: center; font-size: 14px; }
.consent-dialog { width: min(620px,calc(100% - 32px)); max-height: calc(100dvh - 48px); padding: 30px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: var(--ink); box-shadow: 0 16px 60px #142c4333; }
.consent-dialog::backdrop { background: #142c4366; }
.consent-dialog-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.consent-dialog h2 { font-size: 28px; }
.consent-dialog p { font-size: 15px; }
.consent-option { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; padding: 20px 0; border-top: 1px solid var(--line); }
.consent-option h3, .consent-option label { display: block; font: 600 16px/1.4 var(--display); margin: 0 0 8px; }
.consent-option p { margin: 0; }
.consent-required { font-size: 12px; color: var(--muted); white-space: nowrap; }
.consent-option input { width: 22px; height: 22px; accent-color: var(--cyan); cursor: pointer; }
.consent-storage-note { padding: 12px; background: var(--soft); }
@media(max-width:900px) { .consent-banner { grid-template-columns: 1fr; gap: 20px; } .consent-banner>.consent-actions { display: flex; } }
@media(max-width:500px) { .consent-banner { bottom: 12px; padding: 20px; width: calc(100% - 24px); } .consent-banner .button { padding: 10px 14px; flex: 1; } .consent-banner .text-button { width: 100%; text-align: center; } .consent-dialog { padding: 22px; } .consent-option { gap: 12px; } }
.science-icon { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media(max-width:1000px) {
  .container { width: calc(100% - 48px); }
  .site-header :where(#main-navigation) { gap: 18px; }
  .brand { width: 210px; }
  .brand span { margin-left: 59px; font-size: 6px; }
  .hero { gap: 30px; }
  .project-scope { padding-left: 26px; }
  .project-scope>a { grid-template-columns: 40px 1fr; gap: 12px; }
  .project-scope>a>span { font-size: 34px; }
  .chart-tools { gap: 12px; }
  .methodology-layout, .legal-layout { grid-template-columns: 195px minmax(0,1fr); gap: 24px; }
  .methodology-body, .legal-body { padding-left: 24px; }
  .footer-grid { gap: 25px; }
}
@media(max-width:800px) {
  .header-inner { flex-direction: column; gap: 0; padding: 8px 0 0; }
  .site-header :where(#main-navigation) { width: 100%; justify-content: space-between; }
  .site-header :where(#main-navigation) a { padding: 16px 0; }
  .site-header :where(#main-navigation) a[aria-current]::after { bottom: 0; }
  .hero { grid-template-columns: 1fr; gap: 32px; }
  .hero h1 { max-width: 600px; font-size: 48px; }
  .project-scope { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .project-scope>.eyebrow { grid-column: 1 / -1; margin: 0; }
  .project-scope>a { display: block; padding: 0; border-bottom: 0; }
  .project-scope h2 { margin-top: 12px; font-size: 17px; }
  .project-scope p { font-size: 14px; }
  .home-lower { grid-template-columns: 1fr; }
  .chart-heading { flex-wrap: wrap; }
  .methodology-layout, .legal-layout { grid-template-columns: 1fr; }
  .methodology-nav, .legal-nav { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .methodology-nav>.eyebrow { grid-column: 1 / -1; }
  .methodology-body, .legal-body { padding-left: 0; border-left: 0; }
  .population-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.3fr 1fr; }
  .filters { grid-template-columns: 1fr 1fr; }
  .observation { grid-template-columns: 24px minmax(0,1fr); }
  .observation .reading-panel>strong { font-size:32px; }
  .observation-plot { grid-column: 2; }
}
@media(max-width:500px) {
  .observation-readings { grid-template-columns: 1fr; }
  .observation-reading { padding: 18px; }
  .science-definitions { grid-template-columns: 1fr 1fr; gap: 20px 0; }
  .science-definitions>div:nth-child(3) { padding-left: 0; border: 0; }
  .container { width: calc(100% - 32px); }
  .site-header :where(#main-navigation) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 16px; text-align: center; }
  .site-header :where(#main-navigation) a { font-size: 14px; padding: 10px 0; }
  .hero { padding-top: 32px; }
  .hero h1 { font-size: 38px; }
  .hero .lead, .lead { font-size: 20px; }
  .project-scope { grid-template-columns: 1fr; gap: 16px; }
  .project-scope>a { display: grid; grid-template-columns: 42px 1fr; }
  .project-scope h2 { margin: 0 0 4px; }
  .snapshot-strip { grid-template-columns: 1fr 1fr; gap: 24px 0; }
  .snapshot-strip>div { padding: 0 16px; }
  .snapshot-strip>div:nth-child(3) { padding-left: 0; border: 0; }
  .snapshot-strip strong { font-size: 27px; }
  .section-heading { flex-wrap: wrap; gap: 10px; }
  h2 { font-size: 25px; }
  .home-chart, .plot-panel, .recent-section, .science-links { padding: 16px; }
  .chart-tools { flex-wrap: wrap; }
  .chart-tabs a { font-size: 11px; padding: 8px; }
  .home-lower th, .home-lower td { padding: 12px 8px; font-size: 13px; }
  .page-heading { padding-top: 32px; }
  .methodology-body h2, .legal-body h2 { font-size: 26px; }
  .methodology-nav a, .legal-nav a { padding-inline: 6px; font-size: 14px; }
  .metric-definition>summary { gap: 8px; padding-inline: 4px; }
  .definition-body { padding: 16px 10px; }
  .definition-body dl { grid-template-columns: 1fr; }
  .filters label:first-child, .select-field:first-child, .scope-display { grid-column: 1 / -1; }
  .domain-strip>a, .domain-strip>span { padding: 10px 4px; font-size: 14px; }
  .measurement-info>dl { grid-template-columns: 1fr 1fr; gap: 16px 0; }
  .measurement-info>dl>div:nth-child(3) { border: 0; padding-left: 0; }
  .record-meta { flex-wrap: wrap; gap: 10px; }
  .record-meta>span:last-child { margin-left: 0; }
  .about-intro { grid-template-columns: 1fr; gap: 8px; }
  .pillars { grid-template-columns: 1fr; gap: 24px; }
  .pillars section { border: 0; padding: 0; }
  .publisher, .legal-contact { flex-direction: column; align-items: flex-start; }
  .context-grid { grid-template-columns: 1fr 1fr; }
  .context-grid>div, .population-card { padding: 12px; }
  .population-card strong { font-size: 24px; overflow-wrap: anywhere; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .footer-identity { grid-column: 1 / -1; }
  .footer-column a { overflow-wrap: anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }


* { scrollbar-width: thin; scrollbar-color: #9bafba #edf1f1; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #edf1f1; }
::-webkit-scrollbar-thumb { background: #9bafba; border: 2px solid #edf1f1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #6e8c9b; }
.select-field { position: relative; }
.filters select[hidden] { display: none; }
.select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 30px; padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.select-trigger::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); flex-shrink: 0; margin-right: 3px; margin-top: -4px; }
.select-trigger:focus, .select-trigger:focus-visible { outline: none; }
.select-field:has(.select-trigger:focus-visible) { border-color: var(--cyan); box-shadow: 0 0 0 3px #154f791a; }
.select-field:has([aria-expanded="true"]) { border-color: #8aa7b9; z-index: 10; }
.select-options { position: absolute; z-index: 30; top: calc(100% + 7px); left: -1px; right: -1px; max-height: min(320px,45dvh); overflow-y: auto; overscroll-behavior: contain; padding: 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); box-shadow: 0 10px 28px #142c4317; }
.select-options[hidden] { display: none; }
.select-option { padding: 9px 10px; border-radius: 3px; color: var(--ink); font-size: 14px; line-height: 1.4; cursor: pointer; }
.select-option:hover, .select-option.is-active { background: #edf3f6; }
.select-option[aria-selected="true"] { color: var(--cyan); font-weight: 600; background: #e4eef2; }
@media (forced-colors: active) { .select-field:has(.select-trigger:focus-visible) { outline: 2px solid Highlight; } .select-option.is-active { outline: 1px solid Highlight; } }

.home-journal { padding: 48px 0 64px; border-top: 1px solid var(--line); }
.journal-index { padding-bottom: 28px; }
.journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.journal-card { display: flex; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid var(--line); border-top: 3px solid #7e9ba8; border-radius: 3px; background: var(--panel); }
.journal-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; color: var(--muted); }
.journal-meta>span { color: var(--cyan); font-weight: 600; }
.journal-card :is(h2,h3) { font-size: 24px; line-height: 1.25; margin: 23px 0 14px; }
.journal-card :is(h2,h3) a { color: var(--ink); text-decoration: none; }
.journal-card :is(h2,h3) a:hover { color: var(--cyan); }
.journal-card p { color: var(--muted); margin: 0 0 28px; }
.journal-card>.text-link { margin-top: auto; }
.journal-empty { padding: 30px 0; color: var(--muted); }
.journal-article { width:100%; min-width:0; margin:0; padding:42px 0 32px; }
.journal-article-heading { padding-bottom: 28px; margin-bottom: 36px; }
.journal-article h1 { font-size: clamp(34px,5vw,56px); line-height: 1.08; margin: 22px 0; }
.journal-byline { color: var(--muted); font-size: 14px; margin: 24px 0 0; }
.journal-prose { width:100%; min-width:0; }
.journal-prose section>:is(h2,p,ul,ol), .journal-references { max-width:none; }
.journal-prose :is(figure,.chart-panel,.journal-table-wrap) { max-width:100%; margin-inline:0; }
.journal-prose section { margin-bottom: 36px; }
.journal-prose h2 { font-size: 25px; margin-bottom: 16px; }
.journal-prose p { font-size: 18px; line-height: 1.8; color: var(--muted); }
.journal-prose .journal-references { padding:16px clamp(14px,2vw,24px); background:var(--panel); border:1px solid var(--line); border-radius:4px; margin:24px 0 16px; }
.journal-references h2 { margin:0 0 8px; font-size:20px; }
.journal-references ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); gap:0 24px; list-style:none; margin:0; padding:0; }
.journal-references a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:6px 0; border-top:1px solid var(--line); }
.journal-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; }
.journal-pagination .button { grid-row:1; min-height:44px; padding:8px clamp(8px,2vw,18px); text-align:center; }
.journal-pagination [rel="prev"] { grid-column:1; justify-self:start; }
.journal-pagination .journal-all { grid-column:2; }
.journal-pagination [rel="next"] { grid-column:3; justify-self:end; }
@media(max-width:1050px) { .site-header :where(#main-navigation) { gap: 16px; } }
@media(max-width:800px) { .journal-grid { grid-template-columns: 1fr; gap: 16px; } .journal-card { padding: 24px; } .journal-card :is(h2,h3) { margin-top: 16px; } .home-journal { padding: 32px 0 44px; } .journal-article { padding-top: 26px; } }


.footer-social { display: flex; gap: 10px; margin: 16px 0 20px; }
.footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: var(--panel); }
.footer-social a:hover { color: var(--cyan); border-color: #8aa7b9; background: #edf3f6; }
.footer-social svg { width: 18px; height: 18px; fill: currentColor; }
.footer-social .social-outline { fill: none; stroke: currentColor; stroke-width: 1.7; }
.footer-social .social-dot { fill: currentColor; stroke: none; }

.home-world { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; padding:32px 0; border-top:1px solid var(--line); }
.home-world h2 { font-size:26px; margin:8px 0 12px; }
.home-world p { color:var(--muted); max-width:530px; }
.home-world dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:center; }
.home-world dt,.world-summary span { display:block; color:var(--muted); font-size:13px; }
.home-world dd { margin:8px 0 0; font-size:20px; color:var(--ink); }
.world-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:28px 0; border-bottom:1px solid var(--line); }
.world-summary strong { display:block; margin-top:8px; font-size:28px; font-weight:500; }
.world-summary small { font-size:15px; color:var(--muted); }
.world-summary .world-unavailable { font-size:20px; }
.world-layers { display:flex; flex-wrap:wrap; gap:8px; padding:24px 0; }
.world-layers a { padding:9px 18px; border:1px solid var(--line); border-radius:3px; font-size:14px; }
.world-layers a[aria-current] { color:var(--cyan); border-color:var(--cyan); background:#eaf1f4; }
.world-layout { display:grid; grid-template-columns:1.7fr 1fr; gap:24px; scroll-margin-top:30px; }
.world-map-panel,.world-layer-panel { padding:24px; border:1px solid var(--line); background:var(--panel); border-radius:4px; min-width:0; }
.world-map-panel h2,.world-layer-panel h2 { font-size:24px; }
.world-extent-map { width:100%; height:auto; display:block; }
.world-extent-map text { fill:var(--muted); font-size:15px; }
.world-extent-map .world-map-label { fill:var(--ink); font-weight:600; font-size:18px; }
.world-boundary { fill:#f1f6f6; stroke:#577d91; stroke-width:2; stroke-dasharray:7 5; }
.world-boundary-link:hover .world-boundary { fill:#e6f1f3; }
.world-map-caption { font-size:13px; color:var(--muted); }
.world-legend-swatch { display:inline-block; width:20px; border-top:2px dashed #577d91; vertical-align:middle; margin-right:8px; }
.world-status { display:inline-block; color:var(--cyan); font-size:12px; padding:6px 0; }
.world-layer-panel p { color:var(--muted); }
.world-layer-panel dd { margin:8px 0 20px; font-size:22px; }
.world-layer-panel dt { font-size:13px; color:var(--muted); }
.world-region { padding:32px 0; scroll-margin-top:30px; }
.world-region>.world-measurement-group:last-child { margin-bottom:0; }
#region-details.world-region { padding-bottom:0; }
#region-details.world-region > p:last-child { margin-bottom:0; }
#region-details + .world-region { padding-top:32px; }
.world-measurement-group { margin:28px 0; }
.world-measurement-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; margin-bottom:12px; }
.world-measurement-heading h3 { margin:0; }
.world-measurement-link { font-size:12px; line-height:1.5; font-weight:400; }
.world-measurement-group .context-grid { margin-bottom:0; }
.global-map { background:#0c2331; border:1px solid #244555; border-radius:5px; color:#e6f2f6; overflow:hidden; margin-bottom:12px; }
.global-map-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 32px 0; }
.global-map-heading h2 { color:#f0f6f9; margin:10px 0; font-size:30px; }
.global-map-heading .eyebrow { color:#7bc7d0; }
.global-map-heading>span { color:#b1c8d4; font-size:13px; }
.global-map-canvas { position:relative; padding:12px 24px; }
.global-map-canvas>svg { display:block; width:100%; height:auto; }
.world-land { fill:#244858; stroke:#4b7181; stroke-width:.5; fill-rule:evenodd; }
.world-marker { fill:#9caeb7; cursor:pointer; outline:none; }
.world-marker-active { fill:#72e1d2; }
.world-marker .world-marker-hit { fill:transparent; }
.world-marker .world-marker-ring { fill:none; stroke:currentColor; color:#91aab6; stroke-width:1; opacity:.75; }
.world-marker-active .world-marker-ring { color:#72e1d2; }
.world-marker:hover .world-marker-ring,.world-marker:focus .world-marker-ring { stroke-width:3; opacity:1; }
.world-map-tooltip { position:absolute; max-width:min(290px,calc(100% - 16px)); padding:10px 14px; border:1px solid #527787; border-radius:4px; background:#102d3d; color:#fff; font-size:13px; pointer-events:none; box-shadow:0 5px 18px #0004; }
.global-map-bottom { display:flex; justify-content:space-between; gap:16px; padding:0 32px 20px; color:#b1c8d4; font-size:12px; }
.global-map-notice { border-top:1px solid #244555; margin:0; padding:18px 32px; font-size:13px; color:#b1c8d4; }
.world-regions { padding:26px 0; }
.world-region-links { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.world-region-links a { color:var(--cyan); border-bottom:1px solid var(--line); padding:6px 0; }
.world-region-card { padding:26px; border:1px solid var(--line); background:var(--panel); scroll-margin-top:24px; }
.world-region-card[hidden] { display:none; }
.world-region-card h3 { font-size:25px; margin-bottom:24px; }
@media(max-width:1100px) { .site-header :where(#main-navigation) { gap:12px; } }
@media(max-width:800px) { .home-world,.world-layout { grid-template-columns:1fr; gap:20px; } .world-summary { grid-template-columns:1fr 1fr; } .global-map-heading { padding:22px 20px 0; } .global-map-heading h2 { font-size:25px; } .global-map-canvas { padding:12px 8px; } .global-map-bottom { padding:0 20px 16px; flex-wrap:wrap; } .global-map-notice { padding:16px 20px; } .world-map-panel,.world-layer-panel { padding:18px; } .world-layers a { padding:8px 12px; } }
@media(max-width:500px) { .home-world dl { grid-template-columns:1fr 1fr; } .global-map-heading { align-items:flex-start; flex-direction:column; gap:0; } .world-summary strong { font-size:23px; } .site-header :where(#main-navigation) { gap:16px; overflow-x:auto; justify-content:flex-start; } .site-header :where(#main-navigation) a { flex-shrink:0; } }
.snapshot-context-note { margin:24px 0 0; padding:14px 18px; border:0; background:#eef3f4; color:var(--muted); font-size:14px; } .snapshot-context-note a { color:var(--cyan); }

.units-toggle { border:0; background:none; padding:10px 0; color:var(--cyan); font:inherit; font-size:13px; cursor:pointer; }
.units-dialog { width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:28px; border:0; border-radius:8px; color:var(--ink); background:var(--panel); box-shadow:0 20px 80px #142c4326; }
.units-dialog::backdrop { background:#142c434d; }
.units-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.units-heading h2 { margin:0; font-size:24px; }
.units-heading button { border:0; background:none; color:var(--muted); cursor:pointer; }
.units-form label { display:block; margin:18px 0 7px; font-size:13px; }
.units-form select { width:100%; padding:12px; color:var(--ink); background:var(--soft); border:0; border-radius:4px; font:inherit; }
.units-form p { color:var(--muted); font-size:12px; line-height:1.65; }
.units-form .button { margin-top:8px; }
.units-toggle:focus-visible, .units-dialog :focus-visible { outline:2px solid var(--cyan); outline-offset:4px; }

.header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.header-actions button { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px; border:0; background:transparent; color:var(--ink); cursor:pointer; border-radius:50%; }
.header-actions button:hover { background:var(--soft); }
.header-actions svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.header-actions circle { fill:var(--panel); }
.header-actions .menu-toggle { display:none; }
.header-actions button:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.header-inner { gap:20px; }
@media(max-width:1100px) {
  .site-header .header-inner { flex-direction:row; flex-wrap:wrap; gap:0; min-height:80px; padding:12px 0; }
  .site-header .brand { margin-right:auto; }
  .header-actions { margin-left:12px; }
  .header-actions .menu-toggle { display:inline-flex; }
  .site-header #main-navigation { order:3; width:100%; display:grid; grid-template-columns:1fr 1fr; text-align:left; gap:0 24px; overflow:visible; padding:16px 0 4px; }
  .site-header.menu-ready #main-navigation { display:none; }
  .site-header.menu-ready.menu-open #main-navigation { display:grid; }
  .site-header #main-navigation a { padding:13px 4px; font-size:16px; }
  .site-header #main-navigation a[aria-current]::after { display:none; }
  .site-header #main-navigation a[aria-current] { color:var(--cyan); }
  .menu-open .menu-toggle { background:var(--soft); }
}
@media(max-width:380px) { .site-header .brand img { width:155px; } .header-actions { gap:0; margin-left:4px; } }

.footer-grid { grid-template-columns:minmax(250px,1.6fr) minmax(140px,1fr) minmax(140px,1fr); gap:32px; padding-top:8px; padding-bottom:36px; }
.footer-column h2 { font-size:12px; letter-spacing:.035em; margin-bottom:12px; }
.footer-column { gap:11px; }
.footer-email { display:block; width:fit-content; margin-top:10px; font-size:13px; color:var(--muted); }
.footer-bottom { align-items:center; padding-block:20px 12px; }
.footer-policies { display:flex; align-items:center; flex-wrap:wrap; gap:10px 24px; padding-bottom:24px; color:var(--muted); font-size:12px; }
.footer-policies a:hover, .footer-policies button:hover { color:var(--cyan); }
.footer-policies .text-button { color:inherit; font:inherit; text-decoration:none; }
@media(max-width:1000px) { .footer-grid { grid-template-columns:1.4fr 1fr 1fr; } }
@media(max-width:650px) { .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; } .footer-identity { grid-column:1 / -1; grid-row:auto; } .footer-policies { gap:14px 22px; padding-top:10px; line-height:1.6; } }

.definition-unit small { display:block; margin-top:3px; font-size:11px; white-space:nowrap; }

.home-record-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:16px; }
.home-measurement-form { width:min(100%,420px); min-width:0; }
.home-measurement-form label { display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:6px; }
.home-measurement-form select { width:100%; padding:12px; font:inherit; color:var(--ink); background:var(--panel); border:1px solid var(--line); }
.home-record-toolbar>.text-link { white-space:nowrap; font-size:13px; }
.home-chart .reading-panel { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 20px; padding:0 0 14px; }
.home-chart .reading-panel>strong { font-size:36px; overflow-wrap:anywhere; }
.home-chart .reading-panel>span { margin:0; font-size:12px; }
.home-chart .reading-panel>p { flex-basis:100%; margin:0; font-size:13px; }
.home-chart-notes { display:flex; flex-wrap:wrap; gap:4px 24px; padding-top:12px; border-top:1px solid var(--line); }
.home-chart-notes p { margin:0; font-size:12px; line-height:1.6; }
@media(max-width:600px) { .home-record-toolbar { flex-direction:column; align-items:stretch; gap:12px; } .home-measurement-form { width:100%; } .home-record-toolbar>.text-link { align-self:flex-end; } }

.snapshot-strip .simulation-age { font-size:clamp(20px,2.2vw,29px); } .record-clock-note { color:var(--muted); font-size:12px; line-height:1.7; margin:0 0 24px; }

.record-banner .simulation-calendar p { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 10px; }
.record-banner .calendar-label { font:inherit; color:var(--muted); }
.record-banner .calendar-values { display:inline-flex; align-items:baseline; gap:12px; padding-inline-start:10px; border-inline-start:1px solid var(--line); }
.record-banner .calendar-values>span { display:inline-flex; align-items:baseline; gap:4px; white-space:nowrap; }
.record-banner .simulation-calendar strong { color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }

.home-intro-layout { align-items:center; padding:32px 0; }
.home-intro-layout .hero-copy { max-width:900px; }
.home-intro-layout h1 { margin:12px 0 16px; font-size:clamp(34px,3.3vw,48px); text-wrap:balance; }
.home-intro-layout .lead { margin:0 0 18px; font-size:clamp(17px,1.5vw,20px); line-height:1.5; }
@media(min-width:901px) { .home-intro-layout .project-scope>a { padding:12px 0; grid-template-columns:34px 1fr; gap:12px; } .home-intro-layout .project-scope>a>span { font-size:27px; } }
.home-status { padding-top:28px; }
.home-status>.section-heading { margin-bottom:16px; }
.home-status>.snapshot-strip { margin:20px 0 14px; }
.home-status>.record-clock-note { margin-bottom:24px; }
@media(max-width:600px) { .home-intro-layout { padding:34px 0; } .home-status>.section-heading { align-items:flex-start; gap:16px; } .home-status>.section-heading h2 { font-size:25px; } .home-status>.section-heading>a { font-size:12px; white-space:nowrap; } }

.measurement-evidence { margin:18px 0; font-size:13px; }
.measurement-evidence summary, .science-record-links summary { cursor:pointer; color:var(--cyan); font-weight:500; }
.measurement-evidence>summary { width:fit-content; padding:10px 2px; font-size:14px; }
.measurement-evidence>summary:focus-visible { outline-offset:2px; border-radius:2px; }
.measurement-evidence-body { padding:12px 0 4px; }
.measurement-provenance { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr) minmax(0,1.5fr); gap:20px 32px; margin:0 0 18px; }
.measurement-provenance dt { color:var(--muted); font-size:12px; margin-bottom:6px; }
.measurement-provenance dd { margin:0; color:var(--ink); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.measurement-provenance dd span { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.measurement-interpretation { border-top:1px solid var(--line); padding-top:14px; }
.measurement-interpretation h3 { font-family:var(--font); font-size:13px; letter-spacing:0; margin:0 0 6px; }
.measurement-interpretation p { margin:0 0 8px; font-size:13px; }
.measurement-interpretation>a { display:inline-block; font-size:12px; }
@media(max-width:700px) { .measurement-provenance { grid-template-columns:1fr; gap:16px; } }
.measurement-evidence p, .measurement-evidence li { line-height:1.65; overflow-wrap:anywhere; }
.science-record-links { margin:18px 0 8px; font-size:14px; }
.science-record-links>summary { width:fit-content; max-width:100%; padding:8px 2px; }
.science-record-links>summary:focus-visible { outline-offset:2px; border-radius:2px; }
.science-record-links>summary:focus:not(:focus-visible) { outline:none; }
.science-record-links summary span { color:var(--muted); margin-left:8px; font-size:12px; }
.science-record-links p { color:var(--muted); font-size:13px; margin:8px 0 12px; }
.science-record-links ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; padding:0; margin:0; list-style:none; }
.science-record-links li { margin:0; min-width:0; }
.science-record-links li a { display:block; padding:9px 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
@media(max-width:700px) { .science-record-links ul { grid-template-columns:1fr; } }
.metric-definition { scroll-margin-top:24px; }

.home-research,.home-record-guide { padding:44px 0; border-top:1px solid var(--line); }
.home-section-intro { max-width:850px; color:var(--muted); line-height:1.8; margin:0 0 32px; }
.home-research-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.home-research-grid article { min-width:0; display:flex; flex-direction:column; }
.home-research-grid h3 { margin:0 0 14px; font-size:23px; }
.home-research-grid article>p { color:var(--muted); line-height:1.8; margin:0 0 16px; }
.home-research-grid dl { margin:auto 0 24px; }
.home-research-grid dl>div { padding:14px 0; border-bottom:1px solid var(--line); }
.home-research-grid dt { font-size:13px; line-height:1.6; }
.home-research-grid dd { margin:5px 0 0; font-size:23px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.home-research>.record-clock-note { margin:28px 0 0; }
.home-ecology { margin-top:40px; }
.home-ecology>.section-heading { align-items:center; gap:16px; margin-bottom:24px; }
.home-ecology h3 { margin:0; font-size:23px; }
.home-ecology>.snapshot-strip { margin:0 0 24px; }
.home-ecology>.record-clock-note { margin:0; }
@media(max-width:600px) { .home-ecology { margin-top:32px; } .home-ecology>.section-heading { align-items:flex-start; flex-direction:column; gap:12px; } }
.home-record-guide { display:grid; grid-template-columns:1.2fr 1fr; column-gap:60px; row-gap:20px; }
.home-record-guide h2 { margin:12px 0 18px; }
.home-record-guide p { color:var(--muted); line-height:1.8; }
.home-record-guide dl { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin:0; align-content:center; }
.home-record-guide dt { font-size:13px; color:var(--muted); }
.home-record-guide dd { margin:8px 0 0; font-size:25px; overflow-wrap:anywhere; }
.home-record-guide>.text-link { grid-column:2; }
@media(max-width:850px) { .home-research-grid { grid-template-columns:1fr; gap:30px; } .home-research-grid dl { margin-top:0; } .home-record-guide { grid-template-columns:1fr; gap:26px; } .home-record-guide>.text-link { grid-column:1; } }
@media(max-width:600px) { .home-research>.section-heading { align-items:flex-start; flex-direction:column; gap:10px; } .home-research,.home-record-guide { padding:32px 0; } }

.journal-table-wrap { overflow-x:auto; margin:24px 0; }
.journal-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.65; }
.journal-table caption { text-align:left; font-size:13px; color:var(--muted); padding:0 0 12px; }
.journal-table th,.journal-table td { padding:13px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.journal-table th { font-weight:500; }
.journal-table thead th { color:var(--muted); font-size:12px; }
.journal-table td:nth-child(2) { font-variant-numeric:tabular-nums; white-space:nowrap; }
.catalog-categories { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.catalog-categories a { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--surface, #fff); border:1px solid var(--line); border-radius:3px; font-size:13px; }
.catalog-categories a[aria-current="page"] { background:var(--accent, #175577); color:#fff; border-color:var(--accent, #175577); }
.catalog-categories a span { opacity:.7; font-variant-numeric:tabular-nums; }
.catalog-search { width:min(100%,340px); margin:0 0 24px; }
.catalog-search label { display:block; font-size:13px; margin-bottom:8px; }
.catalog-search > div { display:flex; align-items:center; gap:0; background:var(--panel); border:1px solid var(--line); border-radius:4px; }
.catalog-search > div:focus-within { border-color:var(--cyan); }
.catalog-search input[type="search"] { min-width:0; flex:1; font:inherit; color:inherit; border:0; background:transparent; padding:9px 12px; min-height:44px; font-size:14px; }
.catalog-search .button { min-height:44px; padding:8px 14px; position:relative; border:0; background:transparent; font-size:14px; }
.catalog-search .button::before { content:''; position:absolute; left:0; width:1px; height:16px; background:var(--line); }
.catalog-search .button:hover { color:var(--ink); background:var(--soft); }
.catalog-results { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.catalog-results .muted { font-size:13px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.catalog-readings { margin-bottom:24px; }
.catalog-readings h3 { margin-top:10px; }
.catalog-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:24px 0 40px; }
.index-toolbar.catalog-toolbar { padding-top:0; }
@media(max-width:600px) { .journal-table { min-width:480px; } }

.footer-utility{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}
.footer-preferences{display:flex;align-items:center;gap:4px;flex-shrink:0}
.footer-preference,.language-picker summary{display:flex;align-items:center;justify-content:center;width:40px;height:40px;box-sizing:border-box;padding:10px;border:0;border-radius:5px;background:none;color:inherit;font:inherit;cursor:pointer;list-style:none}
.footer-preference svg,.language-picker summary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}
.footer-preference:hover,.language-picker summary:hover,.language-picker[open] summary{background:#eaf0f3}
.footer-preference:focus-visible,.language-picker summary:focus-visible,.language-picker nav a:focus-visible{outline:2px solid #195878;outline-offset:2px}
.language-picker{position:relative}.language-picker summary::-webkit-details-marker{display:none}
.language-picker nav{position:absolute;bottom:calc(100% + 8px);left:0;min-width:200px;padding:6px;background:#fff;box-shadow:0 4px 24px #122f4320;border-radius:7px;z-index:20}
.language-picker nav a{display:flex;justify-content:space-between;gap:20px;padding:12px;border-radius:4px}
.language-picker nav a:hover,.language-picker nav a[aria-current]{background:#edf3f5}
.footer-utility .footer-policies{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 18px;padding:0;margin:0}
.footer-bottom{margin-bottom:0;padding-bottom:24px}
@media(max-width:700px){.footer-utility{align-items:flex-start;flex-direction:column;gap:14px}.footer-utility .footer-policies{justify-content:flex-start;gap:10px 16px}.footer-bottom{gap:4px 6px;font-size:clamp(11px,3vw,12px);padding-block:12px}.footer-bottom>*{white-space:nowrap}.footer-bottom a{display:inline-flex;align-items:center;min-height:28px}}

.context-heading-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; }
.context-heading-title .text-link { font-size:12px; line-height:1.5; font-weight:400; }

.region-controls, .region-control, .region-control label, .map-region-select:not([hidden]) { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.region-controls { margin:0 0 24px; gap:12px 24px; }
.region-control, .map-region-select { margin:0; color:var(--muted); font-size:13px; }
.region-control select, .map-region-select select { font:inherit; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:7px 9px; max-width:100%; }
.map-region-select { margin-bottom:12px; }
.region-control button[hidden] { display:none; }
.regional-readings { margin:24px 0 36px; }
.regional-readings .section-heading { margin-bottom:12px; flex-wrap:wrap; }
.regional-values { min-width:0; }
.regional-values :is(td,th):last-child:not([colspan]) { text-align:right; }
.regional-readings .muted { font-size:13px; margin:12px 0; }

.home-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); gap:0 28px; margin-bottom:18px; }
.home-field { padding:16px 0; border-top:1px solid var(--line); }
.home-field h3 { color:var(--muted); font-size:13px; margin:0 0 7px; }
.home-field a { font-size:15px; }
.home-field strong { display:block; margin-top:6px; font-size:22px; font-weight:500; font-variant-numeric:tabular-nums; }
.home-field small { color:var(--muted); font-size:12px; }

.run-picker form { position:absolute; bottom:calc(100% + 8px); left:0; width:min(350px,75vw); padding:14px; border:1px solid var(--line); border-radius:5px; background:var(--panel); box-shadow:0 4px 24px #122f4320; z-index:20; }
.run-picker label { display:grid; gap:8px; color:var(--ink); }
.run-picker select { width:100%; padding:6px; font:inherit; }
.run-picker button { margin-top:10px; }
@media(max-width:600px) { .footer-preferences { position:relative; } .run-picker { position:static; } .run-picker form { left:0; } }

.run-picker summary { width:auto; gap:5px; font-size:12px; }

.filters.filters-world { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; }
.run-readings { list-style:none; padding:0; margin:16px 0; }
.run-readings li { display:grid; grid-template-columns:minmax(6rem,1fr) minmax(2rem,3fr) minmax(5rem,auto); align-items:center; gap:16px; padding:10px 0; border-top:1px solid var(--line); }
.run-readings small { display:block; color:var(--muted); }
.run-readings strong { text-align:right; font-variant-numeric:tabular-nums; }
.run-track { overflow:visible; fill:var(--cyan); stroke:var(--line); }
@media(max-width:600px){ .filters.filters-world { grid-template-columns:1fr; } .run-readings li { gap:8px; } }

.consent-banner { bottom:10px; padding:14px 18px; gap:12px; width:min(1000px,calc(100% - 24px)); }
.consent-banner .eyebrow { display:none; }
.consent-banner h2 { font-size:16px; margin:0 0 4px; }
.consent-banner p { font-size:14px; line-height:1.4; }
@media(max-width:600px){ .consent-banner { padding:12px; gap:8px; } .consent-banner .button { min-height:36px; padding:6px 12px; } }
.home-intro-layout { position:relative; isolation:isolate; }
.home-intro-layout::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(to right,rgba(30,84,94,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,84,94,.07) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(110deg,transparent 5%,#000 85%,transparent); }
.error-page {padding-block:clamp(48px,8vw,100px);}
.error-page .text-link {margin-inline-start:16px;}
.world-dimensions {font-variant-numeric:tabular-nums;font-weight:600;}


.search-group { grid-column:1/-1; margin:16px 0 0; }
.mobile-record { display:none; }
@media(max-width:600px){ .mobile-record { display:block; font-size:14px; margin:0 0 16px; } .home-intro-layout .project-scope { gap:10px; } .home-intro-layout:has(.mobile-record) + .home-status .snapshot-strip>div:nth-child(-n+2) { display:none; } }

.learning-comparison { margin:18px 0; }
.learning-comparison .journal-table-wrap { margin:10px 0; }
.comparison-note { margin:10px 0; font-size:13px; }
@media(pointer:coarse),(max-width:600px){ .world-marker .world-marker-hit { stroke:transparent; stroke-width:44px; vector-effect:non-scaling-stroke; pointer-events:all; } }

.consent-banner .consent-policy-link { display:inline-block; margin-top:4px; font-size:14px; line-height:1.4; color:var(--cyan); text-decoration:underline; text-underline-offset:2px; }

.brand-signature { display:inline-flex; align-items:center; flex-shrink:0; gap:8px; }
.brand-signature .brand { width:min(216px,44vw); }
.release-badge { color:#385561; background:#f0f4f4; border:1px solid #c5d2d5; border-radius:3px; padding:3px 6px; font:600 10px/1.1 var(--font); letter-spacing:.09em; }
@media(max-width:1100px){ .brand-signature { margin-right:auto; } }

.record-mobile { display:none; }
@media(min-width:1101px){ .header-actions { order:2; } }
@media(max-width:1100px){
  .site-header .header-inner { min-height:68px; padding-block:6px; }
  .header-actions .menu-toggle { width:44px; height:44px; border-radius:2px; padding:0; }
  .menu-toggle svg { width:21px; height:21px; stroke-width:1.7; }
  .menu-toggle path { transform-origin:12px 12px; }
  .menu-open .menu-first { transform:rotate(45deg) translateY(4px); }
  .menu-open .menu-last { transform:rotate(-45deg) translateY(-4px); }
  .site-header #main-navigation { margin:4px 0 8px; padding:5px 0; border-block:1px solid var(--line); gap:0 20px; }
  .site-header #main-navigation a { min-height:44px; display:flex; align-items:center; padding:8px 2px; font-size:16px; }
  .site-header #main-navigation a[aria-current] { font-weight:650; text-decoration:underline; text-underline-offset:5px; }
}
@media(max-width:700px){
  .record-desktop { display:none; }
  .record-mobile { display:block; }
  .record-mobile summary { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:44px; cursor:pointer; list-style:none; font:400 13px/1.4 var(--font); }
  .record-mobile summary::-webkit-details-marker { display:none; }
  .record-mobile summary strong { color:var(--ink); font-weight:600; }
  .record-mobile summary span:last-child { display:inline-flex; align-items:center; gap:6px; color:var(--cyan); }
  .record-mobile summary svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; }
  .record-mobile[open] summary svg { transform:rotate(180deg); }
  .record-mobile .record-banner-inner { border-top:1px solid var(--line); gap:8px; padding-block:10px 14px; }
  .record-mobile .record-banner-inner p { font-size:13px; }
}

@media(max-width:1100px){
  html.mobile-menu-open, .mobile-menu-open body { overflow:hidden; }
  .site-header.menu-open { position:fixed; inset:0; height:100dvh; z-index:100; overflow-y:auto; overscroll-behavior:contain; background:var(--panel); }
  .site-header.menu-open .header-inner { min-height:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto 1fr auto; align-content:start; align-items:center; padding:8px 0 max(16px,env(safe-area-inset-bottom)); }
  .menu-open .brand-signature { grid-row:1; grid-column:1; }
  .menu-open .header-actions { grid-row:1; grid-column:2; }
  .menu-open .record-banner { grid-column:1/-1; grid-row:2; margin:6px 0 8px; }
  .menu-open .record-desktop { display:block; }
  .menu-open .record-mobile { display:none; }
  .menu-open .record-banner { background:transparent; border-block:1px solid var(--line); }
  .menu-open .record-banner-inner { width:100%; grid-template-columns:minmax(0,1fr); gap:9px; padding:12px 0; }
  .menu-open .record-banner-inner > p:first-child { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; }
  .menu-open .record-banner-inner a { margin:0; }
  .menu-open .record-banner-time, .menu-open .record-banner-inner > .simulation-calendar { justify-self:start; text-align:start; }
  .menu-open .calendar-values { flex-wrap:wrap; gap:4px 12px; }
  .site-header.menu-ready.menu-open #main-navigation { grid-column:1/-1; grid-row:3; align-self:start; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:4px 0 12px; margin:0; border:0; }
  .site-header.menu-open #main-navigation a { min-height:44px; padding:8px 2px; font-size:19px; font-weight:450; color:var(--ink); border-bottom:1px solid var(--line); }
  .site-header.menu-open #main-navigation a[aria-current] { color:var(--cyan); font-weight:650; text-decoration:none; }
  .menu-open .footer-preferences { grid-row:4; grid-column:1/-1; width:100%; position:relative; padding-top:12px; border-top:1px solid var(--line); display:flex; gap:12px; }
  .menu-open .footer-preferences :is(button,summary) {min-width:44px;min-height:44px;}
  .menu-open .footer-preferences .language-picker { position:static; }
  .menu-open .footer-preferences :is(.language-picker nav,.run-picker form) { left:0; bottom:calc(100% + 4px); }
}

@media (max-width: 900px) {
  .home-status > .snapshot-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .home-status .snapshot-strip > div { padding: 0 14px; }
  .home-status .snapshot-strip > div:nth-child(odd) { padding-left: 0; border-left: 0; }
}
@media (max-width: 600px) {
  .home-status > .section-heading { flex-wrap: wrap; gap: 6px 18px; }
  .home-status .snapshot-strip strong { font-size: clamp(21px, 5vw, 27px); }
}

.catalog-picker { display:none; }
@media (max-width:600px) {
  .catalog-picker { display:block; margin-bottom:16px; }
  .catalog-picker + .catalog-categories { display:none; }
}

.chart-publication-key { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; }
.chart-publication-key a { margin-inline-start:auto; white-space:nowrap; }
@media (max-width:600px) {
  .chart-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; }
  .chart-range label { min-width:0; }
  .chart-range .button { min-height:44px; height:100%; justify-content:center; padding:8px; text-align:center; }
}

.catalog-picker .select-option { display:flex; align-items:baseline; gap:12px; }
.catalog-picker .category-count { margin-inline-start:auto; color:var(--muted); font-weight:400; font-variant-numeric:tabular-nums; }

@media (max-width:600px) {
  .world-context .population-grid { grid-template-columns:1fr; gap:0; }
  .world-context .population-card { flex-direction:row; align-items:baseline; gap:12px; min-height:0; padding:10px 0; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; }
  .world-context .population-card strong { margin:0; font-size:16px; text-align:end; }
}

@media (max-width:900px) {
  .snapshot-strip > div, .context-grid > div {
    display:grid;
    grid-row:span 2;
    grid-template-rows:subgrid;
    row-gap:0;
  }
  .snapshot-strip strong, .context-grid dd { align-self:baseline; }
}
@media (max-width:600px) {
  .metric-definition > summary { grid-template-columns:minmax(0,1fr) minmax(48px,25%) 24px; }
  .definition-unit small { white-space:normal; overflow-wrap:anywhere; }
  .definition-toggle { justify-self:center; line-height:1; }
  .publication-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .publication-filters input, .publication-filters .button { width:100%; min-width:0; }
}

.home-body-load { margin-top:20px; }

.catalog-entry { padding-bottom:32px; }
.index-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,340px); align-items:center; gap:12px 32px; padding:24px 0 18px; }
.index-toolbar h2 { margin:0; font-size:clamp(20px,2vw,26px); line-height:1.25; }
.index-toolbar p { margin:4px 0 0; color:var(--muted); font-size:14px; line-height:1.45; }
.index-toolbar .catalog-search { width:100%; margin:0; min-width:0; }
.series-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; align-items:start; }
.series-column { display:grid; gap:8px; }
.series-directory details { background:var(--panel); border:1px solid var(--line); border-radius:5px; }
.series-directory summary { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 16px; color:var(--ink); font-weight:600; list-style:none; border-radius:4px; }
.series-directory summary::-webkit-details-marker { display:none; }
.series-directory summary:hover, .series-directory li a:hover { background:var(--soft); }
.series-directory .series-count { margin-inline-start:auto; color:var(--muted); font-size:13px; font-weight:400; font-variant-numeric:tabular-nums; }
.series-directory summary::after { content:''; width:6px; height:6px; flex:none; border:solid var(--cyan); border-width:0 1.5px 1.5px 0; transform:translateY(-2px) rotate(45deg); }
.series-directory details[open] summary::after { transform:translateY(2px) rotate(225deg); }
.series-directory ul { margin:0 16px; padding:4px 0 8px; border-top:1px solid var(--line); list-style:none; }
.series-directory li a { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:8px 4px; line-height:1.45; }
.series-directory li small { flex:none; color:var(--muted); font-size:12px; }
.snapshot-directory { width:100%; border-collapse:collapse; background:var(--panel); font-variant-numeric:tabular-nums; }
.snapshot-directory :is(td,th) { padding:12px 16px; text-align:start; border-bottom:1px solid var(--line); }
.snapshot-directory thead th { background:var(--soft); color:var(--muted); font-size:13px; }
.snapshot-directory tbody th { font-weight:600; }
.snapshot-directory tr > :last-child { text-align:end; }
.snapshot-directory td:last-child { font-weight:600; }
@media(max-width:700px) {
  .index-toolbar { grid-template-columns:minmax(0,1fr); gap:12px; padding:18px 0 14px; }
  .index-toolbar .catalog-search { width:100%; }
  .series-directory { grid-template-columns:1fr; }
  .snapshot-directory { display:block; }
  .snapshot-directory thead { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
  .snapshot-directory tbody { display:block; }
  .snapshot-directory tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:4px 12px; padding:12px; border-bottom:1px solid var(--line); }
  .snapshot-directory tbody :is(td,th) { padding:0; border:0; }
  .snapshot-directory tbody th { grid-column:1/-1; font-size:14px; }
  .snapshot-directory tbody td { font-size:14px; }
}
main[data-page] :is(.page-heading,.journal-article-heading) { position:relative; isolation:isolate; }
main[data-page] :is(.page-heading,.journal-article-heading)::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:var(--hero-motif,none) left center / 320px 160px repeat;
  opacity:.26;
  mask-image:linear-gradient(105deg,rgba(0,0,0,.35),rgba(0,0,0,.48) 40%,#000 92%);
}
.legal-heading.page-heading { max-width:none; }
main[data-page] .page-heading.legal-heading::before { content:none; }
.legal-heading .lead { max-width:980px; }
@media(max-width:600px) {
  main[data-page] :is(.page-heading,.journal-article-heading)::before {
    background-size:256px 128px;
    opacity:.20;
  }
}
main[data-page^="/journal/"] { --hero-motif:url('hero-motifs.svg#journal'); }
main[data-page="/science"] { --hero-motif:url('hero-motifs.svg#science'); }
main[data-page="/world"] .page-heading::before {
  background-image:url('hero-atlas.svg'),linear-gradient(90deg,#67888d30 1px,transparent 1px),linear-gradient(#67888d30 1px,transparent 1px);
  background-size:auto 108%,32px 32px,32px 32px;
  background-position:82% 34%,left center,left center;
  background-repeat:no-repeat,repeat,repeat;
  opacity:.42;
}
@media(max-width:600px) {
  main[data-page="/world"] .page-heading::before { background-size:100% auto,24px 24px,24px 24px; background-position:center,center,center; opacity:.28; }
}
main[data-page="/data"] { --hero-motif:url('hero-motifs.svg#data'); }
main[data-page="/observations"] { --hero-motif:url('hero-motifs.svg#observations'); }
main[data-page="/methodology"] { --hero-motif:url('hero-motifs.svg#methodology'); }
main[data-page="/publication-history"] { --hero-motif:url('hero-motifs.svg#history'); }
main[data-page="/about"] .about-heading::before {
  background-image:linear-gradient(90deg,#67888d30 1px,transparent 1px),linear-gradient(#67888d30 1px,transparent 1px);
  background-size:32px 32px;
}
.about-heading::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:#657779; opacity:.23;
  mask:url('favicon-symbol-v2.svg') 86% center / auto 92% no-repeat;
}
@media(max-width:600px) {
  .about-heading::after { mask-position:96% center; mask-size:36vw 36vw; opacity:.12; }
}
main[data-page="/journal"] { --hero-motif:url('hero-motifs.svg#journal'); }
main[data-page="/journal/at-time-zero-a-world-for-experience"] { --hero-motif:url('hero-motifs.svg#origin'); }
main[data-page="/journal/a-continuous-world-observed"] { --hero-motif:url('hero-motifs.svg#continuum'); }
main[data-page="/journal/reading-the-scientific-record"] { --hero-motif:url('hero-motifs.svg#reading'); }
main[data-page="/journal/from-observation-to-update"] { --hero-motif:url('hero-motifs.svg#update'); }
main[data-page="/404"] { --hero-motif:url('hero-motifs.svg#missing'); }

main { --hero-height:21rem; --hero-padding:20px; }
main :is(.page-heading,.journal-article-heading,.home-intro) {
  box-sizing:border-box; min-height:var(--hero-height); padding-block:var(--hero-padding);
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
main .home-intro-layout { padding-block:0; }
main .journal-article { padding-top:0; }
main :is(.page-heading,.journal-article-heading) > :last-child { margin-bottom:0; }
@media(max-width:900px) {
  main .home-intro-layout { gap:0; }
  main .home-intro-layout::before { display:none; }
  main .home-intro { position:relative; isolation:isolate; }
  main .home-intro::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#1e545e10 1px,transparent 1px),linear-gradient(#1e545e10 1px,transparent 1px); background-size:32px 32px; }
  main .home-intro-layout .project-scope { padding-block:16px; }
}
@media(max-width:600px) {
  main { --hero-height:clamp(23rem,calc(41.75rem - 68vw),28.5rem); --hero-padding:16px; }
  main :is(.page-heading,.journal-article-heading) h1 { margin-block:10px; font-size:clamp(30px,7vw,38px); }
  main :is(.page-heading,.journal-article-heading) .lead { font-size:18px; line-height:1.5; }
}

main :is(.page-heading,.journal-article-heading) {
  min-height:clamp(9rem,14vw,12rem);
  padding-block:clamp(14px,1.8vw,24px);
}
main :is(.page-heading,.journal-article-heading) h1 { margin-block:8px; }

.filters.series-filters { grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:stretch; gap:6px 12px; margin:0 0 8px; }
.series-filters:has(.select-field) { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.series-filters:has(.select-field) > button { display:none; }
.series-filters :is(label,.select-field) { padding:5px 12px; }
.series-filters:has(.select-field) + #measurement-result .series-range-options > summary { display:none; }
.series-filters:has(.select-field) + #measurement-result .series-range-options:not([open]) { display:none; }
.series-range-options { margin:0 0 12px; }
.series-range-options summary { width:fit-content; min-height:36px; padding:7px 0; color:var(--cyan); font-size:14px; }
.series-range-options .chart-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto auto; align-items:end; gap:10px; padding:12px; margin:10px 0 0; background:var(--panel); border:1px solid var(--line); border-radius:4px; }
.series-range-options .chart-range :is(input,.button) { height:42px; min-height:42px; padding-block:6px; }
@media(max-width:700px) { .series-range-options .chart-range { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .filters.series-filters, .series-filters:has(.select-field) { grid-template-columns:minmax(0,1fr); }
}
