.election-center .election-library,.election-center .election-polling{border-top:3px solid var(--brand-forest,#0c1a33);margin:44px 0;padding-top:28px;scroll-margin-top:20px}.election-center .evidence-heading{border:0;max-width:920px;margin-bottom:24px;padding:0;display:block}.election-center .evidence-heading h2{margin:8px 0 14px;font-size:clamp(30px,3.2vw,44px);line-height:1.1}.election-center .evidence-heading>p:not(.eyebrow){font-size:18px;line-height:1.65}.election-center .archive-cycle-links{border:0;flex-wrap:wrap;gap:12px;margin:20px 0;padding:0;display:flex;overflow:visible}.election-center .archive-cycle-links a{color:#0c1a33;white-space:normal;background:#fff;border:1px solid #cbd7cf;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:138px;min-height:68px;padding:12px 20px;text-decoration:none;display:flex}.election-center .archive-cycle-links strong{font-family:var(--pp-display);border:0;min-height:0;padding:0;font-size:30px;line-height:1}.election-center .archive-cycle-links span{font-size:16px}.election-center .archive-cycle-links a:hover{background:#f3f6f4;border-color:#0c1a33}.election-center .library-map-note{color:#586c74;max-width:1000px;font-size:16px;line-height:1.6}.election-center .archive-cycle{border:1px solid #cbd7cf;margin-top:20px;scroll-margin-top:20px}.election-center .archive-cycle>summary{cursor:pointer;background:#f3f6f4;align-items:center;gap:22px;min-height:88px;padding:22px;list-style:none;display:flex}.election-center .archive-cycle>summary::-webkit-details-marker{display:none}.election-center .archive-cycle-year{font-family:var(--pp-display);color:#0c1a33;font-size:44px;font-weight:700;line-height:1}.election-center .archive-cycle>summary>span:nth-child(2){flex:1;min-width:0}.election-center .archive-cycle>summary strong{font-size:22px;display:block}.election-center .archive-cycle>summary small{color:#586c74;margin-top:5px;font-size:16px;line-height:1.5;display:block}.election-center .archive-open-label{color:#0c1a33;align-items:center;gap:14px;font-size:16px;display:flex}.election-center .archive-open-label>span{font-size:28px;line-height:1}.election-center .archive-cycle[open]>.archive-cycle-body{border-top:1px solid #cbd7cf}.election-center .archive-cycle[open]>summary .archive-open-label>span{transform:rotate(45deg)}.election-center .archive-cycle-body{padding:22px}.election-center .archive-source-strip{border-bottom:1px solid #d7dfda;justify-content:space-between;gap:20px;padding-bottom:18px;display:flex}.election-center .archive-source-strip strong,.election-center .archive-source-strip span{font-size:16px;line-height:1.6;display:block}.election-center .archive-source-strip span{color:#586c74}.election-center .archive-source-links{flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex}.election-center .archive-source-links a{color:#0c1a33;align-items:center;min-height:44px;font-size:16px;display:inline-flex}.election-center .archive-limitations{color:#586c74;margin:18px 0;padding-left:20px;font-size:16px;line-height:1.6}.election-center .archive-search{background:#f3f6f4;margin:22px 0;padding:18px}.election-center .archive-search label{margin-bottom:9px;font-size:16px;font-weight:700;display:block}.election-center .archive-search input{color:#172f32;background:#fff;border:1px solid #81958a;border-radius:0;width:min(100%,540px);min-height:48px;padding:10px 12px;font-size:17px}.election-center .archive-search p{margin:10px 0 0;font-size:16px;line-height:1.5}.election-center .archive-search p:empty{display:none}.election-center .archive-contest{border-bottom:1px solid #cbd7cf;scroll-margin-top:20px}.election-center .archive-contest>summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:22px;min-height:64px;padding:20px 0;display:flex}.election-center .archive-contest>summary>span:first-child{flex:1;min-width:0}.election-center .archive-contest>summary strong{font-size:20px;line-height:1.4;display:block}.election-center .archive-contest>summary small{color:#586c74;margin-top:5px;font-size:16px;line-height:1.5;display:block}.election-center .archive-contest-count{font-variant-numeric:tabular-nums;text-align:right;color:#0c1a33;flex:none;font-size:24px;font-weight:700}.election-center .archive-contest-count small{font-weight:400}.election-center .archive-disclosure{color:#0c1a33;flex:none;font-size:28px;line-height:1.2}.election-center .archive-contest[open]>summary .archive-disclosure{transform:rotate(45deg)}.election-center .archive-contest-body{padding:0 0 20px}.election-center .archive-contest-scope,.election-center .archive-denominator,.election-center .archive-page-note{color:#586c74;margin:10px 0;font-size:16px;line-height:1.65}.election-center .archive-results-table{max-width:100%;overflow-x:auto}.election-center .archive-results-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed;width:100%;font-size:17px}.election-center .archive-results-table caption{text-align:left;color:#172f32;padding:12px 0;font-size:16px;font-weight:700;line-height:1.5}.election-center .archive-results-table th,.election-center .archive-results-table td{text-align:right;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #d7dfda;padding:13px 10px}.election-center .archive-results-table th:first-child{text-align:left;width:60%;padding-left:0}.election-center .archive-results-table th:nth-child(2),.election-center .archive-results-table th:nth-child(3){width:20%}.election-center .archive-results-table tbody th{font-weight:600}.election-center .archive-results-table tbody small{color:#586c74;margin-top:4px;font-size:15px;font-weight:400;display:block}.election-center .archive-results-table thead th{color:#586c74;font-size:15px;font-weight:700}.election-center .archive-cycle summary:focus-visible,.election-center .archive-contest summary:focus-visible,.election-center .archive-cycle-links a:focus-visible{outline-offset:4px;outline:3px solid #52758a}.election-center [data-archive-contest][hidden],.election-center [data-archive-filter][hidden]{display:none}@media (width<=700px){.election-center .archive-contest>summary{padding-right:32px;position:relative}.election-center .archive-disclosure{position:absolute;top:20px;right:0}}.election-center .evidence-snapshot{border-top:1px solid #cbd7cf;border-bottom:1px solid #cbd7cf;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:14px 0;font-size:16px;line-height:1.5;display:flex}.election-center .evidence-snapshot a{color:#0c1a33;align-items:center;min-height:44px;display:inline-flex}.election-center .evidence-local-note{border-left:4px solid #b58117;max-width:1000px;margin:24px 0 32px;padding:4px 0 4px 16px;font-size:17px;line-height:1.6}.election-center .evidence-category{margin-top:36px}.election-center .evidence-category h3{margin:0 0 18px;font-size:28px;line-height:1.2}.election-center .evidence-subheading>p{color:#586c74;max-width:900px;margin:-4px 0 18px;font-size:17px;line-height:1.6}.election-center .evidence-kind{letter-spacing:.06em;color:#0c1a33;margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.5}.election-center .poll-card{border:1px solid #cbd7cf;padding:26px}.election-center .poll-card-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.election-center .poll-card h4,.election-center .forecast-card h4{margin:0 0 10px;font-size:30px;line-height:1.15}.election-center .poll-card-heading p:not(.evidence-kind){margin:10px 0;font-size:17px;line-height:1.6}.election-center .evidence-disclosure{color:#503c0e;white-space:nowrap;background:#f5ecd8;padding:9px 12px;font-size:16px;font-weight:700;line-height:1.4}.election-center .poll-sample{margin:12px 0 22px;font-size:17px;line-height:1.6}.election-center .poll-bars{max-width:760px;margin:24px 0}.election-center .poll-bar-row{margin-top:22px}.election-center .poll-bar-row>div:first-child{justify-content:space-between;align-items:center;gap:20px;font-size:19px;display:flex}.election-center .poll-bar-row>div:first-child>span{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.election-center .poll-bar-track{background:#edf1ee;height:12px;margin-top:8px}.election-center .poll-bar-track i{background:var(--poll-color);height:100%;display:block}.election-center .poll-method{border-top:1px solid #d7dfda;max-width:1000px;margin-top:26px;padding-top:12px}.election-center .poll-method p,.election-center .evidence-footnote{color:#586c74;margin:12px 0;font-size:16px;line-height:1.65}.election-center .evidence-source-links{flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:14px;font-size:16px;line-height:1.5;display:flex}.election-center .evidence-source-links span{font-weight:700}.election-center .evidence-source-links a,.election-center .evidence-primary-link{color:#0c1a33;align-items:center;min-height:44px;font-size:16px;line-height:1.5;display:inline-flex}.election-center .forecast-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.election-center .forecast-card{background:#f7f9f7;border:1px solid #cbd7cf;padding:24px}.election-center .forecast-provider{font-size:17px;line-height:1.5}.election-center .forecast-probabilities{margin:24px 0}.election-center .forecast-probabilities>div{border-top:1px solid #cbd7cf;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.election-center .forecast-probabilities dt{font-size:19px;font-weight:700;line-height:1.4}.election-center .forecast-probabilities dd{text-align:right;color:#0c1a33;font-variant-numeric:tabular-nums;margin:0;font-size:38px;font-weight:700;line-height:1.2}.election-center .forecast-probabilities dd>span{color:#586c74;margin-top:4px;font-size:14px;font-weight:400;display:block}.election-center .forecast-rating{font-size:16px;line-height:1.5}.election-center .rating-row{border-top:1px solid #cbd7cf;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;padding:20px 0;display:grid}.election-center .rating-row:last-child{border-bottom:1px solid #cbd7cf}.election-center .rating-row h4{margin:0 0 7px;font-size:21px}.election-center .rating-row p{color:#586c74;margin:6px 0;font-size:16px;line-height:1.5}.election-center .rating-value{color:#0c1a33;font-size:22px}.election-center .rating-row>a{color:#0c1a33;justify-self:start;align-items:center;min-height:44px;font-size:17px;display:inline-flex}.election-center .historical-polls{border:1px solid #cbd7cf;margin-top:34px}.election-center .historical-polls>summary{cursor:pointer;background:#f3f6f4;justify-content:space-between;align-items:center;gap:20px;padding:22px;list-style:none;display:flex}.election-center .historical-polls>summary::-webkit-details-marker{display:none}.election-center .historical-polls>summary strong{font-size:22px;line-height:1.3;display:block}.election-center .historical-polls>summary small{color:#586c74;margin-top:6px;font-size:16px;line-height:1.5;display:block}.election-center .historical-polls>summary>span:last-child{color:#0c1a33;font-size:30px;line-height:1}.election-center .historical-polls[open]>summary>span:last-child{transform:rotate(45deg)}.election-center .historical-polls-body{padding:0 24px 24px}.election-center .historical-poll{border-top:1px solid #cbd7cf;margin-top:26px;padding-top:26px}.election-center .historical-poll:first-child{border:0;margin-top:0}.election-center .historical-poll h3{margin:12px 0;font-size:28px;line-height:1.2}.election-center .historical-poll>p:not(.evidence-kind){font-size:17px;line-height:1.6}.election-center .historical-question{max-width:760px;margin-top:24px}.election-center .historical-question h4{margin:0 0 12px;font-size:18px;line-height:1.4}.election-center .historical-question table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:17px}.election-center .historical-question th,.election-center .historical-question td{text-align:right;border-bottom:1px solid #d7dfda;padding:12px 10px}.election-center .historical-question th:first-child{text-align:left;padding-left:0;font-weight:600}.election-center .historical-question thead th{color:#586c74;font-size:15px}.election-center .turnout-table{max-width:100%;overflow-x:auto}.election-center .turnout-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:570px;font-size:18px}.election-center .turnout-table caption{text-align:left;color:#586c74;padding-bottom:14px;font-size:16px}.election-center .turnout-table th,.election-center .turnout-table td{text-align:right;vertical-align:top;border-bottom:1px solid #d7dfda;padding:18px 12px}.election-center .turnout-table th:first-child{text-align:left;width:44%;padding-left:0}.election-center .turnout-table thead th{color:#586c74;font-size:16px}.election-center .turnout-table tbody th strong,.election-center .turnout-table tbody th span,.election-center .turnout-table tbody th a{display:block}.election-center .turnout-table tbody th strong{text-transform:capitalize}.election-center .turnout-table tbody th span,.election-center .turnout-table tbody th a{margin-top:7px;font-size:16px;font-weight:400;line-height:1.5}.election-center .turnout-table tbody th a{color:#0c1a33;min-height:44px}.election-center .turnout-party{border:1px solid #cbd7cf;margin:24px 0;padding:0 20px 20px}.election-center .turnout-party>summary{cursor:pointer;min-height:64px;padding:20px 0;font-size:20px;font-weight:700;line-height:1.4}.election-center .turnout-party>p,.election-center .turnout-current p{max-width:1000px;font-size:17px;line-height:1.65}.election-center .turnout-party h3{text-transform:capitalize;margin:24px 0 14px;font-size:25px}.election-center .turnout-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.election-center .turnout-group-grid>div{background:#f3f6f4;padding:16px}.election-center .turnout-group-grid h4{margin:0 0 16px;font-size:19px}.election-center .turnout-group-grid dl{margin:0}.election-center .turnout-group-grid dl>div{justify-content:space-between;gap:14px;padding:7px 0;font-size:16px;line-height:1.5;display:flex}.election-center .turnout-group-grid dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.election-center .turnout-current{background:#f3f6f4;margin-top:28px;padding:20px}.election-center .turnout-current h3{margin:0 0 12px;font-size:25px}.election-center .turnout-report-differences ul{color:#586c74;margin:12px 0;padding-left:22px;font-size:16px;line-height:1.65}.election-center .turnout-report-differences li{margin:8px 0}.election-center .turnout-report-differences a{color:#0c1a33}.election-center .ballot-directory-panel-body{padding:20px}.election-center .ballot-directory-entry{border-bottom:1px solid #cbd7cf}.election-center .ballot-directory-entry>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:20px 0;display:flex}.election-center .ballot-directory-entry>summary>span:first-child{flex:1;min-width:0}.election-center .ballot-directory-entry>summary small{color:#586c74;margin-bottom:7px;font-size:15px;display:block}.election-center .ballot-directory-entry>summary strong{font-size:19px;line-height:1.4;display:block}.election-center .ballot-vote-rule{color:#0c1a33;flex:none;font-size:16px}.election-center .ballot-entry-plus{color:#0c1a33;flex:none;font-size:28px;line-height:1}.election-center .ballot-directory-entry[open]>summary>.ballot-entry-plus{transform:rotate(45deg)}.election-center .ballot-directory-content{padding:0 0 20px}.election-center .ballot-scope{color:#586c74;font-size:16px;line-height:1.65}.election-center .ballot-options{max-width:780px;margin:20px 0;padding:0;list-style:none}.election-center .ballot-options>li{border-top:1px solid #d7dfda;padding:18px 0;font-size:17px;line-height:1.5}.election-center .ballot-option-heading{justify-content:space-between;gap:20px;display:flex}.election-center .ballot-option-heading>span{color:#586c74;text-align:right;font-size:16px}.election-center .ballot-exact-question,.election-center .ballot-straight-party{border:1px solid #cbd7cf;margin:20px 0;padding:16px;font-size:17px;line-height:1.65}.election-center .ballot-exact-question>summary,.election-center .ballot-straight-party>summary{cursor:pointer;min-height:44px;font-weight:700;line-height:1.5}.election-center .ballot-exact-question blockquote{white-space:pre-line;border-left:3px solid #cbd7cf;margin:18px 0 0;padding:0 0 0 18px;font-size:17px;line-height:1.6}.election-center [data-ballot-entry][hidden],.election-center [data-ballot-filter][hidden]{display:none}@media (width<=700px){.election-center .ballot-directory-entry>summary{padding-right:30px;display:block;position:relative}.election-center .ballot-vote-rule{margin-top:10px;display:block}.election-center .ballot-entry-plus{position:absolute;top:25px;right:0}.election-center .ballot-option-heading{display:block}.election-center .ballot-option-heading>span{text-align:left;margin-top:5px;display:block}.election-center .ballot-directory-panel-body{padding:16px}.election-center .turnout-group-grid{grid-template-columns:1fr}.election-center .turnout-party{padding:0 16px 16px}.election-center .turnout-current{padding:16px}.election-center .poll-card-heading{display:block}.election-center .evidence-disclosure{white-space:normal;margin:6px 0;display:inline-block}.election-center .forecast-cards{grid-template-columns:1fr}.election-center .poll-card,.election-center .forecast-card{padding:20px}.election-center .rating-row{grid-template-columns:1fr 1fr}.election-center .rating-row>a{grid-column:1/-1}.election-center .historical-polls>summary{padding:18px}.election-center .historical-polls-body{padding:0 18px 18px}}@media (width<=380px){.election-center .poll-card,.election-center .forecast-card{padding:16px}.election-center .forecast-probabilities dt{font-size:17px}.election-center .forecast-probabilities dd{font-size:32px}.election-center .rating-row{grid-template-columns:1fr;gap:8px}.election-center .historical-question table{font-size:16px}.election-center .historical-polls-body{padding:0 14px 14px}}@media (width<=700px){.election-center .archive-cycle>summary{gap:14px;padding:18px}.election-center .archive-cycle-year{font-size:36px}.election-center .archive-cycle>summary strong{font-size:20px}.election-center .archive-open-label{gap:0;font-size:0}.election-center .archive-open-label>span{font-size:28px}.election-center .archive-cycle-body{padding:18px}.election-center .archive-source-strip{display:block}.election-center .archive-source-links{margin-top:10px}.election-center .archive-contest>summary{display:block}.election-center .archive-contest-count{text-align:left;align-items:baseline;gap:8px;margin-top:8px;font-size:22px;display:flex}.election-center .archive-contest-count small{margin-top:0}.election-center .archive-results-table table{font-size:16px}.election-center .archive-results-table th:first-child{width:52%}.election-center .archive-results-table th:nth-child(2),.election-center .archive-results-table th:nth-child(3){width:24%}.election-center .archive-results-table th,.election-center .archive-results-table td{padding:12px 5px}.election-center .archive-results-table thead th{font-size:14px}}@media (width<=380px){.election-center .archive-cycle-body{padding:14px}.election-center .archive-cycle>summary{gap:10px;padding:16px 14px}.election-center .archive-cycle-year{font-size:30px}.election-center .archive-cycle>summary strong{font-size:18px}.election-center .archive-cycle>summary small{font-size:15px}.election-center .archive-cycle-links{gap:8px}.election-center .archive-cycle-links a{width:calc(50% - 4px);min-width:0;padding:12px}.election-center .archive-search{padding:14px}.election-center .archive-results-table th:first-child{width:48%}.election-center .archive-results-table th:nth-child(2),.election-center .archive-results-table th:nth-child(3){width:26%}}.election-center .table-scroll-note{color:#586c74;font-size:16px;line-height:1.5;display:none}@media (width<=700px){.election-center .table-scroll-note{display:block}}.election-center .candidate-source-intro{max-width:980px;color:var(--ink);margin:20px 0;font-size:18px;line-height:1.65}.election-center .candidate-sources{margin-top:14px}.election-center .candidate-filing{border:1px solid #cbd7cf;border-left:3px solid var(--forest);overflow-wrap:anywhere;background:#fff;margin-top:16px;padding:16px}.election-center .candidate-filing-heading{color:var(--forest);flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:17px;line-height:1.5;display:flex}.election-center .candidate-filing-heading span{color:#586c74;font-size:16px}.election-center .candidate-filing p{margin:8px 0;font-size:16px;line-height:1.6}.election-center .candidate-filing .candidate-filing-count{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.election-center .candidate-filing a{min-height:44px;color:var(--forest);text-underline-offset:3px;align-items:center;gap:6px;font-size:17px;font-weight:700;display:inline-flex}.election-center .candidate-filing a:focus-visible{outline-offset:3px;outline:3px solid #c5a247}.election-center .candidate-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.election-center .candidate-source-link{border:1px solid #cbd7cf;border-left:3px solid var(--forest);overflow-wrap:anywhere;background:#fff;min-height:44px;padding:14px 16px;text-decoration:none;display:block}.election-center .candidate-source-link strong{color:var(--forest);text-underline-offset:3px;font-size:17px;line-height:1.5;text-decoration:underline}.election-center .candidate-source-link small{color:#586c74;margin-top:4px;font-size:16px;line-height:1.5;display:block}.election-center .candidate-source-link:hover{background:#f3f6f4}.election-center .candidate-source-qualification,.election-center .candidate-source-unavailable{color:#586c74;margin:14px 0 0;font-size:16px;line-height:1.65}.election-center .race-candidate-source-link{min-height:44px;color:var(--forest);text-underline-offset:3px;padding:12px 0;font-size:16px;line-height:1.5;display:block}@media (width<=700px){.election-center .candidate-source-grid{grid-template-columns:1fr}.election-center .candidate-source-link{padding:12px}.election-center .candidate-source-intro{font-size:17px}}.election-center .candidate-editorial-profile{background:#fff;border:1px solid #cbd7cf;margin-top:12px}.election-center .candidate-editorial-profile>summary{cursor:pointer;min-height:48px;color:var(--forest);justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:16px;font-weight:700;line-height:1.5;list-style:none;display:flex}.election-center .candidate-editorial-profile>summary::-webkit-details-marker{display:none}.election-center .candidate-editorial-profile>summary:hover{background:#f3f6f4}.election-center .candidate-editorial-profile>summary:focus-visible{outline-offset:3px;outline:3px solid #dcb23c}.election-center .candidate-profile-toggle{flex-shrink:0;font-size:23px;line-height:1}.election-center .candidate-editorial-profile[open] .candidate-profile-toggle{transform:rotate(45deg)}.election-center .candidate-profile-body{padding:0 16px 16px;font-size:20px;line-height:1.6}.election-center .candidate-profile-review{color:#586c74;margin:2px 0 16px;font-size:16px}.election-center .candidate-profile-section{margin:18px 0}.election-center .candidate-profile-section h4{font-family:var(--pp-display);color:var(--ink);margin:0 0 10px;font-size:22px;line-height:1.25}.election-center .candidate-profile-body ul{margin:0;padding-left:20px}.election-center .candidate-profile-body li{margin:0 0 10px;padding:0}.election-center .candidate-inline-citation{color:var(--forest);white-space:nowrap;text-underline-offset:3px;margin-left:4px}.election-center .candidate-profile-limitations,.election-center .candidate-profile-sources{color:#586c74;border-top:1px solid #d7dfda;margin-top:18px;padding-top:14px;font-size:16px}.election-center .candidate-profile-limitations>p,.election-center .candidate-profile-sources>p{color:var(--ink);margin:0 0 8px;font-weight:700}.election-center .candidate-profile-sources ol{margin:0;padding-left:22px}.election-center .candidate-profile-sources a{min-height:44px;color:var(--forest);overflow-wrap:anywhere;text-underline-offset:3px;align-items:center;gap:4px;line-height:1.5;display:inline-flex}.election-center .candidate-profile-sources small{font-size:16px;line-height:1.5;display:block}@media (width<=700px){.election-center .candidate-profile-body{padding:0 12px 12px}.election-center .candidate-editorial-profile>summary{padding:10px 12px}}.local-ballot-status,.local-ballot-result-status{color:#4a5872;font-size:14px;line-height:1.5}.local-ballot-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:12px 0 24px;font-size:14px}.local-ballot-table caption{text-align:left;color:#4a5872;padding-bottom:8px;font-size:12px}.local-ballot-table th,.local-ballot-table td{text-align:right;vertical-align:top;border-bottom:1px solid #dde1e7;padding:10px 8px}.local-ballot-table th:first-child{text-align:left;overflow-wrap:anywhere}.local-ballot-table thead th{font-family:var(--font-mono,monospace);text-transform:uppercase;color:#4a5872;font-size:11px}.local-ballot-table tbody th{font-weight:650}@media (width<=400px){.local-ballot-table th,.local-ballot-table td{padding:10px 4px}.local-ballot-table{font-size:13px}}.election-bulletin{--bulletin-green:#0c1a33;background:var(--bulletin-green);color:#fff;border-radius:2px;min-width:0;max-width:100%;margin:22px 0 8px;padding:14px 18px 10px;overflow:hidden}.election-bulletin__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.election-bulletin__heading>span{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.election-bulletin__heading button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff85;border-radius:3px;flex-shrink:0;padding:8px 12px;font-size:12px}.election-bulletin__heading button:disabled{cursor:default;opacity:.8}.election-bulletin__window{min-width:0;overflow:hidden}.election-bulletin__track{will-change:transform;width:max-content;animation:58s linear infinite election-bulletin-scroll;display:flex}.election-bulletin__items{flex:none;align-items:center;gap:32px;margin:0;padding:4px 32px 4px 0;list-style:none;display:flex}.election-bulletin__items li{white-space:nowrap;align-items:center;gap:14px;margin:0;font-size:14px;line-height:1.6;display:flex}.election-bulletin__items li:before{content:"";opacity:.65;background:#fff;border-radius:50%;flex:none;width:5px;height:5px}.election-bulletin__items a{color:#fff;text-underline-offset:3px;padding-block:6px;text-decoration:underline;display:inline-block}.election-bulletin__items a:focus-visible,.election-bulletin__heading button:focus-visible{outline-offset:3px;outline:2px solid #fff}.election-bulletin__note{color:#e0eae4;margin:8px 0 0;font-size:10px;line-height:1.5}.election-bulletin[data-paused=true] .election-bulletin__track,.election-bulletin__window:hover .election-bulletin__track{animation-play-state:paused}.election-bulletin__window:focus-within .election-bulletin__track{width:100%;animation:none;transform:none}.election-bulletin__window:focus-within .election-bulletin__items{flex-wrap:wrap;gap:8px 24px;min-width:0;padding-right:0}.election-bulletin__window:focus-within .election-bulletin__items li{white-space:normal}.election-bulletin__window:focus-within .election-bulletin__copy{display:none}@keyframes election-bulletin-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=480px){.election-bulletin{padding:12px 14px 10px}.election-bulletin__items li{font-size:13px}.election-bulletin__heading{gap:8px}.election-bulletin__heading>span{letter-spacing:.08em;font-size:10px}.election-bulletin__heading button{padding-inline:10px;font-size:11px}}@media (prefers-reduced-motion:reduce){.election-bulletin__track{will-change:auto;width:100%;animation:none;transform:none}.election-bulletin__items{flex-wrap:wrap;gap:8px 20px;min-width:0;padding-right:0}.election-bulletin__items li{white-space:normal;align-items:baseline}.election-bulletin__items a{overflow-wrap:anywhere}.election-bulletin__copy{display:none}}.election-bulletin:not([data-motion-ready]) .election-bulletin__track{will-change:auto;width:100%;animation:none;transform:none}.election-bulletin:not([data-motion-ready]) .election-bulletin__items{flex-wrap:wrap;gap:8px 20px;min-width:0;padding-right:0}.election-bulletin:not([data-motion-ready]) .election-bulletin__items li{white-space:normal}.election-bulletin:not([data-motion-ready]) .election-bulletin__copy,.election-bulletin:not([data-motion-ready]) button{display:none}.election-center .election-bulletin__heading button{font-size:12px;line-height:1.4}.election-bulletin__window:focus-within .election-bulletin__track{display:block}.election-bulletin__window:focus-within .election-bulletin__items{width:100%}.election-bulletin:not([data-motion-ready]) .election-bulletin__track{display:block}.election-bulletin:not([data-motion-ready]) .election-bulletin__items{width:100%}@media (prefers-reduced-motion:reduce){.election-bulletin__track{display:block}.election-bulletin__items{width:100%}}.election-center .explorer-controls{background:#f3f6f4;border-top:3px solid #0c1a33;margin:28px 0 0;padding:24px}.election-center .explorer-controls h2{margin:0 0 8px;font-size:34px}.election-center .explorer-controls p{max-width:1000px;font-size:14px;line-height:1.6}.election-center .explorer-control-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.election-center .explorer-control-grid label{flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;display:flex}.election-center .explorer-control-grid select{width:100%;min-width:0;max-width:100%;font-weight:400}.election-center .explorer-candidate-label{grid-column:span 2}.election-center .explorer-context{color:#0c1a33;margin-top:20px;font-weight:700}.election-center .explorer-filter-note,.election-center #explorer-reset{font-size:12px}.election-center #explorer-reset{color:#715112;font-weight:600}.election-center .explorer-map-legend{border-bottom:1px solid #d7dfda;padding:12px 0;font-size:13px;line-height:1.6}.election-center .historical-metrics{flex-wrap:wrap;gap:18px 36px;margin:20px 0;display:flex}.election-center .historical-metrics strong{color:#0c1a33;font-variant-numeric:tabular-nums;font-size:30px;display:block}.election-center .historical-metrics span{font-size:12px;display:block}.election-center .historical-dot{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.election-center .aggregate-results th small{color:#64716f;margin-top:4px;font-size:11px;font-weight:400;display:block}.election-center .historical-values{border:1px solid #d7dfda;margin:24px 0;padding:18px}.election-center .historical-values summary{cursor:pointer;font-size:18px;font-weight:700}.election-center .historical-values p{font-size:13px;line-height:1.6}.election-center .historical-table-scroll{max-width:100%;overflow-x:auto}.election-center .historical-values table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:470px;font-size:13px}.election-center .historical-values th,.election-center .historical-values td{text-align:right;border-bottom:1px solid #d7dfda;padding:9px 12px}.election-center .historical-values th:first-child{text-align:left}.election-center .historical-values button{color:#0c1a33;background:0 0;border:0;min-height:44px;padding:6px 0;text-decoration:underline}.election-center .stage-bottom{background:#0b1826;flex-wrap:wrap;width:100%;padding:18px 20px;position:static}.election-center .map-stage{flex-direction:column;justify-content:center}.election-center #map-art{margin-block:auto}.election-center #legend{flex-wrap:wrap;align-items:flex-start;gap:8px 16px;line-height:1.5}.election-center #legend>span{align-items:center;gap:6px;max-width:100%;font-size:10px;display:inline-flex}.election-center #legend i{flex:none}.election-center .map-tooltip{max-height:50%;overflow:hidden}.election-center .detail-result>b{white-space:nowrap}.election-center .aggregate-results th:first-child{width:64%}.election-center .candidate-strip[hidden]{display:none}@media (width<=800px){.election-center .explorer-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.election-center .explorer-candidate-label{grid-column:span 2}}@media (width<=400px){.election-center .explorer-controls{padding:18px 14px}.election-center .explorer-control-grid{grid-template-columns:1fr}.election-center .explorer-candidate-label{grid-column:auto}.election-center .historical-metrics strong{font-size:25px}.election-center .aggregate-results th:first-child{width:auto}.election-center .historical-dot{display:none}.election-center .historical-values{padding:12px}.election-center .detail-result>b{font-size:17px!important}.election-center .stage-bottom{padding:14px}}.election-center .candidate-photo{object-fit:cover;border:2px solid var(--candidate);border-radius:50%;width:44px;max-width:none;height:44px;display:block}.election-center .candidate-photo-credits{margin:14px 0;font-size:12px;line-height:1.6}.election-center .candidate-photo-credits summary{cursor:pointer;text-decoration:underline}.election-center .candidate-photo-credits p{max-width:1000px;font-size:12px}@media (width<=700px){.election-center .candidate-photo{width:32px;height:32px}}.election-center #detail-body{overscroll-behavior:contain;max-height:440px;padding-right:4px;overflow-y:auto}.election-center .explorer-controls select:disabled{opacity:.7;cursor:not-allowed}.election-center .map-stage .stage-bottom{flex:none;width:100%;margin-top:12px;position:static;bottom:auto;left:auto;right:auto}.election-center .map-stage #map-art{flex:none}@media (width<=700px){.election-center .map-stage #map-art{margin-top:65px;margin-bottom:10px}.election-center .map-stage .stage-bottom{margin-top:0}.election-center .map-stage #legend>span{font-size:11px;line-height:1.5}.election-center .map-stage .map-tools{top:56px}}.election-center .intro h1.election-results-heading{font-size:clamp(30px,3.7vw,54px);line-height:1.06}.election-center .intro .deck{max-width:900px}.election-center .election-opening-status{max-width:900px;margin:14px 0;font-size:14px;line-height:1.6}.election-center .election-intro-links{flex-wrap:wrap;gap:8px 24px;display:flex}.election-center .election-intro-links a{color:#0c1a33;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.election-center .election-static-races>p,.election-center .election-static-archive>p{font-size:14px;line-height:1.7}.election-center .election-section-links{border:0;flex-wrap:wrap;gap:8px 22px;min-height:0;padding:10px 0 18px;display:flex}.election-center .election-section-links a{color:#0c1a33;white-space:normal;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:flex}.election-center #race-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.election-center #race-grid .race-card{grid-column:auto;margin:0}.election-center .race-explorer-link{color:#0c1a33;align-items:center;min-height:44px;font-size:13px;text-decoration:underline;display:inline-flex}.election-center .race-source{font-size:12px;line-height:1.7}.election-center .election-static-archive{border-top:2px solid #0c1a33;margin-top:40px;padding-top:26px}.election-center .election-static-archive h2{margin:0 0 14px;font-size:clamp(29px,3vw,40px);line-height:1.15}.election-center .election-archive-race{border:1px solid #d7dfda;margin:28px 0;padding:20px;scroll-margin-top:20px}.election-center .election-archive-race h3{margin:0 0 12px;font-size:clamp(24px,2.4vw,30px);line-height:1.2}.election-center .election-archive-race p{font-size:13px;line-height:1.7}.election-center .election-archive-table{max-width:100%;overflow-x:auto}.election-center .election-archive-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:520px;font-size:13px}.election-center .election-archive-table caption{text-align:left;color:#586c74;padding:10px 0;font-size:12px}.election-center .election-archive-table th,.election-center .election-archive-table td{text-align:right;vertical-align:top;border-bottom:1px solid #d7dfda;padding:10px 12px}.election-center .election-archive-table th:first-child,.election-center .election-archive-table td:nth-child(2),.election-center .election-archive-table thead th:nth-child(2){text-align:left}.election-center .archive-provenance{overflow-wrap:anywhere}@media (width<=700px){.election-center #race-grid{grid-template-columns:1fr}.election-center .election-archive-race{padding:14px}.election-center .election-section-links{gap:4px 18px;padding-inline:0;overflow:visible}.election-center .election-section-links a{white-space:normal;font-size:13px}.election-center .election-intro-links{display:block}.election-center .election-intro-links a{display:flex}.election-center .intro .deck{font-size:16px}.election-center .intro{display:block}.election-center .intro .election-date{text-align:left;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-top:18px;display:flex}.election-center .intro .election-date small{max-width:none;font-size:10px}}.election-center .archive-mobile-party{display:none}@media (width<=700px){.election-center .election-archive-table table{table-layout:fixed;min-width:0;font-size:12px}.election-center .election-archive-table th,.election-center .election-archive-table td{overflow-wrap:anywhere;padding:10px 4px}.election-center .election-archive-table th:first-child{width:50%;padding-left:0}.election-center .election-archive-table th:nth-child(2),.election-center .election-archive-table td:nth-child(2){display:none}.election-center .election-archive-table th:nth-child(3),.election-center .election-archive-table th:nth-child(4){width:25%}.election-center .archive-mobile-party{color:#586c74;margin-top:4px;font-size:10px;font-weight:400;line-height:1.4;display:block}}.election-center .archive-mobile-label{display:none}@media (width<=700px){.election-center .archive-desktop-label{display:none}.election-center .archive-mobile-label{display:inline}}.election-center{--forest:#0c1a33;--ink:#172f32;--muted:#64716f;--red:#d80b21;--blue:#087fea}.election-center *{box-sizing:border-box}.election-center a{color:inherit}.election-center button,.election-center input,.election-center select{font:inherit}.election-center button,.election-center a,.election-center select,.election-center input{touch-action:manipulation}.election-center button,.election-center select{cursor:pointer}.election-center button:focus-visible,.election-center a:focus-visible,.election-center select:focus-visible,.election-center input:focus-visible,.election-center .geo:focus-visible,.election-center .city-pin:focus-visible{outline-offset:4px;outline:3px solid #dcb23c}.election-center nav{border-block:1px solid #bcc8c0;align-items:center;gap:30px;min-height:60px;padding:0 4vw;display:flex}.election-center nav strong{color:var(--forest);border-right:1px solid #bcc8c0;padding:20px 30px 20px 0;font-size:15px}.election-center nav a,.election-center nav button{font-size:15px;text-decoration:none}.election-center nav button{background:0 0;border:0;min-height:44px;margin-left:auto;text-decoration:underline}.election-center .intro{justify-content:space-between;align-items:center;gap:30px;padding:42px 0 28px;display:flex}.election-center .eyebrow{color:var(--forest);letter-spacing:.12em;margin:0 0 9px;font-size:12px;font-weight:800}.election-center h1,.election-center h2,.election-center h3{font-family:var(--pp-display);letter-spacing:-.035em}.election-center h1{margin:0 0 13px;font-size:clamp(38px,4vw,64px);line-height:1.03}.election-center .deck{color:var(--muted);margin:0;font-size:19px}.election-center .election-date{text-align:right;min-width:210px}.election-center .election-date span{letter-spacing:.14em;font-size:11px;font-weight:700;display:block}.election-center .election-date strong{letter-spacing:-.04em;font-size:44px;display:block}.election-center .election-date small{font-size:12px}.election-center .status{border-block:1px solid #d8dfda;align-items:center;gap:12px;padding:13px 0;font-size:13px;display:flex}.election-center .status a{margin-left:auto}.election-center .status-dot{background:var(--forest);border-radius:50%;width:8px;height:8px}.election-center .status>span:nth-of-type(2){color:var(--muted)}.election-center .race-overview{padding:27px 0 0}.election-center .race-heading,.election-center .map-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.election-center .race-heading h2{margin:0;font-size:29px}.election-center .race-heading select{max-width:360px}.election-center select,.election-center input{color:var(--ink);background:#fff;border:1px solid #bfcbc4;border-radius:2px;min-height:44px;padding:10px;font-size:14px}.election-center .candidate-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:22px;display:grid}.election-center .candidate{border-bottom:8px solid var(--candidate);grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:0 0 14px;display:grid}.election-center .candidate .avatar{border:2px solid var(--candidate);border-radius:50%;place-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:grid}.election-center .candidate strong{font-size:19px}.election-center .candidate small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.election-center .candidate .votes{font-size:33px;font-weight:700}.election-center .reporting{color:var(--muted);letter-spacing:.03em;justify-content:space-between;gap:20px;padding:11px 0;font-size:11px;display:flex}.election-center .reporting span:first-child{font-weight:700}.election-center .map-section{padding-top:25px}.election-center .map-toolbar h2{margin:0;font-size:34px}.election-center .map-controls{gap:12px;display:flex}.election-center .map-controls label{color:var(--muted);flex-direction:column;gap:5px;font-size:11px;display:flex}.election-center .map-shell{border:1px solid #d7dfda;grid-template-columns:minmax(0,1fr) 300px;min-height:560px;margin-top:17px;display:grid}.election-center .map-stage{background:radial-gradient(at 48% 42%,#263b52 0%,#101d2d 58%,#07111e 100%);align-items:center;min-width:0;min-height:560px;display:flex;position:relative;overflow:hidden}.election-center .map-stage:before{content:"";pointer-events:none;background-image:linear-gradient(#899fb50b 1px,#0000 1px),linear-gradient(90deg,#899fb50b 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.election-center .map-note{color:#e3eaf0;letter-spacing:.12em;z-index:1;border-left:3px solid #e8c34e;padding-left:10px;font-size:10px;font-weight:700;position:absolute;top:22px;left:24px}.election-center .map-tools{z-index:2;display:grid;position:absolute;top:66px;left:20px;box-shadow:0 3px 15px #0003}.election-center .map-tools button{color:#203142;background:#fff;border:1px solid #c6d0d8;width:42px;height:42px;font-size:25px}.election-center .map-tools button:last-child{font-size:20px}.election-center #map-art{transform-origin:50%;width:100%;transition:transform .2s}.election-center #map-art svg{width:100%;height:auto;display:block}.election-center #map-art svg>rect{fill:#0000}.election-center .geo,.election-center .city-pin{cursor:pointer}.election-center .geo:hover .top-face,.election-center .geo:focus .top-face,.election-center .geo.selected .top-face{stroke-width:4px;filter:brightness(1.12);stroke:#ffe196!important}.election-center .city-pin:hover circle,.election-center .city-pin:focus circle{stroke:#f9cc4d;stroke-width:4px}.election-center .stage-bottom{color:#bfcdda;justify-content:space-between;gap:15px;font-size:10px;display:flex;position:absolute;bottom:20px;left:24px;right:24px}.election-center .stage-bottom>span:last-child{letter-spacing:.1em;font-size:9px}.election-center #legend{align-items:center;gap:7px;display:flex}.election-center #legend i{border:1px solid #fff5;width:10px;height:10px;display:inline-block}.election-center #legend .blue{background:#087fea}.election-center #legend .red{background:#d80b21;margin-left:12px}.election-center .detail{background:#f8faf9;border-left:1px solid #d7dfda;flex-direction:column;padding:25px 22px;display:flex}.election-center .detail h3{margin:0 0 7px;font-size:29px;line-height:1.05}.election-center .detail>p:not(.eyebrow){color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.election-center .detail .geo-meta{font-size:13px;line-height:1.6}.election-center .detail .geo-meta strong{color:var(--ink);display:block}.election-center .detail .detail-result{border-bottom:1px solid #dde4df;justify-content:space-between;gap:10px;padding:10px 0;font-size:12px;display:flex}.election-center .detail .detail-result small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.election-center .detail .detail-result>b{font-size:22px}.election-center .detail .geography-note{margin-top:17px!important;font-size:11px!important}.election-center .detail label{margin:10px 0 7px;font-size:12px;font-weight:700}.election-center .detail input{width:100%;margin-bottom:8px}.election-center .detail select{max-width:100%;min-height:84px;font-size:12px}.election-center .map-source{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.6}.election-center .section-title h2{margin:0 0 20px;font-size:36px}.election-center .race-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.election-center .race-card{border:1px solid #d9e1dc;border-radius:4px;padding:24px;box-shadow:0 4px 16px #102a2010}.election-center .card-status{color:var(--forest);letter-spacing:.06em;background:#e8f1ea;padding:6px 8px;font-size:10px;font-weight:700;display:inline-block}.election-center .race-card h3{margin:16px 0 8px;font-size:25px;line-height:1.1}.election-center .race-card .scope{color:var(--muted);margin-bottom:18px;font-size:12px}.election-center .card-row{border-left:4px solid var(--candidate);border-bottom:1px solid #e2e8e3;justify-content:space-between;gap:10px;padding:12px 0 12px 10px;font-size:13px;display:flex}.election-center .card-row small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.election-center .race-card button{min-height:44px;color:var(--forest);text-align:left;background:0 0;border:0;margin-top:18px;padding:0;font-size:13px;text-decoration:underline}.election-center .ballot-section{background:#f3f6f4;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px;padding:30px;display:grid}.election-center .ballot-section h2{margin:0 0 15px;font-size:30px}.election-center .ballot-section p,.election-center .ballot-section a{font-size:14px;line-height:1.5}.election-center .measure-options>div{background:#e3ece7;border-left:5px solid #177d69;justify-content:space-between;margin:8px 0;padding:17px 14px;display:flex}.election-center .measure-options>div:nth-child(2){background:#e7e2e8;border-color:#685069}.election-center .measure-options small{color:var(--muted);font-size:12px}.election-center .methodology{border-top:2px solid var(--forest);max-width:1100px;margin-top:34px;padding-top:22px}.election-center .methodology h2{margin:0;font-size:25px}.election-center .methodology p{color:var(--muted);font-size:14px;line-height:1.65}.election-center .sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.election-center .neutral .top-face{fill:#637d95!important}.election-center .neutral .side-face{fill:#243e58!important}@media (width<=1100px){.election-center nav{gap:18px}.election-center .map-shell{grid-template-columns:1fr 270px}.election-center .map-stage{min-height:470px}.election-center .race-grid{grid-template-columns:1fr 1fr}.election-center .race-grid .race-card:last-child{grid-column:span 2}.election-center .candidate strong{font-size:16px}.election-center .stage-bottom>span:last-child{display:none}.election-center .map-controls{gap:7px}.election-center .map-controls select{max-width:180px;font-size:12px}}@media (width<=700px){.election-center nav{white-space:nowrap;gap:22px;min-height:53px;padding:0 20px;overflow-x:auto}.election-center nav strong{padding-right:20px;font-size:12px}.election-center nav a,.election-center nav button{font-size:13px}.election-center .intro{align-items:flex-start;padding-top:28px}.election-center .intro h1{font-size:37px}.election-center .deck{font-size:16px;line-height:1.4}.election-center .eyebrow{font-size:10px}.election-center .election-date{min-width:80px}.election-center .election-date strong{font-size:27px}.election-center .election-date span{font-size:8px}.election-center .election-date small{max-width:95px;font-size:9px;display:block}.election-center .status{flex-wrap:wrap;gap:8px;font-size:11px}.election-center .status a{margin-left:16px}.election-center .race-heading{flex-direction:column;align-items:flex-start;gap:14px}.election-center .race-heading h2{font-size:27px}.election-center .race-heading select{width:100%;max-width:none}.election-center .candidate-strip{grid-template-columns:1fr 1fr;gap:15px}.election-center .candidate{grid-template-columns:32px 1fr;gap:8px;padding-bottom:10px}.election-center .candidate .avatar{width:32px;height:32px;font-size:11px}.election-center .candidate strong{font-size:14px}.election-center .candidate small{font-size:10px}.election-center .candidate .votes{display:none}.election-center .reporting{font-size:9px;line-height:1.4}.election-center .reporting span:last-child{text-align:right;max-width:160px}.election-center .map-toolbar{flex-direction:column;align-items:flex-start}.election-center .map-toolbar h2{font-size:29px}.election-center .map-controls{justify-content:space-between;width:100%}.election-center .map-controls label{flex:1}.election-center .map-controls select{width:100%;max-width:none;padding:8px;font-size:11px}.election-center .map-shell{min-height:0;display:block}.election-center .map-stage{min-height:360px}.election-center .map-note{font-size:8px;top:17px;left:16px}.election-center .map-tools{top:50px;left:12px}.election-center .map-tools button{width:36px;height:36px;font-size:20px}.election-center .stage-bottom{font-size:9px;bottom:14px;left:16px}.election-center .detail{border-top:1px solid #d7dfda;border-left:0;min-height:0;padding:22px}.election-center .detail h3{font-size:26px}.election-center .detail select{min-height:95px}.election-center .race-grid{display:block}.election-center .race-card{margin-bottom:18px;padding:20px}.election-center .section-title h2{font-size:30px}.election-center .ballot-section{grid-template-columns:1fr;gap:15px;padding:23px}.election-center .ballot-section h2{font-size:27px}}@media (prefers-reduced-motion:reduce){.election-center *{scroll-behavior:auto!important;transition:none!important}}.election-center .map-tooltip{z-index:3;color:#172f32;pointer-events:none;background:#fff;border:1px solid #d7dfda;border-radius:5px;width:265px;max-width:calc(100% - 70px);padding:18px;position:absolute;bottom:70px;right:25px;box-shadow:0 14px 35px #0005}.election-center .map-tooltip>strong{font-size:19px;display:block}.election-center .map-tooltip>small{color:#64716f;margin:5px 0 12px;font-size:11px;display:block}.election-center .map-tooltip>div{border-top:1px solid #e1e6e2;justify-content:space-between;gap:8px;padding:9px 0;font-size:12px;display:flex}.election-center .map-tooltip>p{color:#64716f;margin:8px 0 0;font-size:10px;line-height:1.5}.election-center .map-tooltip[hidden]{display:none}.election-center .intro>div:first-child{min-width:0}@media (width<=360px){.election-center .intro{display:block}.election-center .election-date{text-align:left;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-top:18px;display:flex}.election-center .election-date small{max-width:none;font-size:10px}}.election-center .map-controls label{min-width:0}.election-center .geo:focus-visible,.election-center .city-pin:focus-visible{outline:none}.election-center{--forest:#0c1a33;--ink:#172f32;--muted:#64716f;padding-bottom:32px;line-height:1.5}.election-center .election-nav{flex-wrap:wrap;gap:12px 24px;padding-inline:0}.election-center .intro{border-bottom:0}.election-center .voting-info{background:#f3f6f4;border-left:4px solid #0c1a33;margin:24px 0 0;padding:22px 24px}.election-center .voting-info h2{margin-bottom:9px;font-size:27px;line-height:1.15}.election-center .voting-info p{max-width:1000px;margin-bottom:12px;font-size:15px}.election-center .voting-info>div{flex-wrap:wrap;gap:8px 24px;display:flex}.election-center .voting-info a{align-items:center;min-height:44px;font-size:14px;display:inline-flex}.election-center .race-card{min-width:0}.election-center .map-tooltip{line-height:1.4}.election-center .election-nav button{white-space:nowrap}.election-center .candidate>div{min-width:0}.election-home{border-block:1px solid var(--rule);margin:24px 0;padding:24px 0 28px}.election-home h2{margin:5px 0 9px;font-size:clamp(30px,3vw,44px)}.election-home h2 a{text-decoration:none}.election-home .text-link{align-items:center;min-height:44px;margin-top:10px;display:inline-flex}.election-center [hidden]{display:none!important}@media (width<=700px){.election-center .election-nav{white-space:normal;padding:12px 0;overflow-x:visible}.election-center .election-nav strong{border:0;width:100%;padding:0}.election-center .election-nav a{white-space:normal;align-items:center;min-height:44px;display:flex}.election-center .election-nav button{margin-left:0}.election-center .voting-info{padding:18px}.election-center .voting-info>div{display:block}.election-center .voting-info a{display:flex}.election-center .map-controls{flex-wrap:wrap}.election-center .map-controls label{min-width:120px}.election-center .map-stage{min-height:340px}.election-center .race-card .card-status{white-space:normal}.election-center .stage-bottom{right:12px}}.election-center .results-status{margin:0 0 14px}.election-center .results-status .status{flex-wrap:wrap}.election-center #refresh-results{background:#fff;border:1px solid #64716f;border-radius:3px;min-height:44px;margin-left:auto;padding:10px 14px}.election-center #refresh-results:disabled{opacity:.55;cursor:not-allowed}.election-center #results-provenance,.election-center #results-feedback,.election-center #results-coverage{overflow-wrap:anywhere;margin:8px 0;font-size:12px;line-height:1.6}.election-center .aggregate-results{border:1px solid #d7dfda;margin:14px 0 22px;padding:18px}.election-center .aggregate-results h3{margin:0 0 6px;font-size:22px}.election-center .aggregate-results p{margin:6px 0 12px;font-size:12px;line-height:1.5}.election-center .aggregate-results table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.election-center .aggregate-results th,.election-center .aggregate-results td{text-align:right;vertical-align:top;border-bottom:1px solid #d7dfda;padding:10px 8px}.election-center .aggregate-results th:first-child,.election-center .aggregate-results td:first-child{text-align:left;overflow-wrap:anywhere;padding-left:0}.election-center .aggregate-results th{font-size:11px}.election-center .card-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.election-center .card-row>span:last-child small{white-space:nowrap}.election-center .results-stale{border-left:4px solid #b58117;padding-left:12px}.election-center .candidate .votes{display:none}@media (width<=400px){.election-center .aggregate-results{padding:12px}.election-center .aggregate-results table{font-size:12px}.election-center .aggregate-results th,.election-center .aggregate-results td{padding:9px 4px}.election-center #refresh-results{margin-left:0}}#kentucky-senate-results[data-astro-cid-7seq67a6]{margin-block:2rem;scroll-margin-top:6rem}#kentucky-senate-results[data-astro-cid-7seq67a6] .statewide-election{display:block}
