/* UIDI 0.56.0: clear-on-light contrast and progressively revealed research. */
.uidi-atlas .uidi-ux-start{margin:14px 0 22px;padding:clamp(14px,2.4vw,22px);border:1px solid #c6d5e6;border-radius:14px;background:#f4f8fd;color:#182b40}
.uidi-atlas .uidi-ux-start-title span{font-size:.78rem;letter-spacing:.1em;color:#285483;font-weight:800}
.uidi-atlas .uidi-ux-start-title h3{margin:5px 0 6px;color:#17324e;font-size:clamp(1.35rem,2.7vw,1.72rem);line-height:1.3}
.uidi-atlas .uidi-ux-start-title p{color:#3c536c;margin:0 0 14px;line-height:1.55}
.uidi-atlas .uidi-ux-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.uidi-atlas .uidi-ux-goals button{min-width:0;text-align:left;border:1px solid #abc4df;background:#fff;color:#183454;border-radius:10px;padding:14px;cursor:pointer;box-shadow:none}
.uidi-atlas .uidi-ux-goals strong{display:block;font-size:1rem;color:#16365b;line-height:1.4}
.uidi-atlas .uidi-ux-goals span{display:block;font-size:.88rem;color:#4c6076;margin-top:5px;line-height:1.45}
.uidi-atlas .uidi-ux-goals button:hover,.uidi-atlas .uidi-ux-goals button:focus-visible{border-color:#245d9a;background:#eaf3fc;outline:2px solid #82b6e6;outline-offset:1px;color:#153553}
.uidi-atlas .uidi-ux-mode{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}
.uidi-atlas .uidi-ux-mode button{border:1px solid #2a5786;color:#1b426c;background:#fff;padding:8px 11px;border-radius:8px;cursor:pointer}
.uidi-atlas .uidi-ux-mode button:hover,.uidi-atlas .uidi-ux-mode button:focus-visible{background:#dcecf9;color:#17365b}
.uidi-atlas .uidi-ux-mode [hidden]{display:none!important}
.uidi-atlas .uidi-ux-dictionary{border-top:1px solid #c6d5e6;padding:12px 0 0}
.uidi-atlas .uidi-ux-dictionary summary{font-weight:700;color:#204977;cursor:pointer}
.uidi-atlas .uidi-ux-dictionary dl{display:grid;grid-template-columns:minmax(115px,1fr) 3fr;gap:7px 14px;margin:12px 0}
.uidi-atlas .uidi-ux-dictionary dt{font-weight:750;color:#153653}
.uidi-atlas .uidi-ux-dictionary dd{margin:0;color:#344a60}
.uidi-atlas .uidi-ux-reading{margin:12px 0 0;padding:10px 12px;background:#e5effa;color:#193e66;border-radius:8px;font-size:.91rem;line-height:1.5}
.uidi-atlas .uidi-atlas-more-tabs{position:relative;display:inline-flex;align-items:center;min-width:140px}
.uidi-atlas .uidi-atlas-more-tabs>summary{cursor:pointer;display:block;padding:10px 14px;border-radius:8px;font-weight:700;color:#1d4069;background:#eef4fa;border:1px solid #c2d1e0;white-space:nowrap}
.uidi-atlas .uidi-atlas-more-tabs>div{position:absolute;top:100%;right:0;z-index:20;display:grid;gap:5px;min-width:190px;padding:10px;background:#fff;border:1px solid #c2d1e0;box-shadow:0 5px 18px #18283b25;border-radius:9px}
.uidi-atlas .uidi-atlas-more-tabs button{width:100%;text-align:left;white-space:normal;background:#f4f8fc!important;color:#173b63!important;border-radius:7px;padding:10px}
.uidi-atlas .uidi-ux-more-questions{flex:1 1 100%}
.uidi-atlas .uidi-ux-more-questions summary{padding:10px;cursor:pointer;color:#245486;font-weight:700}
.uidi-atlas .uidi-ux-more-questions>div{display:flex;flex-wrap:wrap;gap:9px}
.uidi-atlas .uidi-ux-election-updates{margin:12px 0 18px;border:1px solid #c7d5e5;border-radius:11px;background:#fff}
.uidi-atlas .uidi-ux-election-updates>summary{cursor:pointer;display:flex;align-items:start;flex-direction:column;gap:3px;padding:14px 16px;background:#f0f6fc;color:#18395f;border-radius:10px}
.uidi-atlas .uidi-ux-election-updates>summary strong{color:#18395f;font-size:1.03rem}
.uidi-atlas .uidi-ux-election-updates>summary span{color:#475c72;font-size:.9rem}
.uidi-atlas .uidi-ux-election-updates>.uidi-tracker{margin:12px}
/* Focused mode exposes one detailed research stream at a time; all data and
 * the original tools remain available in the "Show all" control. */
.uidi-atlas[data-uidi-focus="1"] [data-uidi-election-leaders],
.uidi-atlas[data-uidi-focus="1"] [data-uidi-pac-discovery],
.uidi-atlas[data-uidi-focus="1"] [data-uidi-money-network],
.uidi-atlas[data-uidi-focus="1"] [data-uidi-major-donors],
.uidi-atlas[data-uidi-focus="1"] [data-uidi-org-pac-discovery]{display:none!important}
.uidi-atlas[data-uidi-spotlight="leaders"] [data-uidi-election-leaders],
.uidi-atlas[data-uidi-spotlight="pac"] [data-uidi-pac-discovery],
.uidi-atlas[data-uidi-spotlight="money"] [data-uidi-money-network],
.uidi-atlas[data-uidi-spotlight="major"] [data-uidi-major-donors],
.uidi-atlas[data-uidi-spotlight="org"] [data-uidi-org-pac-discovery]{display:block!important}
.uidi-atlas button:focus-visible,.uidi-atlas summary:focus-visible{outline:3px solid #427fb9;outline-offset:2px}
@media(max-width:720px){
 .uidi-atlas .uidi-ux-goals{grid-template-columns:1fr}
 .uidi-atlas .uidi-ux-dictionary dl{grid-template-columns:1fr;gap:3px}
 .uidi-atlas .uidi-ux-dictionary dd{margin-bottom:9px}
 .uidi-atlas .uidi-atlas-more-tabs>div{left:0;right:auto;max-width:min(85vw,310px)}
}
/* Original horizontal scrolling would clip the new native More sources menu. */
.uidi-atlas .uidi-atlas-tabs{overflow:visible;flex-wrap:wrap;position:relative;z-index:5}
.uidi-atlas .uidi-atlas-more-tabs[open]{z-index:25}

/* v0.63: distinguish actual election results from lagged campaign disclosures. */
.uidi-atlas .uidi-2026-election-brief{border:1px solid #b5cadf;border-radius:14px;background:#f7faff;color:#203950;margin:16px 0 22px;padding:clamp(14px,2.2vw,22px)}
.uidi-atlas .uidi-2026-election-kicker{color:#235687;font-size:.75rem;letter-spacing:.075em;font-weight:800}
.uidi-atlas .uidi-2026-election-brief h3{font-size:clamp(1.18rem,2.5vw,1.6rem);color:#1c3855;margin:7px 0}
.uidi-atlas .uidi-2026-election-brief>p{color:#364e63;margin:7px 0 14px;line-height:1.6}
.uidi-atlas .uidi-2026-election-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.uidi-atlas .uidi-2026-election-actions a{display:inline-flex;align-items:center;padding:10px 12px;border-radius:8px;background:#1b587f;color:#fff!important;font-weight:700;text-decoration:none;border:1px solid #1b587f}
.uidi-atlas .uidi-2026-election-actions a:hover,.uidi-atlas .uidi-2026-election-actions a:focus-visible{color:#fff!important;background:#163e5e}
.uidi-atlas .uidi-2026-election-coverage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.uidi-atlas .uidi-2026-election-coverage p{margin:0;border:1px solid #d0deec;background:#fff;color:#344a5d;border-radius:8px;padding:10px 11px;font-size:.9rem;line-height:1.55}
.uidi-atlas .uidi-2026-election-coverage strong{color:#183d5b}
@media(max-width:720px){.uidi-atlas .uidi-2026-election-coverage{grid-template-columns:1fr}.uidi-atlas .uidi-2026-election-actions a{width:100%;justify-content:center}}

.uidi-atlas .uidi-2026-election-brief .uidi-2026-election-result-context{background:#e9f2fb;border-left:3px solid #23618d;padding:11px 13px;color:#25445f;line-height:1.55}

/* v0.64.0: on-page election results and internal research, not offsite calls-to-action. */
.uidi-atlas .uidi-2026-election-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #1b587f;border-radius:8px;background:#1b587f;color:#fff!important;padding:10px 13px;font:inherit;font-size:.94rem;font-weight:700;cursor:pointer}
.uidi-atlas .uidi-2026-election-actions button:hover,.uidi-atlas .uidi-2026-election-actions button:focus-visible{background:#123b59;border-color:#123b59;color:#fff!important;outline-offset:3px}
.uidi-atlas .uidi-2026-election-source-wrap{margin:0 0 12px;color:#304f65;font-size:.9rem}
.uidi-atlas .uidi-2026-election-source-wrap summary{font-weight:700;cursor:pointer;padding:7px 0}
.uidi-atlas .uidi-2026-election-source-wrap p{margin:7px 0;line-height:1.55}
.uidi-atlas .uidi-onsite-results{border:1px solid #c7d7e6;border-radius:11px;background:#fff;padding:15px;margin:15px 0;color:#20394d;scroll-margin-top:15px}
.uidi-atlas .uidi-onsite-results h4{font-size:1.08rem;line-height:1.35;margin:0 0 5px;color:#1a3953}
.uidi-atlas .uidi-onsite-results-head p{margin:0 0 12px;font-size:.93rem;color:#41586b;line-height:1.5}
.uidi-atlas .uidi-results-empty{border-left:3px solid #6f8da8;background:#f4f7fb;padding:11px 13px;font-size:.92rem;line-height:1.55}
.uidi-atlas .uidi-results-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.uidi-atlas .uidi-results-table-wrap table{border-collapse:collapse;width:100%;min-width:650px;text-align:left;font-size:.91rem}
.uidi-atlas .uidi-results-table-wrap th{background:#eaf1f7;color:#20384d;white-space:nowrap}
.uidi-atlas .uidi-results-table-wrap th,.uidi-atlas .uidi-results-table-wrap td{padding:10px;border-bottom:1px solid #d6e1ea;vertical-align:top}
.uidi-atlas .uidi-results-table-wrap small{display:block;color:#526575;margin-top:3px}
.uidi-atlas .uidi-results-limits{font-size:.87rem;color:#496274;line-height:1.5}
@media(max-width:720px){.uidi-atlas .uidi-2026-election-actions button{width:100%;min-width:0}.uidi-atlas .uidi-onsite-results{padding:12px}}

/* v0.65.0: source-qualified election results, on-site and small-screen friendly. */
.uidi-atlas .uidi-official-results{background:#fff;color:#193a53;border-color:#b7cede}
.uidi-atlas .uidi-official-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.045em;color:#275b7e}
.uidi-atlas .uidi-official-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0}
.uidi-atlas .uidi-official-meta>div{border:1px solid #cddce9;border-radius:9px;background:#f1f7fb;padding:12px;min-width:0}
.uidi-atlas .uidi-official-meta span{display:block;color:#465a70;font-size:.81rem;line-height:1.3}
.uidi-atlas .uidi-official-meta strong{display:block;margin-top:5px;font-size:1.13rem;color:#143a5b}
.uidi-atlas .uidi-official-updated{font-size:.84rem;color:#3d5365;line-height:1.55}
.uidi-atlas .uidi-official-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px 0;border-top:1px solid #d5e2ec}
.uidi-atlas .uidi-official-filters label{display:flex;flex-direction:column;gap:5px;color:#213d57;font-size:.88rem;font-weight:700;flex:1 1 155px}
.uidi-atlas .uidi-official-filters select,.uidi-atlas .uidi-official-filters input{font:inherit;min-height:41px;border:1px solid #839cb4;color:#142d45;background:#fff;padding:8px 10px;border-radius:7px;min-width:0;width:100%;max-width:100%}
.uidi-atlas .uidi-official-filter-count{font-size:.84rem;color:#436179;margin:6px 0 12px}
.uidi-atlas .uidi-official-races{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.uidi-atlas .uidi-official-race{background:#fff;border:1px solid #c9dbe7;border-radius:10px;padding:12px;min-width:0}
.uidi-atlas .uidi-official-race[hidden],.uidi-atlas [data-uidi-result-none][hidden]{display:none!important}
.uidi-atlas .uidi-official-race header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.uidi-atlas .uidi-official-race h5{font-size:1.03rem;color:#183b58;margin:0}
.uidi-atlas .uidi-official-race header span{background:#edf3f8;color:#274c68;border:1px solid #ccdbe8;padding:3px 7px;border-radius:5px;font-size:.75rem;font-weight:700}
.uidi-atlas .uidi-official-race .uidi-official-context{font-size:.8rem;color:#516579;line-height:1.45;margin:9px 0}
.uidi-atlas .uidi-official-candidates{display:grid;gap:2px}
.uidi-atlas .uidi-official-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:7px;align-items:center;border-top:1px solid #e1e9f0;padding:9px 0}
.uidi-atlas .uidi-official-candidate-name strong{font-size:.94rem;color:#173954;display:block;overflow-wrap:anywhere}
.uidi-atlas .uidi-official-candidate-name small{font-size:.77rem;color:#52667a;display:block}
.uidi-atlas .uidi-official-votes{font-weight:750;color:#193b5b;white-space:nowrap;font-variant-numeric:tabular-nums}
.uidi-atlas .uidi-official-votes small{font-weight:400;font-size:.72rem;color:#56687b}
.uidi-atlas .uidi-result-finance{grid-column:1/-1;justify-self:start;border:1px solid #295e8a;background:#f0f7ff;color:#153e63!important;border-radius:7px;font-weight:750;padding:7px 11px;min-height:35px;cursor:pointer;font-size:.81rem}
.uidi-atlas .uidi-result-finance:hover,.uidi-atlas .uidi-result-finance:focus-visible{background:#16456d!important;color:#fff!important;border-color:#16456d}
.uidi-atlas .uidi-no-fec{grid-column:1/-1;color:#4f6475;font-size:.77rem}
.uidi-atlas .uidi-official-race footer{border-top:1px solid #d7e4ed;margin-top:6px;padding-top:8px;color:#496275;font-size:.78rem;line-height:1.5}
.uidi-atlas .uidi-official-race footer summary{cursor:pointer;color:#205b83;font-weight:700;margin:4px 0}
.uidi-atlas .uidi-official-race footer p{color:#36546a;margin:5px 0}
.uidi-atlas .uidi-manual-results{margin-top:13px;border-top:1px solid #d4e1ec;padding:12px 0}
.uidi-atlas .uidi-manual-results>summary{cursor:pointer;font-weight:700;color:#205078}
@media(max-width:1050px){.uidi-atlas .uidi-official-races{grid-template-columns:1fr}}
@media(max-width:700px){.uidi-atlas .uidi-official-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.uidi-atlas .uidi-official-filters label{flex:1 1 100%}.uidi-atlas .uidi-official-race{padding:10px}}

/* 0.66: compact source-health rows, readable mobile and dark-theme-resistant controls */
.uidi-atlas .uidi-results-source-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 14px}
.uidi-atlas .uidi-results-source-health p{color:#203d55;background:#f5f9fc;border:1px solid #d1e0ec;border-radius:8px;font-size:.81rem;line-height:1.5;margin:0;padding:10px 12px;overflow-wrap:anywhere}
.uidi-atlas .uidi-results-source-health strong{color:#123b5e}
.uidi-atlas .uidi-official-results .uidi-result-finance{background:#174d75!important;color:#fff!important;border:1px solid #174d75!important}
.uidi-atlas .uidi-official-results .uidi-result-finance:hover,.uidi-atlas .uidi-official-results .uidi-result-finance:focus-visible{background:#0c3556!important;color:#fff!important;border-color:#0c3556!important}
@media(max-width:690px){.uidi-atlas .uidi-results-source-health{grid-template-columns:1fr}}

.uidi-atlas .uidi-official-results .uidi-results-more{display:block;background:#174d75!important;color:#fff!important;border:1px solid #174d75!important;border-radius:9px;padding:11px 18px;font:inherit;font-weight:750;cursor:pointer;margin:16px auto;min-height:44px}
.uidi-atlas .uidi-official-results .uidi-results-more[hidden]{display:none!important}
.uidi-atlas .uidi-official-results .uidi-results-more:focus-visible{outline:3px solid #1e9adb;outline-offset:2px}
