:root {
  --paper: #f4f1e9;
  --paper-deep: #ebe7dc;
  --ink: #16221f;
  --muted: #68716d;
  --line: #d4d1c7;
  --white: #fcfbf7;
  --foundations: #9a6637;
  --cell-biology: #277b67;
  --evolution: #6f7f2e;
  --genetics: #7655a8;
  --microbiology: #b14f5d;
  --physiology: #bf7332;
  --ecology: #367b47;
  --biotechnology: #32728e;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --axis-y: 50vh;
  --overlay: rgba(244, 241, 233, .92);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

body {
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}

button,
input,
select { font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }

:focus-visible {
  outline: 3px solid #172b27;
  outline-offset: 3px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: white;
  background: var(--ink);
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }

.timeline-app,
.timeline-stage {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

.timeline-stage {
  z-index: 1;
  background:
    radial-gradient(circle at 75% 44%, rgba(23, 110, 107, .07) 0 2px, transparent 3px),
    repeating-radial-gradient(circle at 76% 45%, transparent 0 38px, rgba(22, 34, 31, .035) 39px 40px, transparent 41px 78px),
    var(--paper);
}

.timeline-viewport {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  direction: ltr;
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--ink) var(--paper-deep);
  scrollbar-width: thin;
  cursor: grab;
  touch-action: pan-x pan-y;
}
.timeline-viewport.is-dragging { cursor: grabbing; user-select: none; }
.timeline-viewport::-webkit-scrollbar { height: 8px; }
.timeline-viewport::-webkit-scrollbar-track { background: var(--paper-deep); }
.timeline-viewport::-webkit-scrollbar-thumb { background: var(--ink); }

.timeline-canvas {
  position: relative;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
  transform: translate3d(calc(0px - var(--timeline-panel-offset, 0px)), 0, 0);
  transition: transform 180ms cubic-bezier(.2, .75, .25, 1);
  will-change: transform;
}

.timeline-axis {
  position: absolute;
  z-index: 1;
  top: var(--axis-y);
  left: var(--axis-left, 70px);
  right: var(--axis-right, 70px);
  height: 1px;
  background: #aaa99f;
}

.decades {
  position: absolute;
  z-index: 0;
  inset: 0 70px;
}
.decade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(22, 34, 31, .08);
}
.decade::before {
  content: "";
  position: absolute;
  top: calc(var(--axis-y) - 6px);
  left: -3px;
  width: 7px;
  height: 13px;
  background: var(--paper);
  border-left: 1px solid #aaa99f;
}
.decade-label {
  position: absolute;
  top: calc(var(--axis-y) - 31px);
  color: #777e7b;
  font: 700 10px var(--sans);
  letter-spacing: .08em;
  transform: translateX(-50%);
}
.timeline-break-marker {
  position: absolute;
  z-index: 3;
  top: calc(var(--axis-y) - 15px);
  transform: translateX(-50%);
  padding: 0 7px 3px;
  border-radius: 999px;
  background: var(--paper);
  color: #777e7b;
  font: 800 15px/1 var(--sans);
  letter-spacing: .12em;
}
.events-layer { position: absolute; z-index: 2; inset: 0; }

