.archive-card,.vote-results {min-width:0;color:#192c44}
.archive-card .cardhead {align-items:center}
.archive-count,.vote-me,.archive-outcome {border-radius:6px;padding:3px 7px;font-size:11px;font-weight:750;line-height:1.4}
.archive-count {background:#ecf1f7;color:#53647b}
.archive-empty,.ballot-note {margin:10px 0 0;color:#58697e;font-size:12px;line-height:1.65}
.archive-races {display:grid}
.archive-race {display:grid;grid-template-columns:50px minmax(0,1fr) auto 12px;align-items:center;gap:10px;border:0;border-bottom:1px solid #e6eaf1;background:transparent;padding:14px 4px;color:inherit;text-align:left;cursor:pointer;font:inherit}
.archive-race:last-child {border-bottom:0}
.archive-race:hover,.archive-race:focus-visible {background:#f2f6ff}
.archive-year {font-size:12px;color:#54657b;font-variant-numeric:tabular-nums}
.archive-race-title {display:grid;gap:4px}
.archive-race-title strong {font-size:15px}
.archive-race-title small,.vote-person small,.vote-count small,.ballot-region summary small {font-size:12px;line-height:1.45;color:#5e6c7e}
.archive-outcome.won,.vote-me {background:#e8f1ff;color:#1856aa}
.archive-outcome.lost {background:#f1f2f5;color:#5c6270}
.archive-chevron,.ballot-chevron {color:#65758c;font-size:19px;line-height:1;text-align:center}
.vote-results {margin-top:22px;font-variant-numeric:tabular-nums}
.ballot-section-title {display:flex;align-items:center;justify-content:space-between;gap:8px}
.ballot-section-title h3 {margin:0;font-size:17px;letter-spacing:-.035em}
.ballot-section-title>span {color:#52657d;font-size:12px}
.ballot-overview {display:grid;grid-template-columns:1.16fr 1fr;margin:12px 0 8px;border-radius:13px;background:#edf4ff;padding:14px 0}
.ballot-overview>div {display:grid;gap:5px;padding:0 15px;min-width:0}
.ballot-overview>div+div {border-left:1px solid #d2e1f4}
.ballot-overview span,.ballot-turnout summary>span:first-child,.ballot-missing>span {color:#46617f;font-size:12px;font-weight:650}
.ballot-overview strong {color:#194f99;font-size:clamp(19px,4.9vw,27px);letter-spacing:-.045em;line-height:1.25;white-space:nowrap}
.ballot-overview strong small {font-size:12px;margin-left:3px}
.ballot-turnout,.ballot-missing {border:1px solid #e1e7ef;border-radius:11px;background:#fff;padding:0 13px}
.ballot-turnout summary,.ballot-missing {display:flex;align-items:center;gap:8px;min-height:41px}
.ballot-turnout summary,.ballot-region>summary,.ballot-regions>summary {cursor:pointer;list-style:none}
.ballot-turnout summary::-webkit-details-marker,.ballot-region>summary::-webkit-details-marker,.ballot-regions>summary::-webkit-details-marker {display:none}
.ballot-turnout summary strong,.ballot-missing b {margin-left:auto;font-size:14px;color:#273f5c}
.ballot-turnout summary small {color:#5e6c7e;font-size:11px}
.ballot-missing {flex-wrap:wrap}
.ballot-missing small {color:#5e6c7e;font-size:12px}
.ballot-turnout[open]>summary .ballot-chevron,.ballot-region[open]>summary>.ballot-chevron {transform:rotate(180deg)}
.ballot-turnout dl {display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:9px 0;border-top:1px solid #e6eaf1}
.ballot-turnout dl div {display:flex;align-items:baseline;justify-content:space-between;gap:5px;font-size:12px}
.ballot-turnout dt {color:#5c6a7c}
.ballot-turnout dd {margin:0;color:#253750;font-weight:650;white-space:nowrap}
.ballot-turnout .ballot-note {margin:0 0 12px;font-size:11px}
.vote-standings {display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none}
.vote-standing {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;padding:9px 0 7px}
.vote-person {display:flex;align-items:center;gap:10px;min-width:0}
.vote-person>div {display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.vote-rank {flex:none;font-size:12px;color:#53657b}
.vote-person strong {font-size:15px;color:#21334a;font-weight:740}
.vote-me {display:inline-block;margin-left:4px;padding:0 4px;font-size:10px;vertical-align:middle}
.vote-count {display:grid;gap:2px;text-align:right}
.vote-count strong {font-size:16px;line-height:1.25}
.vote-track {grid-column:1/-1;height:4px;overflow:hidden;background:#eef1f5;border-radius:5px}
.vote-track i {display:block;height:100%;background:var(--candidate-color,#497ace);border-radius:inherit}
.ballot-regions {margin-top:18px}
.ballot-regions>summary {font-size:15px;font-weight:750;padding:8px 0}
.ballot-regions>summary::after {content:'＋';float:right;color:#66788e;font-size:15px}
.ballot-regions[open]>summary::after {content:'−'}
.ballot-region-list {display:grid}
.ballot-region {border-bottom:1px solid #e3e8f0}
.ballot-region>summary {display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto minmax(69px,auto) 15px;gap:9px;padding:12px 0;color:#243c5b}
.ballot-region>summary>span:first-child,.region-personal {display:grid;gap:3px}
.region-personal,.region-count {text-align:right}
.ballot-region>summary strong {font-size:14px}
.region-count {font-weight:650;font-size:13px;white-space:nowrap}
.region-breakdown {background:#f7f9fc;padding:10px 12px 13px;border-radius:10px;margin-bottom:10px}
.region-breakdown .vote-standing {padding:8px 0 6px}
.vote-results summary:focus-visible,.archive-race:focus-visible {outline:2px solid #2769c7;outline-offset:2px;border-radius:5px}
@media(max-width:430px) {
 .archive-race {grid-template-columns:minmax(0,1fr) auto 10px;column-gap:6px}
 .archive-year {grid-column:1;grid-row:1}
 .archive-race-title {grid-column:1;grid-row:2}
 .archive-outcome {grid-column:2;grid-row:1/3}
 .archive-chevron {grid-column:3;grid-row:1/3}
 .ballot-overview>div {padding:0 11px}
 .ballot-turnout dl {grid-template-columns:1fr}
 .ballot-region>summary {gap:5px;grid-template-columns:minmax(0,1fr) auto minmax(62px,auto) 12px}
 .ballot-region summary small,.region-count {font-size:11px}
}
