:root{--bg:#fcfcfb;--panel:#fff;--text:#0b0b0b;--text-2:#52514e;--muted:#7d7c77;--line:#e4e3df;--mid:#f0efec;--dem:#2a78d6;--dem-strong:#184f95;--rep:#e34948;--rep-strong:#a32b2b;--ind:#8a8984;--dem-cell:#184f95;--rep-cell:#a32b2b;--shade-ink:#fff;--focus:#2a78d6;--office-house:#6250d6;--office-senate:#eb6834;--office-president:#1baf7a;--office-statehouse:#eda100;--office-statesenate:#e87ba4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1a19;--panel:#222220;--text:#f0efec;--text-2:#c3c2b7;--muted:#9c9b94;--line:#3a3a37;--mid:#383835;--dem:#3987e5;--dem-strong:#86b6ef;--rep:#e66767;--rep-strong:#f2a3a3;--ind:#9c9b94;--dem-cell:#1d5aa8;--rep-cell:#a83434;--shade-ink:var(--text);--focus:#86b6ef;--office-house:#9085e9;--office-senate:#d95926;--office-president:#199e70;--office-statehouse:#c98500;--office-statesenate:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1a1a19;--panel:#222220;--text:#f0efec;--text-2:#c3c2b7;--muted:#9c9b94;--line:#3a3a37;--mid:#383835;--dem:#3987e5;--dem-strong:#86b6ef;--rep:#e66767;--rep-strong:#f2a3a3;--ind:#9c9b94;--dem-cell:#1d5aa8;--rep-cell:#a83434;--shade-ink:var(--text);--focus:#86b6ef;--office-house:#9085e9;--office-senate:#d95926;--office-president:#199e70;--office-statehouse:#c98500;--office-statesenate:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--dem)}.top,main,.foot{max-width:1080px;margin:0 auto;padding:0 16px}.top{flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-top:20px;display:flex}.brand{color:var(--text);font-size:22px;font-weight:700;text-decoration:none}.tagline{color:var(--text-2);margin:0}.tabs{border-bottom:1px solid var(--line);gap:4px;max-width:1080px;margin:12px auto 0;padding:0 16px;display:flex}.tabs a{color:var(--text-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--dem);font-weight:600}.foot{color:var(--muted);margin-top:40px;padding-bottom:32px;font-size:13px}.loading,.error{color:var(--text-2)}.controls{flex-wrap:wrap;align-items:end;gap:12px 20px;margin:20px 0 8px;display:flex}.controls label{color:var(--text-2);flex-direction:column;gap:2px;font-size:12px;display:flex}.office-checks{color:var(--text);border:0;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;padding:0;font-size:14px;display:flex}.office-checks legend{float:left;color:var(--text-2);margin-right:4px;font-size:12px}.office-checks label{cursor:pointer;align-items:center;gap:6px;display:flex}.office-checks input{accent-color:var(--focus);margin:0}select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;min-width:120px;padding:6px 8px}select:focus-visible,button:focus-visible,a:focus-visible,th button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.headline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 8px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px}.stat .k{color:var(--text-2);font-size:12px}.stat .v{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stat .s{color:var(--text-2);font-size:13px}h2{margin:28px 0 4px;font-size:17px}.note{color:var(--text-2);margin:0 0 8px;font-size:13px}.map-wrap{position:relative}.map{width:100%;height:auto;display:block}.map path.state{stroke:var(--bg);stroke-width:1px;cursor:pointer}.map path.state:hover,.map path.state:focus{stroke:var(--text);stroke-width:1.5px;outline:none}.legend{color:var(--text-2);align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.legend .ramp{border-radius:2px;width:200px;max-width:50vw;height:10px}.table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:6px 10px}th:first-child,td:first-child{text-align:left}thead th{color:var(--text-2);background:var(--panel);font-size:12px;font-weight:600;position:sticky;top:0}th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}th[aria-sort=ascending] button:after{content:" ▲"}th[aria-sort=descending] button:after{content:" ▼"}tr.national td{background:var(--mid);font-weight:600}tbody tr:hover td{background:var(--mid)}td a{color:var(--text)}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.bar{vertical-align:0;gap:2px;width:72px;height:8px;margin-left:8px;display:inline-flex}.bar span{height:100%}.bar span:first-child{border-radius:2px 0 0 2px}.bar span:last-child{border-radius:0 2px 2px 0}.muted{color:var(--muted)}.back{margin-top:20px;display:inline-block}.state-title{margin:8px 0 0;font-size:26px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid line{stroke:var(--line)}.chart .axis text{fill:var(--text-2);font-size:12px}.chart .axis path,.chart .axis line{stroke:none}.chart .ref{stroke:var(--muted);stroke-dasharray:3 3}.series-key{color:var(--text-2);flex-wrap:wrap;gap:4px 16px;margin:4px 0;font-size:13px;display:flex}.series-key svg{vertical-align:-2px;margin-right:4px}.unity-table tr.unranked td,.unity-table tr.unranked td a{color:var(--muted)}.unity-table th:nth-child(2),.unity-table td:nth-child(2),.unity-table th:nth-child(3),.unity-table td:nth-child(3),.unity-table th:nth-child(4),.unity-table td:nth-child(4){text-align:left}@media (width>=700px){.stat.wide{grid-column:span 2}}.unity-table td .bar{width:96px}.tip{z-index:10;pointer-events:none;background:var(--panel);color:var(--text);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:6px;max-width:260px;padding:8px 10px;font-size:13px;position:fixed;box-shadow:0 4px 16px #00000026}.tip b{margin-bottom:2px;display:block}.tip .row{justify-content:space-between;gap:16px;display:flex}@media (width<=600px){th,td{padding:6px}.bar{display:none}}.summary-table th.group{text-align:center;color:var(--text)}.summary-table th.group svg{vertical-align:-2px}.summary-table .group,.summary-table .first{border-left:1px solid var(--line)}.current-table td.senators{text-align:left;line-height:1.5}.current-table td.senators .s{color:var(--text-2);font-size:12px}.breakout{width:max-content;min-width:100%;max-width:calc(100vw - 48px);position:relative;left:50%;transform:translate(-50%)}
