.elx-ticker { position:absolute; top:0; left:0; right:0; z-index:6; display:flex; gap:.6rem; align-items:center; padding:.45rem 1rem; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--line); font-size:var(--t-s); }
.elx-ticker[hidden], .elx-ui[hidden] { display:none; }
.elx-ticker .chip { flex:none; background:var(--ink); color:var(--paper); border-radius:4px; padding:.1rem .5rem; font-size:var(--t-xs); }
.elx-ticker .run { flex:1; overflow:hidden; white-space:nowrap; }
.elx-ticker .txt { display:inline-block; }
.elx-ticker .txt > span { padding-inline-end:3rem; }
.elx-ticker:not(.scroll) .dup { display:none; }
.elx-ticker.scroll .txt { animation:elx-run 60s linear infinite; }
@keyframes elx-run { from { transform:translateX(0); } to { transform:translateX(50%); } }
@media (prefers-reduced-motion: reduce) { .elx-ticker.scroll .txt { animation:none; } .elx-ticker .dup { display:none; } }
/* the top-bar switch: the bar's own link style (.files-link); pressed = the bar's selected tab (.files button[aria-checked=true]) */
.elx-top { cursor:pointer; padding-inline:var(--s2); } /* a touch narrower than its neighbours, so the bar keeps «الحكومة الشرعية» on one line at 1440px */
.elx-top[aria-pressed=true] { color:var(--ink); border-bottom-color:var(--ink); }
.elx-top:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.elx-ui { position:absolute; inset:0; pointer-events:none; z-index:5; }
.elx-ui > * { pointer-events:auto; }
.elx-ui .elx-sw { position:absolute; top:46px; left:50%; transform:translateX(-50%); display:flex; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:3px; }
.elx-ui .elx-sw button, .elx-card .modes button { border:0; background:none; color:var(--ink); font:inherit; padding:.3rem .9rem; border-radius:999px; cursor:pointer; }
.elx-ui .elx-sw button[aria-checked=true], .elx-card .modes button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.elx-card { position:absolute; top:46px; right:12px; width:min(330px, 40%); max-height:calc(100% - 90px); display:flex; flex-direction:column; overflow:hidden; overflow-wrap:anywhere; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r); padding:0; box-shadow:0 10px 30px oklch(0.2 0.02 60 / 0.25); }
.elx-card h3 { margin:0 0 .15rem; font-size:var(--t-l); line-height:1.4; }
.elx-card .upd { margin:0 0 .35rem; font-size:11px; opacity:.75; }
.elx-card .st { margin:0 0 .6rem; font-size:var(--t-xs); opacity:.85; line-height:1.7; }
.elx-card .sub { font-size:var(--t-xs); opacity:.85; margin:.45rem 0; line-height:1.7; }
.elx-card .modes { display:flex; flex-wrap:wrap; gap:4px; margin:.4rem 0 .7rem; font-size:var(--t-xs); }
.elx-card .modes button { border:1px solid var(--line); padding:.25rem .7rem; }
.elx-card .modes.jumps { margin-top:-.3rem; }
.elx-card .modes.jumps button { padding:.15rem .6rem; font-size:11px; }
.elx-card .tug { position:relative; margin:.4rem 0 .3rem; padding-bottom:1.3em; }
.elx-card .tug .ends { display:flex; justify-content:space-between; gap:.4rem; font-size:11px; margin-bottom:.3rem; }
.elx-card .tug .ends b { font-weight:600; }
.elx-card .bar { display:flex; height:22px; border-radius:4px; overflow:hidden; gap:1px; background:var(--paper); }
.elx-card .bar .gap { flex:0 0 3px; background:var(--paper); }
.elx-card .tug .maj { position:absolute; top:1.35em; height:30px; border-right:2px dashed var(--ink); }
.elx-card .tug .majl { position:absolute; bottom:0; left:50%; transform:translateX(-50%); font-size:11px; white-space:nowrap; }
.elx-card .pt { list-style:none; margin:.5rem 0; padding:0; font-size:var(--t-xs); }
.elx-card .pt li { display:flex; align-items:center; gap:.45rem; padding:.12rem 0; }
.elx-card .pt li i { flex:none; width:10px; height:10px; border-radius:2px; display:inline-block; }
.elx-card .pt li small { opacity:.7; }
.elx-card .pt li em { margin-inline-start:auto; font-style:normal; font-variant-numeric:tabular-nums; }
.elx-card .pt li.blk { margin-top:.45rem; border-top:1px solid var(--line); padding-top:.35rem; }
.elx-card .srcs { font-size:11px; opacity:.85; margin:.5rem 0 0; line-height:1.7; }
.elx-card .srcs span { display:block; opacity:.85; }
.elx-card .srcs a { color:inherit; }
.elx-legend { flex:none; list-style:none; margin:0; padding:.45rem 1rem .55rem; border-top:1px solid var(--line); background:var(--paper); color:var(--ink); display:flex; flex-wrap:wrap; gap:.2rem .9rem; }
.elx-legend li { display:flex; align-items:center; gap:.35rem; line-height:1.35; font-size:11.5px; }
.elx-legend li.pair span + span { margin-inline-start:-2px; }
.elx-legend span { width:12px; height:12px; border-radius:2px; display:inline-block; border:1px solid var(--line); }
.elx-legend span.h { background-image:repeating-linear-gradient(135deg, rgba(122,74,38,0.35) 0 2px, transparent 2px 6px) !important; }
.elx-legend span.ln { height:0; border:0; border-top:2px dashed var(--ink-2); width:18px; border-radius:0; }
.elx-lbl { font:600 13px/1.25 inherit; color:#4A3122; text-align:center; text-shadow:0 0 3px #FFF8EC,0 0 3px #FFF8EC; pointer-events:none; white-space:nowrap; }
.elx-lbl.ps { color:#4A3122; }
.elx-lbl.sm { font-size:11px; font-weight:500; }
.elx-lbl.go { font-size:11px; color:#5B5046; white-space:normal; width:5.2em; line-height:1.2; }
.elx-lbl.pill { white-space:normal; width:15em; font-size:11.5px; font-weight:500; line-height:1.55; background:var(--paper); border:1px solid var(--ink-3); color:var(--ink); border-radius:10px; padding:.35rem .6rem; text-shadow:none; }
[data-elx] .map-wrap .legend, [data-elx] .brief, [data-elx] .map-clock, [data-elx] .map-mark, [data-elx] .scope, [data-elx] .cam-toggle { display:none !important; }
[data-elx] .attrib { max-width:calc(100% - 140px); white-space:normal; line-height:1.6; }
/* the election's news: site ink and lines only; a race's swatch = its party colour at the lead/called opacity */
.elx-news { margin:.7rem 0 .2rem; border-top:1px solid var(--line); padding-top:.5rem; }
.elx-news h4 { margin:0 0 .35rem; font-size:var(--t-s); }
.elx-news h4 small { font-weight:400; font-size:10.5px; color:var(--ink-3); }
.elx-news .ms { list-style:none; margin:0 0 .3rem; padding:0; font-size:11px; line-height:1.6; color:var(--ink-2); }
.elx-news .ms b { color:var(--ink); font-weight:600; }
.elx-news .ms li.done { opacity:.6; }
.elx-news .task { margin:.2rem 0 .4rem; }
.elx-news ol { list-style:none; margin:0; padding:0; }
.elx-news ol li { padding:.4rem 0; border-top:1px dashed var(--line); }
.elx-news ol li:first-child { border-top:0; }
.elx-news time { display:block; font-size:10.5px; color:var(--ink-3); font-variant-numeric:tabular-nums; }
.elx-news ol p { margin:.1rem 0 0; font-size:var(--t-xs); line-height:1.65; }
.elx-news ol .srcs { margin:.15rem 0 0; }
.elx-news .race { display:flex; align-items:center; gap:.35rem; font-size:11px; font-weight:600; margin-top:.1rem; }
.elx-news .race i { width:10px; height:10px; border-radius:2px; flex:none; }
.elx-card .geo { font-size:10.5px; opacity:.65; margin:.4rem 0 0; line-height:1.6; }
.elx-card .body { overflow-y:auto; padding:.8rem 1rem .6rem; min-height:0; }
/* night: labels as the site's own city labels (styles.css .lbl-city) */
[data-elx-theme=dark] .elx-lbl, [data-elx-theme=dark] .elx-lbl.ps, [data-elx-theme=dark] .elx-lbl.go { color:#FFF8EC; text-shadow:0 0 3px rgb(0 0 0 / 0.75), 0 0 6px rgb(0 0 0 / 0.5); }
[data-elx-theme=dark] .elx-lbl.pill { text-shadow:none; }
/* ---- elections mode: the whole page is the election's (elections.js mode(); app.js and styles.css untouched).
   What belongs to the Yemen and Iran files steps aside; the map, the elections ticker, the card and the dock stay. */
.elx-back { display:none; cursor:pointer; padding-inline:var(--s2); }
:root[data-elx-mode] .elx-back { display:inline-block; }
.elx-back:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
:root[data-elx-mode] .files > button, :root[data-elx-mode] .files-link:not(.elx-top):not(.elx-back),
:root[data-elx-mode] .brand-sub, :root[data-elx-mode] .side-filter, :root[data-elx-mode] .notify,
:root[data-elx-mode] #map-toggle, :root[data-elx-mode] .panel,
:root[data-elx-mode] .panel-toggle, :root[data-elx-mode] .map-wrap .legend, :root[data-elx-mode] #cam,
:root[data-elx-mode] .map-wrap .scope, :root[data-elx-mode] #brief, :root[data-elx-mode] .map-clock,
:root[data-elx-mode] .map-show, :root[data-elx-mode] .dock .timeline, :root[data-elx-mode] .dock-row,
:root[data-elx-mode] .tabs, :root[data-elx-mode] .detail,
:root[data-elx-mode] .maplibregl-marker:not(.elx-lbl), :root[data-elx-mode] .maplibregl-popup { display:none !important; }
:root[data-elx-mode] #theme { margin-inline-start:auto; }
/* the breaking strip keeps its grid row (styles.css counts the rows: top bar, strip, map, dock, foot) but takes no room */
:root[data-elx-mode] #breaking { visibility:hidden !important; height:0 !important; min-height:0 !important; padding-block:0 !important; border:0 !important; overflow:hidden !important; }
:root[data-elx-mode] .stage { grid-template-columns:1fr; }
/* the dock: the radar's charts row height, so the map keeps its size */
.elx-dock[hidden] { display:none; }
.elx-dock { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--s5); height:228px; color:var(--ink); }
.elx-dock .col { min-height:0; overflow-y:auto; }
.elx-dock h4 { margin:0 0 var(--s2); font-size:var(--t-s); }
.elx-dock h4 small { font-weight:400; color:var(--ink-3); font-size:11px; }
.elx-dock .tiles { display:grid; grid-template-columns:repeat(6, 1fr); gap:var(--s2); }
.elx-dock .tiles.us { grid-template-columns:repeat(3, 1fr); }
.elx-dock .tile { border:1px solid var(--line); border-radius:6px; padding:6px var(--s3); background:var(--paper-2); display:flex; flex-direction:column; gap:2px; }
.elx-dock .tile b { font-size:var(--t-l); font-variant-numeric:tabular-nums; line-height:1.3; }
.elx-dock .tile small em { font-style:normal; color:var(--ink-2); }
.elx-dock .tile.wide b { font-size:var(--t-s); }
.elx-dock .tile span { font-size:var(--t-xs); color:var(--ink-2); line-height:1.5; }
.elx-dock .tile small { font-size:11px; color:var(--ink-3); line-height:1.6; }
.elx-dock .seats { list-style:none; margin:var(--s2) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:3px var(--s5); font-size:var(--t-xs); }
.elx-dock .seats li { display:grid; grid-template-columns:96px 1fr 24px; align-items:center; gap:var(--s2); }
.elx-dock .seats i { height:10px; border-radius:2px; display:block; }
.elx-dock .seats em { font-style:normal; font-variant-numeric:tabular-nums; text-align:end; }
.elx-dock .sub { font-size:var(--t-xs); color:var(--ink-2); margin:var(--s2) 0 0; }
.elx-dock .elx-news { margin:0; padding:0; border:0; }
@media (max-width: 1023px) {
  :root[data-elx-mode] .elx-dock { order:5; grid-template-columns:1fr; height:auto; padding:var(--s4); }
  .elx-dock .tiles { grid-template-columns:repeat(3, 1fr); }
  .elx-dock .tiles.us { grid-template-columns:1fr; }
  .elx-dock .seats { grid-template-columns:1fr; }
}
/* ---- the early vote tab (1 Nov 2026): registration, not results; site ink, lines and party colours only */
.elx-card .early-lbl { margin:.1rem 0 .3rem; padding:.35rem .6rem; border:1px dashed var(--ink-3); border-radius:6px; font-size:var(--t-xs); font-weight:700; line-height:1.6; }
.elx-card .early-tot { display:flex; flex-direction:column; gap:2px; margin:.5rem 0; }
.elx-card .early-tot b { font-size:var(--t-l); font-variant-numeric:tabular-nums; }
.elx-card .early-tot span { font-size:11px; opacity:.8; line-height:1.6; }
.elx-card .early-h { margin:.7rem 0 .25rem; font-size:var(--t-xs); }
.elx-card .bar.early { height:14px; }
.elx-card .sub.nums { font-size:11px; margin:.25rem 0; }
.elx-card .hint { opacity:.7; }
.elx-card .early-list { list-style:none; margin:0; padding:0; font-size:var(--t-xs); }
.elx-card .early-list li { display:flex; flex-wrap:wrap; align-items:baseline; gap:.1rem .45rem; padding:.18rem 0; border-top:1px dashed var(--line); cursor:pointer; }
.elx-card .early-list li:first-child { border-top:0; }
.elx-card .early-list li em { margin-inline-start:auto; font-style:normal; font-variant-numeric:tabular-nums; }
.elx-card .early-list li .mini { flex-basis:100%; font-style:normal; font-size:10.5px; opacity:.7; }
.elx-legend li.strong { font-weight:700; }
/* ---- state names on the US map and the state card (round 2, 1 Nov 2026) */
.elx-lbl.st { font-size:11.5px; line-height:1.1; font-weight:700; color:#4A3122; text-shadow:0 0 2px #FFF8EC,0 0 3px #FFF8EC,0 0 5px #FFF8EC; }
.elx-lbl.st.off { font-size:10.5px; font-weight:600; padding-inline:3px; }
[data-elx-theme=dark] .elx-lbl.st { color:#FFF8EC; text-shadow:0 0 2px rgb(0 0 0 / 0.75), 0 0 3px rgb(0 0 0 / 0.75), 0 0 6px rgb(0 0 0 / 0.5); }
@media (max-width: 640px) { .elx-lbl.st { font-size:9.5px; } .elx-lbl.st.off { font-size:9px; } }
.elx-state { position:absolute; left:52px; bottom:34px; width:min(300px, calc(100% - 64px)); max-height:calc(100% - 80px); overflow-y:auto; overflow-wrap:anywhere; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r); padding:.7rem .9rem .8rem; box-shadow:0 10px 30px oklch(0.2 0.02 60 / 0.25); z-index:10; font-size:var(--t-xs); line-height:1.7; }
.elx-state[hidden] { display:none; }
.elx-state h4 { margin:0 0 .2rem; padding-inline-end:1.6rem; font-size:var(--t-l); line-height:1.4; }
.elx-state h5 { margin:.6rem 0 .15rem; font-size:var(--t-xs); }
.elx-state h5 small { font-weight:400; opacity:.7; border:1px dashed var(--ink-3); border-radius:4px; padding:0 .3rem; margin-inline-start:.3rem; }
.elx-state .x { position:absolute; top:.4rem; left:.5rem; width:1.8rem; height:1.8rem; border:0; background:none; color:var(--ink); font-size:1.3rem; line-height:1; cursor:pointer; }
.elx-state .sub { margin:.2rem 0; opacity:.9; }
.elx-state .sub b { font-variant-numeric:tabular-nums; }
.elx-state .srcs, .elx-state .geo { margin:.15rem 0; font-size:11px; opacity:.75; }
.elx-state .bar { display:flex; height:14px; border-radius:4px; overflow:hidden; gap:1px; background:var(--paper); margin-top:.3rem; }
.elx-state .sub.nums { font-size:11px; }
.elx-state .races { list-style:none; margin:0; padding:0; }
.elx-state .races li { display:flex; flex-wrap:wrap; align-items:center; gap:.1rem .5rem; padding:.25rem 0; border-top:1px dashed var(--line); }
.elx-state .races li:first-child { border-top:0; }
.elx-state .races .race { display:inline-flex; align-items:center; gap:.3rem; margin-inline-start:auto; }
.elx-state .races .race i { width:10px; height:10px; border-radius:2px; display:inline-block; }
.elx-state .races .wait { margin-inline-start:auto; opacity:.65; }
.elx-state .races .srcs { flex-basis:100%; }
/* ---- round 3 (1 Nov 2026): a clean map (fills, names, borders, one control bar, a small key); everything else under it */
.elx-ui .elx-bar { position:absolute; top:8px; left:50%; transform:translateX(-50%); max-width:calc(100% - 16px); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 6px;
  background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:3px 4px; font-size:11.5px; box-shadow:0 4px 14px oklch(0.2 0.02 60 / 0.15); }
.elx-ui .elx-bar .elx-sw { position:static; transform:none; border:0; padding:0; background:none; }
.elx-ui .elx-bar .modes { display:flex; flex-wrap:wrap; gap:2px; margin:0; padding-inline-start:6px; border-inline-start:1px solid var(--line); }
.elx-ui .elx-bar button { border:0; background:none; color:var(--ink); font:inherit; padding:.2rem .6rem; border-radius:999px; cursor:pointer; white-space:nowrap; }
.elx-ui .elx-bar .modes button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.elx-ui .elx-bar .modes.jumps button { color:var(--ink-2); font-size:10.5px; padding:.15rem .45rem; }
.elx-ui .elx-legend.map { position:absolute; right:8px; bottom:30px; max-width:min(300px, 45%); border:1px solid var(--line); border-radius:8px; padding:.3rem .55rem; gap:.1rem .6rem; background:var(--paper); }
.elx-ui .elx-legend.map li { font-size:10.5px; }
.elx-dock .elx-legend.below { display:none; }
/* desktop: the page scrolls in elections mode; the map takes the screen less a peek of the section under it */
@media (min-width: 1024px) {
  :root[data-elx-mode] body { height:auto; min-height:100dvh; overflow-y:auto; overflow-x:hidden; grid-template-rows:56px auto calc(100dvh - 56px - 92px) auto auto; }
}
.elx-dock { display:block; height:auto; font-size:var(--t-xs); }
.elx-dock .elx-ticker { position:static; z-index:auto; margin:0 0 .6rem; padding:.3rem .6rem; border:1px solid var(--line); border-radius:6px; font-size:11.5px; }
.elx-dock .elx-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:.1rem 1rem; margin:0 0 .6rem; }
.elx-dock .elx-head h3 { margin:0; font-size:var(--t-s); line-height:1.5; }
.elx-dock .elx-head .upd { margin:0; font-size:10.5px; color:var(--ink-3); }
.elx-dock .elx-head .st { flex-basis:100%; margin:0; font-size:11.5px; color:var(--ink-2); line-height:1.7; }
.elx-dock .elx-grid { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:var(--s4); align-items:start; }
.elx-dock .col { border:1px solid var(--line); border-radius:8px; padding:.6rem .75rem; background:var(--paper); max-height:430px; overflow-y:auto; }
.elx-dock .elx-card { position:static; width:auto; max-height:430px; box-shadow:none; display:block; overflow-y:auto; }
.elx-dock .elx-card .body { padding:0; overflow:visible; }
.elx-dock .elx-ph, .elx-dock h4 { margin:0 0 .35rem; font-size:12.5px; }
.elx-dock .elx-card .early-tot b { font-size:var(--t-s); }
.elx-dock .elx-card .early-lbl { font-size:11px; padding:.25rem .5rem; }
.elx-dock .elx-card .sub, .elx-dock .elx-card .srcs { font-size:11px; }
.elx-dock .elx-card .tug .ends { font-size:10.5px; }
.elx-dock .tile b { font-size:var(--t-s); }
.elx-dock .tile span, .elx-dock .tile small { font-size:10.5px; }
.elx-dock .tiles.us { grid-template-columns:1fr; }
.elx-dock .elx-news ol p { font-size:11px; }
.elx-card .early-more { margin:.35rem 0; border-top:1px solid var(--line); padding-top:.3rem; }
.elx-card .early-more summary { cursor:pointer; font-weight:600; font-size:11.5px; padding:.15rem 0; }
.elx-card .early-more[open] summary { margin-bottom:.2rem; }
/* the state card: a small popup by the state (desktop), the first block under the map (phone) */
.elx-state.pop { left:auto; bottom:auto; width:260px; max-height:min(360px, calc(100% - 70px)); padding:.55rem .75rem .6rem; font-size:11px; line-height:1.6; }
.elx-state.pop h4 { font-size:var(--t-s); }
.elx-state.in { position:static; width:auto; max-height:none; margin:0 0 .6rem; box-shadow:none; border:1px solid var(--ink-3); z-index:auto; }
.elx-lbl.st { pointer-events:none; }
@media (max-width: 1023px) {
  .elx-ui .elx-bar { top:6px; gap:2px 4px; padding:2px 3px; font-size:10.5px; border-radius:10px; }
  .elx-ui .elx-bar button { padding:.15rem .45rem; }
  .elx-ui .elx-bar .modes { border-inline-start:0; padding-inline-start:0; justify-content:center; }
  .elx-ui .elx-legend.map { display:none; }
  .elx-dock .elx-legend.below { display:flex; border:1px solid var(--line); border-radius:8px; margin:.6rem 0 0; }
  :root[data-elx-mode] .elx-dock { padding:var(--s3) var(--s4); }
  .elx-dock .elx-grid { grid-template-columns:1fr; gap:var(--s3); }
  .elx-dock .col, .elx-dock .elx-card { max-height:none; }
  .elx-dock .col.all { max-height:420px; }
  .elx-state.in { left:auto; right:auto; bottom:auto; border-radius:8px; }
  :root[data-elx-mode] .map-wrap { height:clamp(320px, 62svh, 760px); }
}
@media (max-width: 640px) { .elx-lbl.st { font-size:8.5px; line-height:1.05; } .elx-lbl.st.off { font-size:8.5px; } }
:root[data-elx-mode] .ctrl-turn { display:none !important; } /* the US map is flat: no rotate/tilt buttons on it */
.elx-dock, .elx-dock .elx-grid, .elx-dock .col, .elx-dock .elx-ticker, .elx-dock .elx-ticker .run { min-width:0; max-width:100%; }
.elx-dock .elx-grid > * { min-width:0; }
.elx-ui .elx-bar { left:0; right:0; margin-inline:auto; width:fit-content; transform:none; }
.elx-state.in { position:relative; }
@media (max-width: 1023px) { .elx-ui .elx-bar .modes { padding-inline-start:0; } .elx-ui .elx-bar { max-width:calc(100% - 12px); } }
@media (max-width: 1023px) {
  .elx-ui .elx-bar { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; width:auto; left:6px; right:6px; scrollbar-width:none; }
  .elx-ui .elx-bar > * { flex:none; }
  .elx-ui .elx-bar .modes { flex-wrap:nowrap; }
  :root[data-elx-mode][data-elx=us] .map-wrap { height:clamp(300px, 50svh, 600px); }
}
.elx-dock { contain:inline-size; } /* the ticker's one long line must not widen the page grid */
:root[data-elx-mode] footer.dock { min-width:0; }
@media (max-width: 1023px) { .elx-ui .elx-bar { left:0; right:0; width:fit-content; max-width:calc(100% - 12px); margin-inline:auto; } }
/* ---- three more elections (1 Nov 2026): a runoff (Bulgaria) and parliaments shown with their previous result before
   the count (New Zealand, Spain). Same classes as the Israel and US views; site ink, lines and party colours only. */
.elx-card .tug.runoff { padding-bottom:1.4em; }
.elx-card .tug.runoff .majl { left:auto; right:0; transform:none; color:var(--ink-2); }
.elx-card .pt.tickets li, .elx-card .pt.leaders li { align-items:flex-start; padding:.25rem 0; line-height:1.6; }
.elx-card .pt.tickets li i, .elx-card .pt.leaders li i { margin-top:.35rem; }
.elx-card .pt.tickets li + li, .elx-card .pt.leaders li + li { border-top:1px dashed var(--line); }
.elx-card .pt small { opacity:.75; }
.elx-card h5.early-h { font-size:var(--t-xs); }
.elx-lbl.ctry { font-size:14px; font-weight:700; letter-spacing:.01em; }
.elx-dock .tiles.g3 { grid-template-columns:repeat(3, 1fr); }
.elx-dock .tiles.g2 { grid-template-columns:repeat(2, 1fr); }
.elx-dock .sub-h { margin:.7rem 0 .2rem; font-size:11.5px; color:var(--ink-2); font-weight:600; }
.elx-dock .seats { grid-template-columns:1fr; }
.elx-dock .seats li { grid-template-columns:minmax(96px, 11em) 1fr 3.4em; }
.elx-dock .seats li span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width: 1023px) { .elx-dock .tiles.g3 { grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 420px) { .elx-dock .tiles.g3 { grid-template-columns:repeat(2, 1fr); } }
.elx-card .pt li em { white-space:nowrap; }
/* AP live counts in the state card (4 Nov 2026) */
.elx-state .races li.ap { align-items:baseline; }
.elx-state table.cands { flex-basis:100%; width:100%; border-collapse:collapse; margin:.2rem 0 .1rem; font-size:11.5px; }
.elx-state table.cands th { font-weight:400; opacity:.65; text-align:start; padding:0 .2rem .1rem; font-size:10.5px; }
.elx-state table.cands td { padding:.12rem .2rem; border-top:1px dotted var(--line); vertical-align:baseline; }
.elx-state table.cands td i { width:8px; height:8px; border-radius:2px; display:inline-block; margin-inline-end:.3rem; }
.elx-state table.cands td small { display:block; opacity:.65; font-size:10px; padding-inline-start:calc(8px + .3rem); }
.elx-state table.cands .n { text-align:end; font-variant-numeric:tabular-nums; white-space:nowrap; }
.elx-state table.cands th:not(:first-child) { text-align:end; }
.elx-state table.cands tr.w td { font-weight:700; }
.elx-state details { flex-basis:100%; margin:.2rem 0; }
.elx-state details summary { cursor:pointer; font-size:11px; opacity:.8; }
.elx-state details.early-x { margin-top:.6rem; border-top:1px solid var(--line); padding-top:.35rem; }
.elx-state details.early-x summary { font-weight:700; opacity:.75; }
.elx-state details.dist ul { list-style:none; margin:.2rem 0 0; padding:0; }
.elx-state details.dist li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.1rem .4rem; padding:.12rem 0; border-top:1px dotted var(--line); font-size:11px; }
.elx-state details.dist li i { width:8px; height:8px; border-radius:2px; display:inline-block; margin-inline-end:.25rem; }
