.election-results-status{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1rem;margin:1rem 0 1.4rem;padding:1rem 1.15rem;border:1px solid #a6b9ca;border-radius:12px;background:#f4f8fb;color:#17344b;font-size:.85rem;line-height:1.5}
.election-results-status>strong{font-size:.94rem}.election-results-status>span{flex:1 1 380px}.election-results-status>a{white-space:nowrap;color:#174d75;text-decoration:underline}
.candidate-card .election-result{display:grid;gap:.1rem;margin:.55rem 0 .65rem;padding:.65rem .7rem;background:#f1f5f8;border:1px solid #c9d5df;border-radius:9px;color:#17344b;min-width:0}
.candidate-card .election-result>strong{font-variant-numeric:tabular-nums;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
.candidate-card .election-result>span{font-size:.75rem;font-weight:700;color:#294b64}.candidate-card .election-result>small{font-size:.69rem;line-height:1.4;color:#435c70}
.candidate-card .election-result.is-delayed{border-style:dashed}.candidate-card .election-result.is-delayed>small{color:#775316}
@media(max-width:500px){.election-results-status{padding:.8rem}.election-results-status>span{flex-basis:100%}.candidate-card .election-result{padding:.5rem}.candidate-card .election-result>strong{font-size:1.4rem}}

/* Double gold frame and a visible label distinguish called races from vote leads. */
#candidateGrid a.candidate-card.election-winner {
  border: 4px double #a16b13;
  box-shadow: 0 0 0 2px #f3d480, 0 4px 14px rgb(99 62 8 / 22%);
}
#candidateGrid a.candidate-card.election-winner:focus-visible {
  outline: 3px solid #174d75;
  outline-offset: 4px;
}
#candidateGrid .election-winner-badge {
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: .35rem;
  padding: .22rem .52rem;
  border: 1px solid #a16b13;
  border-radius: .35rem;
  background: #ffedb2;
  color: #422800;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.35;
}
