/* Results night: the shared paper, rules and display type. Party hues from us.css; violet only for the pinned race and "now". */
.rn-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs);margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-2)}
.rn-unofficial{display:inline-block;font:700 var(--text-xs)/1.6 var(--font-body);letter-spacing:.06em;text-transform:uppercase;border:var(--rule-hair) solid var(--color-ink);padding:0 var(--space-2xs);color:var(--color-ink)}
.rn-section .fine{max-width:var(--measure)}
.rn-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);margin-block:var(--space-lg)}
.rn-meter header h3{font-size:var(--text-xl);margin:0}.rn-kicker{font-size:var(--text-sm);color:var(--color-ink-2);margin-top:var(--space-3xs)}
.rn-numbers{list-style:none;padding:0;margin:var(--space-sm) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}
.rn-numbers li{display:grid;gap:var(--space-3xs);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule)}
.rn-numbers li span{font-size:var(--text-xs);color:var(--color-ink-2)}
.rn-numbers li b{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--bloc,var(--color-ink))}
.rn-numbers li.unknown b{color:var(--color-ink-2)}
.rn-numbers li.dem,.rn-numbers li.gop{border-top-color:var(--bloc)}
.rn-numbers li.gop{text-align:end}.rn-numbers li.unknown{text-align:center}
.rn-strip,.rn-hemi{display:block;width:100%;height:auto;margin-top:var(--space-md);direction:ltr}
.rn-strip-wrap{position:relative;margin-top:calc(var(--space-md) + 1.1rem);direction:ltr}.rn-strip-wrap .rn-strip{height:20px;margin:0}.rn-hemi{max-width:30rem}
.rn-majority-line{position:absolute;inset-block:-6px;inset-inline-start:var(--majority-at);width:1px;background:var(--color-ink)}.rn-majority-label{position:absolute;bottom:calc(100% + 7px);inset-inline-start:var(--majority-at);transform:translateX(-50%);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-ink);line-height:1}
.rn-strip rect,.rn-hemi circle{fill:var(--bloc,var(--color-ink-3))}
.rn-strip .unknown,.rn-hemi .unknown{fill:var(--color-ink-3);opacity:.35}
.rn-hemi .is-pinned{fill:var(--color-accent)}
.rn-majority{stroke:var(--color-ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.rn-legend{margin-top:var(--space-xs)}.rn-control{margin-top:var(--space-sm)}
/* Called races: a vertical ticker. Time in ink-3, state in ink, the seat delta as a stamp. */
.rn-calls{list-style:none;padding:0;margin:var(--space-md) 0 0;max-width:46rem}
.rn-calls li{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;gap:var(--space-xs) var(--space-sm);align-items:baseline;padding-block:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule)}
.rn-calls time{color:var(--color-ink-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;direction:ltr}
.rn-calls b{color:var(--color-ink)}.rn-call-race{color:var(--color-ink-2);font-size:var(--text-sm)}
.rn-stamp{font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;border:var(--rule-hair) solid var(--bloc,var(--color-ink-3));color:var(--bloc,var(--color-ink));padding:0 var(--space-3xs);border-radius:var(--radius-sm);white-space:nowrap;justify-self:end}
.rn-calls li.is-pinned{border-top-color:var(--color-accent)}.rn-calls li.is-pinned b{color:var(--color-accent)}
.motion .rn-calls li.is-new{animation:rn-in 420ms var(--ease-out) both}
@keyframes rn-in{from{opacity:0;transform:translateY(.9rem)}to{opacity:1;transform:none}}
.rn-empty{margin-top:var(--space-md);color:var(--color-ink-2)}
/* Map: flat state outlines; called states .82, open .18, states without a race fainter. */
.rn-map-modes{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-block:var(--space-md) var(--space-sm)}
.rn-map-modes button{font:600 var(--text-sm) var(--font-body);background:var(--color-paper-2);color:var(--color-ink-2);border:var(--rule-hair) solid var(--color-rule);padding:var(--space-2xs) var(--space-sm);cursor:pointer;min-height:44px}
.rn-map-modes button[aria-selected="true"]{color:var(--color-ink);border-color:var(--color-ink);background:var(--color-paper)}
.rn-map-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-lg);align-items:start}
.rn-map-panel{position:relative;border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);overflow:hidden;direction:ltr}
.rn-map{display:block;width:100%;height:auto;aspect-ratio:960/600;touch-action:pan-y;user-select:none}
.rn-state{fill:var(--color-ink-3);fill-opacity:.35;stroke:var(--color-rule);stroke-width:.7;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:fill-opacity var(--dur-med) var(--ease-out)}
.rn-state.is-called,.rn-state.is-certified{fill:var(--bloc,var(--color-ink-3));fill-opacity:.82}.rn-state.is-recount{fill-opacity:.65}
.rn-state.is-notup{fill:var(--color-paper-2);fill-opacity:1;cursor:default}
.rn-state:hover,.rn-state:focus-visible{stroke:var(--color-ink);stroke-width:1.2}
.rn-state.is-pinned{stroke:var(--color-accent);stroke-width:2}
.rn-map-labels text{font:600 9px var(--font-body);fill:var(--color-ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--color-paper);stroke-width:2px;stroke-linejoin:round}
.rn-map-labels{opacity:.9}
.rn-zoom{position:absolute;inset-inline-end:var(--space-sm);inset-block-start:var(--space-sm);display:flex;flex-direction:column;z-index:2;box-shadow:0 2px 10px #0002}
.rn-zoom[hidden]{display:none}
.rn-zoom button{width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--color-paper-2);border:1px solid var(--color-rule);color:var(--color-ink);font:600 1.3rem var(--font-body);cursor:pointer;margin-top:-1px}
.rn-zoom button:first-child{border-radius:.4rem .4rem 0 0}.rn-zoom button:last-child{border-radius:0 0 .4rem .4rem}
.rn-zoom button:hover{border-color:var(--color-ink-3)}.rn-zoom button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}
.rn-zoom svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rn-pinned{border-top:var(--rule-strong) solid var(--color-ink);padding-top:var(--space-sm);min-height:8rem}
.rn-pinned h3{font-size:var(--text-xl);margin:0 0 var(--space-2xs)}.rn-pinned p{margin-top:var(--space-xs)}
.rn-map-legend{margin-top:var(--space-sm);align-items:center}.us-legend.rn-map-legend li{border-inline-start:0;padding:0;display:flex;align-items:center;gap:var(--space-2xs)}
.rn-map-legend li::before{content:'';width:.85rem;height:.85rem;flex:none;background:var(--bloc,var(--color-ink-3));opacity:.82}.rn-map-legend li.unknown::before{background:var(--color-ink-3);opacity:.35}.rn-map-legend li.recount::before{background:var(--color-ink-3);opacity:.65}.rn-map-legend li.notup::before{background:var(--color-paper-2);opacity:1;box-shadow:inset 0 0 0 1px var(--color-rule)}
/* Poll closings: groups by the Eastern moment, the visitor's own clock beside it, "now" in violet. */
.rn-closings{list-style:none;padding:0;margin:var(--space-md) 0 0;max-width:52rem}
.rn-closings li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--space-xs) var(--space-sm);padding-block:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule);align-items:start}
.rn-closings time{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;line-height:1.2;color:var(--color-ink);direction:ltr;text-align:start}
.rn-closings time small{display:block;font:400 var(--text-xs) var(--font-body);color:var(--color-ink-3)}
.rn-closings li.is-passed time{color:var(--color-ink-3)}.rn-closings li.is-passed .rn-chip{opacity:.6}
.rn-close-states{display:flex;flex-wrap:wrap;gap:var(--space-3xs)}
.rn-chip{font:inherit;font-size:var(--text-sm);background:none;border:var(--rule-hair) solid var(--color-rule);color:var(--color-ink);padding:1px var(--space-2xs);cursor:pointer;border-radius:var(--radius-sm)}
.rn-chip:hover,.rn-chip:focus-visible{border-color:var(--color-ink)}.rn-chip sup{color:var(--color-ink-3)}
.rn-closings li.rn-now{border-top:var(--rule-strong) solid var(--color-accent);color:var(--color-accent)}
.rn-closings li.rn-now time{color:var(--color-accent);font-size:var(--text-md);font-family:var(--font-body);font-weight:700}
.rn-closings li.rn-now span{font-size:var(--text-sm);align-self:center}
.rn-notes{list-style:none;padding:0;margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-2);max-width:var(--measure)}.rn-notes li{padding-block:var(--space-2xs);border-top:var(--rule-hair) solid var(--color-rule)}.rn-notes time{color:var(--color-ink-3)}
.rn-more{margin-top:var(--space-sm);max-width:46rem}.rn-more .rn-calls{margin-top:var(--space-xs)}
@media(max-width:800px){.rn-meters,.rn-map-wrap{grid-template-columns:minmax(0,1fr)}.rn-numbers li b{font-size:var(--text-2xl)}}
@media(max-width:600px){.rn-calls li{grid-template-columns:3.6rem minmax(0,1fr)}.rn-stamp{grid-column:2;justify-self:start}.rn-closings li{grid-template-columns:minmax(0,1fr)}.rn-map-labels{display:none}.rn-numbers{gap:var(--space-sm)}}
