.model-evolution { background: #fff; color: #20352c; }
.model-evolution :is(h2, h3, p, label, select, option, strong, span, summary) { color: #20352c; }
.model-evolution h2 { font-size: 1.6rem; }
.model-evolution .small { color: #526158; }
.model-evolution select { background-color: #fff; width: 100%; }
.model-evolution-plot { position: relative; height: 280px; min-width: 0; }
.model-evolution-summaries { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin-bottom: 16px; }
.model-evolution-summary { border: 1px solid #d9e2dc; border-left: 4px solid var(--model-colour); border-radius: 8px; padding: 10px 12px; background: #f8faf8; min-width: 0; }
.model-evolution-summary--harness { border-left-style: dashed; }
.model-evolution-summary strong { display: block; overflow-wrap: anywhere; font-size: .92rem; }
.model-evolution-summary span { display: block; color: #526158; font-size: .8rem; margin-top: 3px; }
.model-evolution-details { margin-bottom: 16px; border-block: 1px solid #d9e2dc; padding: 12px 0; }
.model-evolution-details summary { cursor: pointer; font-weight: 600; }
.model-evolution-details[open] summary { margin-bottom: 12px; }
@media (max-width: 575.98px) {
  .model-evolution-plot { height: 240px; }
  .model-evolution-summaries { grid-template-columns: 1fr; }
}
