/* Accessibility layer: UI contrast/focus only. Never repaint election map fills. */
:root{--piq-focus:#163c62;--piq-ui-rule:#778996;--piq-muted:#405465}
:root[data-resolved-theme=dark]{--piq-focus:#b9dcff;--piq-ui-rule:#91a5b4;--piq-muted:#c0ced8}
html[data-resolved-theme] body[data-piq-design] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--piq-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px var(--piq-bg,#f3f5f5)!important}
html[data-resolved-theme] body[data-piq-design] svg :is(a,path,circle,polygon,g)[tabindex]:focus-visible{outline:none!important;stroke:var(--piq-focus)!important;stroke-width:3px!important;paint-order:stroke fill;filter:drop-shadow(0 0 1px var(--piq-bg,#fff))}
html[data-resolved-theme] body[data-piq-design] :is(input,select,textarea){border-color:var(--piq-ui-rule)!important}
html[data-resolved-theme] body[data-piq-design] :is(input,textarea)::placeholder{color:var(--piq-muted)!important;opacity:1!important}
html[data-resolved-theme] body[data-piq-design] :is(.piq-chip,.outlook-calibration,.piq-table-note,.piq-theme-toggle,.piq-map-toolbar,.outlook-segments button,.world-map-toolbar button,.world-map-toolbar select){border-color:var(--piq-ui-rule)!important}
html[data-resolved-theme] body[data-piq-design] :is(.outlook-small,.outlook-map-credit,.outlook-race-count,.outlook-toolbar,.countdown-caption,.next-up-note,.next-up-clock small,.ec-card-election,.ec-card-number>span,.ec-card-copy>p,.ec-card-party-date,.midterm-source-note,.search-hint,.piq-map-hint,.world-map-top,.world-map-bottom,.piq-few-polls :is(td,th)){color:var(--piq-muted)!important}
html[data-resolved-theme] body[data-piq-design] :is(button:disabled,select:disabled){opacity:1!important;color:var(--piq-muted)!important;border-color:var(--piq-ui-rule)!important;cursor:not-allowed}
html[data-resolved-theme=dark] .world-race-search form button,html[data-resolved-theme=dark] .next-up-links a:first-child,html[data-resolved-theme=dark] .us-election .us-cover-links a:first-child{background:#e8edf1!important;color:#11212d!important}
.piq-zoomable-map,.piq-zoomable-map.piq-is-zoomed,.world-map,.world-map.is-zoomed{touch-action:pan-y pinch-zoom!important}
.piq-map-hint{font:12px/1.4 system-ui!important;max-width:calc(100% - 20px);white-space:normal;position:static!important;display:block;margin:8px 0 0;padding:7px 9px!important;color:var(--piq-muted);background:var(--piq-input);border-color:var(--piq-ui-rule);pointer-events:auto!important}
.piq-map-toolbar button{min-width:44px;min-height:44px}.piq-map-toolbar output{font-size:12px!important}.piq-map-toolbar .piq-map-fit{font-size:12px!important}
.piq-map-text-key{font:12px/1.6 system-ui;color:var(--piq-muted);padding:8px 0;margin:4px 0}.piq-map-text-key strong{font-weight:600}.piq-visible-control-label{display:block;font:600 12px/1.5 system-ui;color:var(--piq-ink);margin:8px 0 5px}
.outlook-boundary-key{display:flex;gap:18px;flex-wrap:wrap;font:12px/1.5 system-ui;margin-top:10px}.outlook-boundary-key>span{display:inline-flex;gap:8px;align-items:center}.outlook-boundary-key i{width:30px;border-top:3px solid currentColor;display:block}.outlook-boundary-key .old i{border-top-style:dashed}
.piq-map-help{font:12px/1.6 system-ui;color:var(--piq-muted);margin:8px 0}.piq-a11y-label{font:12px system-ui;color:var(--piq-muted)}
.ec-card-parties[aria-hidden=true]{pointer-events:none}.ec-election-card[aria-labelledby] .ec-card-arrow{pointer-events:none}
.piq-skip:focus,.skip:focus{position:fixed!important;top:8px!important;left:8px!important;z-index:10000!important;background:var(--piq-input,#fff)!important;color:var(--piq-ink,#11212d)!important;padding:12px!important;width:auto!important;height:auto!important;clip:auto!important;transform:none!important}
@media(prefers-reduced-motion:reduce){html:focus-within,html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.world-point{opacity:1!important;transform:none!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.piq-map-text-key,.piq-map-hint,.piq-chip{border-color:CanvasText!important}.outlook-boundary-key i{forced-color-adjust:none}}
@media(max-width:700px){.piq-map-toolbar{position:static!important;display:flex;width:max-content;max-width:100%;margin:8px 0;flex-wrap:wrap}.piq-map-hint{font-size:12px!important;max-width:100%!important}.piq-map-toolbar+svg{margin-top:6px}}
.world-pan-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:0 12px 8px}.world-pan-controls button{min-width:40px;min-height:40px;border:1px solid var(--piq-ui-rule);border-radius:5px;background:var(--piq-input);color:var(--piq-ink);font:600 16px system-ui}.world-pan-controls>span{font:12px/1.4 system-ui;color:var(--piq-muted);flex:1;min-width:150px}.piq-map-pan{display:flex;gap:3px}
label.piq-visible-control-label{position:static!important;width:auto!important;height:auto!important;margin:8px 0 5px!important;clip:auto!important;overflow:visible!important;white-space:normal!important}
/* Audit findings: quiet text and inline links must remain readable on every panel. */
html[data-resolved-theme] body[data-piq-design]{--muted:var(--piq-muted);--atlas-muted:var(--piq-muted)}
html[data-resolved-theme] body.us-election[data-piq-design] .us-cover h1,html[data-resolved-theme] body.us-election[data-piq-design] .us-cover .eyebrow{color:var(--piq-ink)!important}
html[data-resolved-theme] body[data-piq-design] :is(.tool-index,.us-briefing-foot,.outlook-legend,.outlook-independent-key,.outlook-incumbent,.outlook-rank,.outlook-pager,.us-board-intro label,.us-board-count>span,#us-board-progress,#us-board-page,.us-board-note,#outlook-history-readout>span,#outlook-history-readout>p){color:var(--piq-muted)!important}
html[data-resolved-theme] body[data-piq-design] :is(p,dd,caption,.us-board-intro,.midterm-source-note){color:var(--piq-muted)}
html[data-resolved-theme] body[data-piq-design] :is(p,dd,li,.outlook-poll-sources,#outlook-poll-sources) a{text-decoration:underline!important;text-underline-offset:3px}
html[data-resolved-theme] body[data-piq-design] #outlook-poll-sources a{color:var(--piq-focus)!important;text-decoration:underline!important}
html[data-resolved-theme] body[data-piq-design] .outlook-insight-row .outlook-red{color:#a32c34!important}html[data-resolved-theme=dark] body[data-piq-design] .outlook-insight-row .outlook-red{color:#ffb7bc!important}
html[data-resolved-theme] body[data-piq-design] :is(.outlook-incumbent,.us-incumbent-tag){background:var(--piq-input)!important;border-color:var(--piq-ui-rule)!important}
html[data-resolved-theme] body[data-piq-design] :is(small,caption,label,.eu-source-pill,.en-result-pill,.eu-result-label,.el-result-label,.eu-party-votes,.eu-party-seats small,.eu-riding-meta,.outlook-pager,#outlook-page,.us-board-intro>div>p,.tool-index){color:var(--piq-muted)!important}
html[data-resolved-theme] body[data-piq-design] :is(.eu-table-scroll,.outlook-table-scroll,.table-scroll,.in-table-wrap)[tabindex="0"]:focus-visible{outline:3px solid var(--piq-focus)!important;outline-offset:3px!important}
html[data-resolved-theme] body[data-piq-design] svg text{fill:var(--piq-ink)!important}
html[data-resolved-theme] body[data-piq-design] a[target="_blank"]{color:var(--piq-focus)!important;text-decoration:underline!important;text-underline-offset:3px}
html[data-resolved-theme=dark] body[data-piq-design] :is(.piq-brand-iq,.brand-iq,.wordmark-iq){color:#ff7b85!important}
html[data-resolved-theme=dark] body[data-piq-design] a[aria-current="page"],html[data-resolved-theme=dark] body[data-piq-design] a[aria-current="true"]{color:var(--piq-ink)!important;text-decoration:underline!important;text-underline-offset:3px}
html[data-resolved-theme] body[data-piq-design] :is(.eu-elected,.eu-winner>span,.eu-declared>span,.eu-leading>span){color:var(--piq-ink)!important;background:var(--piq-input)!important}
html[data-resolved-theme] body[data-piq-design] :is(p,.eu-winner-line>span,#map-note,.map-methodology>summary,#page,#state-directory-count,.party-guide-details>summary>span,.stats article>span,.in-stat>span,.stat>span,.about-grid article>span,.about-grid>article>span){color:var(--piq-muted)!important}
html[data-resolved-theme] body[data-piq-design] .party-mark{color:var(--piq-ink)!important}
html[data-resolved-theme] body[data-piq-design] .hero-links a.primary{color:#11212d!important;border:1px solid var(--piq-ui-rule)!important}
html[data-resolved-theme=dark] body[data-piq-design] .hero-links a.primary{background:#e8edf1!important;color:#11212d!important}
html[data-resolved-theme] body[data-piq-design] :is(.coverage-strip>div>span,.source-grid>article>span,.intro-grid>article>span){color:var(--piq-muted)!important}
html[data-resolved-theme] body[data-piq-design] #coverage article>span{color:var(--piq-muted)!important}
@media(max-width:700px){.masthead .mast-row{flex-wrap:wrap!important;gap:10px!important;min-width:0}.masthead .search-shortcut{max-width:100%;white-space:normal!important;margin-left:0!important}.ec-country-switch nav{position:fixed!important;left:16px!important;right:16px!important;top:150px!important;width:auto!important;min-width:0!important;max-width:none!important;max-height:60dvh!important;overflow:auto!important;box-sizing:border-box;z-index:500}.ec-country-switch nav a{white-space:normal!important;overflow-wrap:anywhere}.piq-desk-nav-wrap{max-width:100%;overflow-x:auto}}
html[data-resolved-theme] body[data-piq-design] :is(a[href$=".json"],a[href$=".md"],.en-source-note a,.el-map-foot a){color:var(--piq-focus)!important;text-decoration:underline!important;text-underline-offset:3px}
html[data-resolved-theme] body[data-piq-design] .en-status{color:var(--piq-muted)!important;font-size:11px!important}
html[data-resolved-theme] body[data-piq-design] .outlook-insight-row .outlook-blue{color:#1c518f!important}html[data-resolved-theme=dark] body[data-piq-design] .outlook-insight-row .outlook-blue{color:#9ac8ff!important}
