/* Presentation for the scientific simulation report only. */
.site-content.post.scientific-simulation {
  max-width: 880px;
  --reading-width: 700px;
}

.scientific-simulation .post-standfirst {
  text-wrap: balance;
}

.scientific-simulation .simulation-editorial-hero {
  margin: 1.75rem 0 1.5rem;
}

.scientific-simulation .simulation-editorial-hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1942 / 809;
}

/* Publication and revision share the same date. Keep one visible date. */
.scientific-simulation .post-revised {
  display: none;
}

.scientific-simulation .post-release-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.25rem;
}

.scientific-simulation .release-link-kind {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.4rem;
}

.scientific-simulation .release-link-icon {
  display: block;
  flex: 0 0 22px;
  color: var(--ink);
}

.scientific-simulation .release-link-title {
  padding-right: 0.5rem;
}

.scientific-simulation .post-content .evidence-figure,
.scientific-simulation .post-content p[align='center'],
.scientific-simulation .scientific-simulation-hero {
  width: 100%;
  max-width: 100%;
  margin: 2rem 0 0.65rem;
}

.scientific-simulation .post-content .evidence-figure img,
.scientific-simulation .post-content p[align='center'] img,
.scientific-simulation .scientific-simulation-hero video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 1px solid var(--rule);
  border-radius: 2px;
  background: #fbfaf7;
}

/* Make the figure itself the full-size link so its caption stays adjacent. */
.scientific-simulation .post-content p[align='center'] .figure-source {
  display: block;
  width: 100%;
  margin: 0;
}

/* Match the video's display aspect ratio and poster before metadata arrives. */
.scientific-simulation .scientific-simulation-hero video {
  aspect-ratio: 2636 / 859;
  object-fit: contain;
}

.scientific-simulation .scientific-simulation-hero object {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 391;
}

.scientific-simulation .scientific-simulation-hero object img {
  width: 100%;
  height: auto;
}

.scientific-simulation .simulation-enhanced {
  border: 1px solid var(--rule);
  border-radius: 2px;
  background: #fbfaf7;
}

.scientific-simulation .simulation-stage {
  overflow: hidden;
}

.scientific-simulation .simulation-viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  aspect-ratio: 2636 / 859;
  overflow: hidden;
}

.scientific-simulation .simulation-enhanced video {
  max-width: none;
  border: 0;
  border-radius: 0;
}

.scientific-simulation .simulation-focused .simulation-viewport {
  max-width: 420px;
}

.scientific-simulation .simulation-focused video {
  position: absolute;
}

.scientific-simulation .simulation-panels,
.scientific-simulation .simulation-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  font: 12px/1.4 var(--sans);
}

.scientific-simulation .simulation-panels {
  flex-wrap: wrap;
  border-bottom: 1px solid var(--rule);
}

.scientific-simulation .simulation-controls {
  gap: 12px;
  border-top: 1px solid var(--rule);
}

.scientific-simulation .simulation-panels button,
.scientific-simulation .simulation-play {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

.scientific-simulation .simulation-panels button:hover,
.scientific-simulation .simulation-play:hover {
  color: var(--ink);
  background: var(--paper-warm);
}

.scientific-simulation .simulation-panels button[aria-pressed='true'] {
  color: var(--ink);
  background: var(--paper-warm);
  border-color: var(--rule);
}

.scientific-simulation .simulation-play {
  flex: 0 0 74px;
  padding-inline: 5px;
  color: var(--ink);
}

.scientific-simulation .simulation-seek {
  flex: 1 1 100px;
  min-width: 0;
  height: 36px;
  margin: 0;
  accent-color: var(--accent);
  cursor: pointer;
}

.scientific-simulation .simulation-time {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  white-space: nowrap;
}

.scientific-simulation .simulation-definition {
  margin: -0.45rem 0 2rem;
  padding: 0.75rem 0;
  border-block: 1px solid var(--rule);
  font: 13px/1.6 var(--sans);
  color: var(--muted);
}

.scientific-simulation .simulation-definition summary {
  color: var(--ink);
  cursor: pointer;
}

.scientific-simulation .simulation-definition p {
  margin: 0.75rem 0 0.5rem;
  font: inherit;
}

.scientific-simulation .scientific-simulation-hero + p > em:only-child {
  display: block;
  margin: 0 0 1.6rem;
  font: 13px/1.55 var(--sans);
  color: var(--muted);
}

.scientific-simulation .post-content pre {
  max-width: 100%;
  white-space: pre;
  overflow-wrap: normal;
}

.scientific-simulation .post-content pre code {
  white-space: inherit;
  overflow-wrap: normal;
}

.scientific-simulation .post-content .table-scroll th[style*='right'],
.scientific-simulation .post-content .table-scroll td[style*='right'] {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.scientific-simulation .post-content [id^='fn'] {
  scroll-margin-top: 90px;
}

.scientific-simulation .post-content .footnotes li:target {
  background: var(--paper-warm);
}

@media (max-width: 768px) {
  .scientific-simulation .post-content .table-scroll th:first-child,
  .scientific-simulation .post-content .table-scroll td:first-child {
    min-width: 170px;
    max-width: 230px;
  }

  .scientific-simulation .post-content .table-scroll .simulation-settings {
    width: 100%;
    min-width: 320px;
    table-layout: fixed;
  }

  .scientific-simulation .post-content .table-scroll .simulation-settings th,
  .scientific-simulation .post-content .table-scroll .simulation-settings td {
    min-width: 0;
    max-width: none;
    overflow-wrap: normal;
  }

  .scientific-simulation .post-content .table-scroll .simulation-settings th:first-child {
    width: 35%;
  }
}

@media (max-width: 480px) {
  .scientific-simulation .simulation-panels {
    gap: 2px;
    padding: 6px;
  }

  .scientific-simulation .simulation-panels button {
    min-height: 44px;
    min-width: 44px;
    padding: 6px 5px;
  }

  .scientific-simulation .simulation-controls {
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
  }

  .scientific-simulation .simulation-play,
  .scientific-simulation .simulation-seek {
    min-height: 44px;
  }

  .scientific-simulation .simulation-time {
    font-size: 11px;
  }

  .scientific-simulation .post-release-links {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.65rem;
  }

  .scientific-simulation .release-link {
    min-height: 108px;
  }
}

/* Keep navigation usable at 200% desktop zoom on a narrow window. */
@media (max-width: 320px) {
  .scientific-simulation .site-header .nav-left,
  .scientific-simulation .footer-contact {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
  }
}
