.psychohistory .forecast-guide { margin: 28px 0 0; padding: 18px 0 0; border-top: 1px solid var(--rule); font: 14px/1.65 var(--sans); color: #50564d; }
.psychohistory .forecast-guide p { margin: 0 0 12px; }
.psychohistory .forecast-list { list-style: none; padding: 0; margin: 28px 0; }
.psychohistory .forecast-list > li { padding: 20px 0; border-top: 1px solid var(--rule); scroll-margin-top: 24px; }
.psychohistory .forecast-list > li:last-child { border-bottom: 1px solid var(--rule); }
.psychohistory .forecast-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin: 0 0 10px; font: 12px/1.5 var(--sans); color: #50564d; }
.psychohistory .forecast-probability { font: 32px/1 var(--serif); font-variant-numeric: tabular-nums; color: var(--ink); }
.psychohistory .forecast-original { flex-basis: 100%; }
.psychohistory .forecast-claim { margin: 0 0 12px; font-size: 19px; line-height: 1.5; }
.psychohistory .forecast-test { font: 13px/1.65 var(--sans); color: #50564d; }
.psychohistory .forecast-test summary { cursor: pointer; padding: 6px 0; width: fit-content; text-underline-offset: 3px; }
.psychohistory .forecast-test summary:hover { text-decoration: underline; }
.psychohistory .forecast-test p { margin: 10px 0 4px; }
.psychohistory .forecast-update, .psychohistory .forecast-context, .psychohistory .forecast-resolution { margin: 10px 0 0; font: 14px/1.65 var(--sans); }
.psychohistory .forecast-history { padding-left: 20px; }
.psychohistory .forecast-history li { margin: 8px 0; }
.forecast-archive .archive-copy { max-width: 760px; margin: 64px auto 96px; }
.forecast-archive h1 { font-size: clamp(40px, 7vw, 66px); line-height: 1.08; margin: 16px 0 28px; }
.forecast-archive h2 { font-size: 28px; line-height: 1.25; margin: 0 0 28px; }
.forecast-archive h3 { font: 22px/1.4 var(--serif); margin: 0 0 12px; }
.forecast-archive .archive-back, .forecast-archive .archive-contents, .forecast-archive .archive-downloads { font: 14px/1.65 var(--sans); }
.forecast-archive .archive-contents { margin: 28px 0; }
.forecast-archive .archive-contents ol { columns: 2; padding-left: 20px; column-gap: 36px; }
.forecast-archive .archive-contents li { break-inside: avoid; margin-bottom: 8px; }
.forecast-archive .archive-downloads summary { cursor: pointer; padding: 10px 0; }
.forecast-archive .archive-camp { margin: 56px 0; }
.forecast-archive .archived-forecast { margin: 28px 0 44px; scroll-margin-top: 24px; }
.forecast-archive .archive-test, .forecast-archive .archive-sources { font: 13px/1.65 var(--sans); color: #50564d; overflow-wrap: anywhere; }
.forecast-archive .archive-versions { list-style: none; padding: 0; margin: 20px 0; }
.forecast-archive .archive-version { border-top: 1px solid var(--rule); padding: 20px 0 6px; }
.forecast-archive .archive-version > p:not(.forecast-meta):not(.archive-sources) { font: 16px/1.65 var(--sans); }
/* The record: each prediction's estimate over time, grouped by outcome. */
.psychohistory .forecast-board { margin: 22px 0 6px; padding: 0; border: 0; background: transparent; }
.psychohistory .forecast-board figcaption, .psychohistory .forecast-progress figcaption { padding: 0; font: 600 17px/1.45 var(--sans); color: var(--ink); }
.psychohistory .board-key { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 8px 0 16px; font: 12px/1.5 var(--sans); color: #50564d; }
.psychohistory .key-line { display: inline-block; width: 22px; height: 2px; background: var(--ink); }
.psychohistory .key-half { display: inline-block; width: 22px; height: 4px; margin-left: 8px; background: #e2e4dc; }
.psychohistory .key-hit { display: inline-block; width: 12px; height: 12px; margin-left: 8px; border-radius: 50%; background: #2f6b3a; }
.psychohistory .record-group { margin: 0 0 20px; }
.psychohistory .record-group-name { margin: 0 0 4px; font: 600 12px/1.4 var(--sans); letter-spacing: .05em; text-transform: uppercase; color: #50564d; }
.psychohistory .record-group[data-status="met"] .record-group-name { color: #2f6b3a; }
.psychohistory .record-group-name span { font-variant-numeric: tabular-nums; }
.psychohistory .record-group-note { margin: 0 0 10px; font: 13px/1.55 var(--sans); color: #50564d; max-width: 640px; }
.psychohistory .record-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.psychohistory .record-item { margin: 0; }
.psychohistory .record-item a { position: relative; display: flex; flex-direction: column; height: 100%; padding: 10px 12px 12px; border: 1px solid var(--rule); border-radius: 4px; background: #fff; color: var(--ink); text-decoration: none; font-family: var(--sans); }
.psychohistory .record-item a:hover { border-color: #50564d; }
.psychohistory .record-item a:focus-visible { outline: 2px solid #a43b31; outline-offset: 2px; }
.psychohistory .record-item[data-status="met"] a { background: #eaf2ea; border-color: #2f6b3a; border-width: 1px 1px 1px 4px; }
.psychohistory .record-item[data-status="not_met"] a { background: #f6e9e6; border-color: #a43b31; border-width: 1px 1px 1px 4px; }
.psychohistory .record-verdict { font: 700 12px/1.3 var(--sans); letter-spacing: .03em; text-transform: uppercase; color: #2f6b3a; margin: 0 0 3px; }
.psychohistory .record-item[data-status="not_met"] .record-verdict { color: #a43b31; }
.psychohistory .record-label { font-size: 14px; line-height: 1.35; font-weight: 600; }
.psychohistory .record-camp { font-size: 11px; line-height: 1.35; color: #50564d; margin: 2px 0 6px; }
.psychohistory .record-item svg { display: block; width: 100%; height: auto; margin-top: auto; overflow: visible; }
.psychohistory .record-item .line-half { stroke: #e2e4dc; stroke-width: 3; }
.psychohistory .record-item .line-base { stroke: var(--rule); stroke-width: 1; }
.psychohistory .record-item .line-estimate { fill: none; stroke: var(--ink); stroke-width: 2; }
.psychohistory .record-item .line-start { fill: var(--ink); }
.psychohistory .record-item .line-end { fill: var(--ink); }
.psychohistory .record-item[data-status="met"] .line-estimate { stroke: #2f6b3a; stroke-width: 2.5; }
.psychohistory .record-item[data-status="met"] .line-end { fill: #2f6b3a; }
.psychohistory .record-item[data-status="met"] .line-area { fill: rgba(47, 107, 58, .16); }
.psychohistory .record-item[data-status="not_met"] .line-estimate { stroke: #a43b31; }
.psychohistory .record-detail { font-size: 11px; line-height: 1.4; color: #50564d; margin-top: 6px; font-variant-numeric: tabular-nums; }
.psychohistory .record-item[data-status="met"] .record-detail { color: #24542d; }
.psychohistory .record-value { position: absolute; top: 10px; right: 12px; font: 600 15px/1 var(--sans); font-variant-numeric: tabular-nums; }
.psychohistory .record-item[data-status="open"] .record-label { padding-right: 44px; }
.psychohistory .record-range { margin: 4px 0 0; font: 12px/1.5 var(--sans); color: #50564d; }
.psychohistory .record-risk { align-self: flex-start; margin: 0 0 4px; padding: 1px 6px; border: 1px solid #a43b31; border-radius: 3px; font: 600 10px/1.5 var(--sans); letter-spacing: .04em; text-transform: uppercase; color: #a43b31; }
.psychohistory .record-group[data-status="undervalued"] .record-group-name { color: #7a4b12; }
.psychohistory .record-group[data-status="undervalued"] .record-item[data-status="open"] a { border-color: #b7822f; border-width: 1px 1px 1px 4px; background: #fbf4e8; }
.psychohistory .forecast-undervalued { color: #7a4b12; font-weight: 600; }
/* Outcomes over time. */
/* Keeps the shared figure panel, so it needs the panel's horizontal padding (style.css figure). */
.psychohistory .forecast-progress { margin: 28px 0 6px; padding: 18px 28px 14px; border-top: 1px solid var(--rule); }
@media (max-width: 760px) { .psychohistory .forecast-progress { padding: 18px 18px 12px; } }
.psychohistory .forecast-progress svg { display: block; width: 100%; height: auto; margin-top: 10px; overflow: visible; font-family: var(--sans); }
.psychohistory .forecast-progress .grid { stroke: var(--rule); }
.psychohistory .forecast-progress .axis-label { font-size: 11px; fill: #50564d; }
.psychohistory .forecast-progress .progress-expected { fill: none; stroke: var(--ink); stroke-width: 1.5; stroke-dasharray: 5 4; }
.psychohistory .forecast-progress .progress-label { font-size: 12px; fill: var(--ink); }
.psychohistory .forecast-progress .progress-met { fill: none; stroke: #2f6b3a; stroke-width: 3; }
.psychohistory .forecast-progress .progress-dot { fill: #2f6b3a; }
.psychohistory .forecast-progress .progress-count { font-size: 12px; font-weight: 600; fill: #2f6b3a; }
.psychohistory .forecast-progress .progress-now { stroke: #a43b31; stroke-width: 1.5; }
.psychohistory .forecast-progress .progress-now-label { font-size: 11px; fill: #a43b31; }
.psychohistory .board-note { margin: 12px 0 0; font: 13px/1.6 var(--sans); color: #50564d; }

/* Who would limit whom: a table on wide screens, stacked rows on phones. */
.psychohistory .limits-table-wrap { margin: 26px 0 22px; }
.psychohistory .limits-table { width: 100%; table-layout: fixed; border-collapse: collapse; font: 13px/1.5 var(--sans); }
.psychohistory .limits-table td, .psychohistory .limits-table th { white-space: normal; overflow-wrap: anywhere; }
.psychohistory .limits-table caption { text-align: left; font: 600 17px/1.45 var(--sans); margin-bottom: 12px; color: var(--ink); }
.psychohistory .limits-table th, .psychohistory .limits-table td { padding: 10px 8px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.psychohistory .limits-table thead th { font-size: 11px; font-weight: 500; color: #50564d; }
.psychohistory .limits-table tbody th { font-weight: 600; width: 22%; }
.psychohistory .limits-table th:first-child { padding-left: 0; }

/* Camp subsections inside the reference section. */
.psychohistory .ai-article .camp { margin: 30px 0 0; padding: 26px 0 0; border-top: 1px solid var(--rule); }
.psychohistory .ai-article .camp > h3 { margin: 0 0 8px; font: 400 clamp(23px, 2.4vw, 29px)/1.2 var(--serif); letter-spacing: normal; text-transform: none; }
.psychohistory .camps-intro { font: 14px/1.65 var(--sans); color: #50564d; }

@media (max-width: 700px) {
  .psychohistory .limits-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .psychohistory .limits-table, .psychohistory .limits-table tbody, .psychohistory .limits-table tr,
  .psychohistory .limits-table th, .psychohistory .limits-table td { display: block; width: auto; }
  .psychohistory .limits-table tr { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  .psychohistory .limits-table tbody th, .psychohistory .limits-table td { padding: 3px 0; border: 0; }
  .psychohistory .limits-table tbody th { width: auto; font-size: 14px; }
  .psychohistory .limits-table caption { display: block; }
  .psychohistory .limits-table td::before { content: attr(data-label) ": "; font-weight: 600; color: #50564d; }
}
@media (max-width: 540px) {
  .psychohistory .record-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .psychohistory .record-item a { padding: 8px 9px 10px; }
  .psychohistory .forecast-test summary { min-height: 44px; display: list-item; align-content: center; }
  .psychohistory .forecast-claim { font-size: 18px; }
  .forecast-archive .archive-copy { margin-top: 36px; }
  .forecast-archive .archive-contents ol { columns: 1; }
}
@media (max-width: 420px) {
  .psychohistory .record-list { grid-template-columns: minmax(0, 1fr); }
}
