/* Sealed forecasts extend the public reading layout. */
.forecast-entry { max-width: 940px; margin-top: 48px; padding-top: 30px; border-top: 1px solid #b7c2db; }
.forecast-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; }
.forecast-heading h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; }
.forecast-status { padding: 6px 12px; border-radius: 5px; color: var(--accent); background: var(--soft); font-size: .875rem; font-weight: 500; }
.forecast-description { margin-top: 22px; }
.forecast-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 40px; max-width: 680px; margin-block: 28px; font-variant-numeric: tabular-nums; }
.forecast-dates dt, .forecast-hash dt { color: var(--muted); font-size: .875rem; }
.forecast-dates dd { margin: 4px 0 0; font-size: 1.125rem; font-weight: 500; }
.forecast-disclosure { color: var(--muted); }
.forecast-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.forecast-actions .btn, .forecast-actions .tlink { font-size: 1rem; }
.forecast-actions .tlink { min-height: 44px; }
.forecast-filetype { font-size: .75rem; font-weight: 400; }
.forecast-details { margin-top: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.forecast-details summary { padding-block: 17px; cursor: pointer; font-weight: 500; }
.forecast-details summary:hover { color: var(--accent); }
.forecast-detail-body { padding-bottom: 28px; }
.forecast-detail-body h3 { font-size: 1.125rem; line-height: 1.4; letter-spacing: -.015em; margin-top: 24px; }
.forecast-detail-body h3:first-child { margin-top: 6px; }
.forecast-detail-body p { margin-top: 10px; color: var(--muted); }
.forecast-hash { margin-block: 24px 12px; }
.forecast-hash dd { margin: 6px 0 0; }
.forecast-hash code { font-size: .875rem; overflow-wrap: anywhere; }
.forecast-proof-links { display: flex; flex-wrap: wrap; gap: 4px 24px; list-style: none; margin: 0; padding: 0; }
.forecast-proof-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); text-decoration: underline; }

@media (max-width: 600px) {
  .forecast-entry { margin-top: 36px; padding-top: 24px; }
  .forecast-dates { grid-template-columns: 1fr; gap: 16px; margin-block: 24px; }
  .forecast-actions { align-items: flex-start; flex-direction: column; gap: 8px; }
  .forecast-proof-links { flex-direction: column; align-items: flex-start; }
}