.timeline-event,
.timeline-connector { --domain: var(--cell-biology); }
.timeline-connector {
  position: absolute;
  z-index: 1;
  width: 1px;
  min-height: 1px;
  background: var(--domain);
  pointer-events: none;
  transition: opacity 160ms ease;
}
.timeline-connector::after {
  content: "";
  position: absolute;
  top: calc(var(--marker-offset) - 6px);
  left: -6px;
  width: 13px;
  height: 13px;
  border: 3px solid var(--paper);
  border-radius: 50%;
  background: var(--domain);
  box-shadow: 0 0 0 1px var(--domain);
}
.timeline-event {
  position: absolute;
  z-index: 2;
  width: 164px;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
  transition: opacity 160ms ease;
}
.event-card {
  position: relative;
  z-index: 2;
  display: block;
  padding: 5px 11px;
  border-top: 2px solid var(--domain);
  background: rgba(252, 251, 247, .96);
  box-shadow: 0 4px 14px rgba(22, 34, 31, .04);
}
.timeline-event:hover .event-card,
.timeline-event:focus-visible .event-card { background: var(--white); box-shadow: 0 7px 20px rgba(22, 34, 31, .12); }
.event-year { display: block; color: var(--domain); font: 750 11px/1.1 var(--sans); letter-spacing: .08em; }
.event-title,
.event-contributors {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.event-contributors { -webkit-line-clamp: 1; }
.event-title { margin-top: 2px; font: 600 14px/1.08 var(--serif); letter-spacing: -.01em; }
.event-contributors { margin: 3px 0; color: #26332e; font: 650 11px/1.15 var(--sans); overflow-wrap: break-word; }
.event-kind { display: block; color: var(--muted); font-size: 8px; font-weight: 700; line-height: 1.15; letter-spacing: .11em; text-transform: uppercase; }

.timeline-event[data-domain="foundations"], .timeline-connector[data-domain="foundations"] { --domain: var(--foundations); }
.timeline-event[data-domain="cell-biology"], .timeline-connector[data-domain="cell-biology"] { --domain: var(--cell-biology); }
.timeline-event[data-domain="evolution"], .timeline-connector[data-domain="evolution"] { --domain: var(--evolution); }
.timeline-event[data-domain="genetics"], .timeline-connector[data-domain="genetics"] { --domain: var(--genetics); }
.timeline-event[data-domain="microbiology"], .timeline-connector[data-domain="microbiology"] { --domain: var(--microbiology); }
.timeline-event[data-domain="physiology"], .timeline-connector[data-domain="physiology"] { --domain: var(--physiology); }
.timeline-event[data-domain="ecology"], .timeline-connector[data-domain="ecology"] { --domain: var(--ecology); }
.timeline-event[data-domain="biotechnology"], .timeline-connector[data-domain="biotechnology"] { --domain: var(--biotechnology); }
.timeline-event.is-selected { z-index: 5; }
.timeline-event.is-selected .event-card { color: var(--white); background: var(--ink); box-shadow: 0 8px 22px rgba(22, 34, 31, .2); }
.timeline-event.is-selected .event-year,
.timeline-event.is-selected .event-contributors,
.timeline-event.is-selected .event-kind { color: var(--white); }
.timeline-event.is-related { z-index: 4; }
.timeline-event.is-related .event-card { background: var(--white); box-shadow: inset 0 0 0 2px var(--domain); }
.events-layer.has-selection .timeline-event:not(.is-selected):not(.is-related) { opacity: .32; }
.events-layer.has-selection .timeline-connector:not(.is-selected):not(.is-related) { opacity: .2; }
.events-layer.is-narrative.has-selection .timeline-event:not(.is-selected):not(.is-related) { opacity: 1; }
.events-layer.is-narrative.has-selection .timeline-connector:not(.is-selected):not(.is-related) { opacity: .72; }
.timeline-connector.is-selected,
.timeline-connector.is-related { width: 2px; }
.timeline-event.is-filtered-out,
.timeline-connector.is-filtered-out { display: none; }

.identity-overlay,
.filters-overlay,
.position-overlay {
  border: 1px solid rgba(22, 34, 31, .15);
  background: var(--overlay);
  box-shadow: 0 10px 35px rgba(22, 34, 31, .08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.identity-overlay {
  width: 100%;
  height: 100%;
  padding: 16px 18px 17px;
}
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; }
.brand-mark { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font: 700 10px/1 var(--sans); }
.brand strong { display: block; font: 600 18px/1.1 var(--serif); letter-spacing: -.02em; }
.brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.identity-copy { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.eyebrow,
.kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 9px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 24px; height: 1px; background: var(--ink); }
.identity-copy h1 { margin: 0; font: 400 34px/.95 var(--serif); letter-spacing: -.045em; }
.identity-copy h1 em { color: var(--cell-biology); font-weight: 400; }
.identity-copy > p:last-child { max-width: 335px; margin: 10px 0 0; color: #4f5b57; font: 13px/1.45 var(--serif); }

.top-overlay-layout {
  position: fixed;
  z-index: 20;
  top: 18px;
  right: 18px;
  left: 18px;
  max-height: calc(100vh - 36px);
  max-height: calc(100dvh - 36px);
  display: grid;
  grid-template-columns: minmax(0, 390px) minmax(0, 1fr);
  align-items: stretch;
  gap: 18px;
}
.has-event-detail .top-overlay-layout { right: 488px; }

.top-controls-stack {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.timeline-instruction {
  position: fixed;
  z-index: 10;
  top: auto;
  bottom: 18px;
  left: 50%;
  margin: 0;
  padding: 8px 12px;
  color: var(--muted);
  background: rgba(244, 241, 233, .82);
  font-size: 9px;
  letter-spacing: .03em;
  transform: translateX(-50%);
  pointer-events: none;
}

.navigation-overlay {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
}
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); background: var(--white); cursor: pointer; }
.icon-button:hover:not(:disabled) { color: var(--white); background: var(--ink); }
.icon-button:disabled { opacity: .35; cursor: not-allowed; }

.filters-overlay {
  width: 100%;
}
.filters-panel { padding: 11px 12px 10px; }
.domain-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.filter-chip {
  min-height: 30px;
  padding: 4px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #5d6763;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 20px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 650;
}
.filter-chip:hover { border-color: var(--line); }
.filter-chip.is-active { color: var(--white); background: var(--ink); }
.filter-chip span { margin-left: 2px; opacity: .7; }
.domain-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.domain-dot.foundations { color: var(--foundations); }
.domain-dot.cell-biology { color: var(--cell-biology); }
.domain-dot.evolution { color: var(--evolution); }
.domain-dot.genetics { color: var(--genetics); }
.domain-dot.microbiology { color: var(--microbiology); }
.domain-dot.physiology { color: var(--physiology); }
.domain-dot.ecology { color: var(--ecology); }
.domain-dot.biotechnology { color: var(--biotechnology); }
.utility-controls { margin-top: 7px; display: flex; align-items: center; gap: 7px; }
.einstein-mode-button { height: 32px; padding: 0 10px 0 6px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: var(--white); cursor: pointer; font-size: 10px; font-weight: 700; white-space: nowrap; }
.einstein-mode-button:hover { border-color: var(--ink); }
.einstein-mode-button.is-active { color: var(--white); border-color: var(--ink); background: var(--ink); }
.einstein-monogram { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: italic 600 10px var(--serif); }
.type-control select { height: 32px; max-width: 145px; padding: 0 27px 0 9px; color: var(--ink); border: 1px solid var(--line); background: var(--white); font-size: 10px; }
.reset-button { border: 0; color: var(--muted); background: transparent; text-decoration: underline; cursor: pointer; font-size: 10px; white-space: nowrap; }
.evidence-legend { margin-top: 8px; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 7px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.evidence-legend span { display: inline-flex; align-items: center; gap: 5px; }
.evidence-legend b { width: 18px; height: 18px; display: grid; place-items: center; color: var(--ink); border: 1px solid var(--ink); border-radius: 50%; font-size: 7px; }

.position-overlay {
  width: min(100%, 48rem);
  margin-right: auto;
  min-height: 80px;
  padding: 12px 14px;
}
.century-progress { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 8px; font-weight: 700; }
.progress-track { position: relative; height: 32px; margin-block: -15px; flex: 1; cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none; }
.progress-track::before { content: ""; position: absolute; top: 15px; right: 0; left: 0; height: 2px; background: var(--line); }
.progress-track i { position: absolute; top: 13px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); transform: translateX(-50%); transition: left 220ms ease, box-shadow 120ms ease; pointer-events: none; }
.progress-track:hover::before { background: #aaa89f; }
.progress-track:focus-visible { outline: none; }
.progress-track:focus-visible i { box-shadow: 0 0 0 3px var(--white), 0 0 0 4px var(--ink); }
.progress-track.is-scrubbing { cursor: grabbing; }
.progress-track.is-scrubbing i { transition: none; box-shadow: 0 0 0 4px rgba(22, 34, 31, .12); }
.timeline-status-row { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.timeline-result-count { margin: 0; color: var(--muted); font-size: 10px; text-align: left; white-space: nowrap; }
.timeline-result-count.is-pending { opacity: 0; }
.timeline-result-count.is-error { opacity: 1; color: #7c3026; font-weight: 700; white-space: normal; }
.selected-position { min-width: 0; padding-right: 14px; overflow: hidden; color: var(--muted); border-right: 1px solid var(--line); font: italic 10px var(--serif); text-align: right; text-overflow: ellipsis; white-space: nowrap; }

.detail-section {
  position: fixed;
  z-index: 50;
  top: 14px;
  right: 14px;
  bottom: 14px;
  width: min(460px, calc(100vw - 28px));
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 24px 70px rgba(11, 24, 21, .25);
}
.detail-panel-header { position: sticky; z-index: 3; top: 0; min-height: 55px; padding: 8px 10px 8px 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(252, 251, 247, .96); backdrop-filter: blur(12px); }
.detail-panel-header .kicker { margin: 0; }
.close-button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 23px; line-height: 1; }
.close-button:hover { color: var(--white); background: var(--ink); }
.detail-card { background: var(--white); }
.detail-primary { padding: 30px 30px 32px; }
.detail-meta-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.detail-year { color: var(--ink); font: 400 40px/1 var(--serif); }
.type-badge,
.domain-label { padding: 5px 7px; color: var(--muted); border: 1px solid var(--line); font-size: 8px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.domain-label { border-color: currentColor; }
.detail-primary h2 { margin: 22px 0 6px; font: 400 42px/.98 var(--serif); letter-spacing: -.05em; }
.detail-people { margin: 0 0 24px; color: var(--muted); font-size: 11px; }
.detail-people.has-attribution-roles { display: grid; gap: 3px; }
.detail-attribution { min-width: 0; overflow-wrap: anywhere; }
.detail-attribution-role { color: #394640; font-weight: 700; }
.when-we-knew { min-width: 0; margin: -8px 0 24px; padding: 12px 0 0 12px; border-left: 2px solid var(--cell-biology); }
.when-we-knew-heading { margin: 0 0 8px; color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.when-we-knew-rows { display: grid; gap: 5px; }
.when-we-knew-row { min-width: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 92px) min-content minmax(0, 1fr); gap: 7px; align-items: baseline; color: #394640; font: 12px/1.4 var(--sans); }
.when-we-knew-label { min-width: 0; color: var(--ink); font-weight: 700; overflow-wrap: anywhere; }
.when-we-knew-separator { color: var(--cell-biology); }
.when-we-knew-date { min-width: 0; overflow-wrap: anywhere; }
.detail-summary { margin: 0; color: #394640; font: 18px/1.52 var(--serif); }
.significance-block { margin-top: 28px; padding-top: 21px; display: flex; gap: 14px; border-top: 1px solid var(--line); }
.significance-block > span { color: var(--cell-biology); }
.significance-block h3 { margin: 0 0 5px; font: 700 9px var(--sans); letter-spacing: .13em; text-transform: uppercase; }
.significance-block p { margin: 0; color: #4f5b57; font-size: 13px; }
.detail-context { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.context-block,
.memory-block,
.related-block { padding: 24px 28px; border-bottom: 1px solid var(--line); }
.context-block { position: relative; padding-left: 51px; }
.context-block::before { position: absolute; left: 24px; top: 23px; font: 17px var(--serif); }
.context-block.before::before { content: "←"; }
.context-block.after::before { content: "→"; }
.context-block p:last-child,
.memory-block p:last-child { margin: 0; color: #4f5b57; font-size: 12px; }
.context-event-link {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
  font: 700 10px/1.4 var(--sans);
  cursor: pointer;
}
.context-event-link:hover,
.context-event-link:focus-visible { color: var(--white); background: var(--ink); outline: 2px solid var(--cell-biology); outline-offset: 2px; }
.memory-block { display: flex; gap: 14px; background: #edf1ea; }
.memory-block > span { color: var(--evolution); font: 22px var(--serif); }
.related-block { border-bottom: 0; }
.related-links { display: flex; flex-wrap: wrap; gap: 6px; }
.related-link { padding: 7px 9px; border: 1px solid var(--line); background: transparent; cursor: pointer; font-size: 9px; }
.related-link:hover { color: var(--white); background: var(--ink); }

.noscript { position: fixed; z-index: 100; inset: auto 0 0; margin: 0; padding: 12px; color: white; background: #8f2d20; text-align: center; }

@media (max-width: 1300px) {
  .has-event-detail .top-overlay-layout {
    right: auto;
    width: min(390px, calc(100vw - 510px));
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
  }
  .has-event-detail .identity-overlay { width: 100%; height: auto; }
}

@media (max-width: 820px) {
  .top-overlay-layout {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
  }
  .identity-overlay { width: min(390px, calc(100vw - 180px)); height: auto; }
}

@media (max-width: 760px) {
  .top-overlay-layout {
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    max-height: none;
    align-content: start;
    overflow-y: auto;
  }
  .identity-overlay { width: min(280px, calc(100vw - 122px)); padding: 9px 11px; }
  .brand-mark { width: 31px; height: 31px; }
  .brand strong { font-size: 16px; }
  .identity-copy { margin-top: 7px; padding-top: 6px; }
  .identity-copy h1 { font-size: 24px; }
  .identity-copy .eyebrow,
  .identity-copy > p:last-child,
  .evidence-legend { display: none; }
  .has-event-detail .top-overlay-layout { right: 10px; width: auto; }
  .timeline-instruction { top: 10px; right: 10px; bottom: auto; left: auto; max-width: 90px; text-align: right; transform: none; }
  .timeline-event { width: 148px; }
  .event-card { padding: 6px 9px 7px; }
  .event-title { font-size: 14px; }
  .event-contributors { margin-block: 3px; font-size: 10px; }
  .event-kind { font-size: 7px; }
  .filters-panel { padding: 7px 8px; }
  .domain-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .filter-chip { min-height: 28px; flex: 0 0 auto; justify-content: flex-start; padding: 3px 8px; }
  .utility-controls { margin-top: 5px; align-items: center; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; }
  .einstein-mode-button { height: 30px; flex: 0 0 auto; justify-content: center; }
  .type-control { flex: 0 0 122px; }
  .type-control select { width: 100%; max-width: none; height: 30px; }
  .position-overlay { min-height: 68px; padding: 8px 9px; }
  .timeline-status-row { gap: 10px; }
  .navigation-overlay { flex: 0 1 auto; gap: 5px; }
  .selected-position { padding-right: 10px; }
  .has-event-detail .top-overlay-layout { bottom: auto; max-height: 375px; }
  .has-event-detail .top-controls-stack { max-height: 110px; }
  .detail-section { inset: 395px 0 0; width: 100%; border: 0; }
  .detail-primary { padding: 27px 23px; }
  .detail-primary h2 { font-size: 37px; }
  .when-we-knew-row { grid-template-columns: minmax(0, 82px) min-content minmax(0, 1fr); }
  .context-block,
  .memory-block,
  .related-block { padding-right: 22px; }
}

@media (max-height: 620px) and (min-width: 761px) {
  .identity-copy { margin-top: 10px; padding-top: 10px; }
  .filters-panel { padding-block: 8px; }
  .position-overlay { min-height: 80px; padding-block: 9px; }
}

@media (max-width: 360px) {
  .position-overlay { padding-inline: 8px; }
  .timeline-status-row { gap: 6px; }
  .navigation-overlay { gap: 3px; }
  .selected-position { padding-right: 6px; }
  .icon-button { width: 30px; height: 30px; }
}

@media (pointer: coarse) {
  .progress-track { height: 44px; margin-block: -21px; }
  .progress-track::before { top: 21px; }
  .progress-track i { top: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* German Cosmology date labels need room for their natural word width. */
html:lang(de) [data-topic="cosmology"] .when-we-knew-row {
  grid-template-columns: fit-content(45%) min-content minmax(0, 1fr);
}
