:root{--ink:#142c42;--muted:#556a7c;--bg:#eff3f5;--line:#d8e1e7;--teal:#087f83;--gold:#c27b15;--dem:#2879c4;--rep:#c44b4b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:240px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}.wrap{width:min(1280px,94%);margin:auto}header{background:#10283c;color:white;padding:42px 0 22px;border-top:6px solid #1c9998}h1{font-size:clamp(34px,4.5vw,58px);line-height:1.1;margin:12px 0 16px;letter-spacing:-2px}h1 span{font-weight:350;color:#a9d7dc}h2{font-size:27px;line-height:1.2;margin:8px 0 14px;letter-spacing:-.7px}h3{font-size:18px;margin:0 0 8px;line-height:1.3}p{margin:8px 0 14px}.subtitle{font-size:18px;color:#c2d6e2;max-width:850px}.eyebrow{font-size:11px;letter-spacing:1.9px;font-weight:750;color:var(--teal)}header .eyebrow{color:#81cecb}nav{display:flex;gap:26px;flex-wrap:wrap;margin:25px 0 14px}nav a{color:#e4f3f7;text-decoration:none;font-weight:600}nav a:hover{color:#8cd9d5}.datestamp{font-size:12px;color:#a7bdcc}.warning{background:#fff7e6;border:1px solid #e9cb8c;border-left:5px solid #c7952e;padding:18px 23px;margin:24px 0;color:#634c20;border-radius:6px}.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:20px;border-radius:9px;overflow:hidden}.scope-grid div{padding:16px 24px;background:white;display:flex;flex-direction:column}.scope-grid strong{font-size:25px;font-weight:700}.scope-grid span{font-size:12px;color:var(--muted)}.timebar{position:sticky;top:0;z-index:20;background:#fbfdfd;box-shadow:0 5px 24px #193c5020;border:1px solid #b9d4d5;border-radius:10px;padding:14px 24px;margin:20px 0 35px}.time-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-head>div:first-child{display:flex;align-items:center;gap:20px}output{font-size:38px;line-height:1.15;font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:-1px;color:var(--teal)}.timebuttons{display:flex;align-items:center;gap:10px}button,select,input{font:inherit}button,select{border:1px solid #b7cbd3;border-radius:6px;background:white;color:var(--ink);padding:7px 12px}button{cursor:pointer}button:hover{background:#e6f5f3;border-color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #09a3a6;outline-offset:2px}#play{background:var(--teal);color:white;border-color:var(--teal);min-width:95px}label{font-size:12px;font-weight:650;color:var(--muted)}input[type=range]{display:block;width:100%;accent-color:var(--teal);margin:9px 0 0;height:20px;cursor:ew-resize}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;margin-top:5px}.jump button{padding:2px 7px;font-size:11px}.jump #yearNote{margin-left:auto;font-weight:700;color:var(--teal)}.small{font-size:12px;color:var(--muted);line-height:1.6}.timebar p{margin:7px 0 0;font-size:11px}.section-title{margin:32px 0 18px}.section-title p{max-width:850px;color:var(--muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:23px 25px;margin-bottom:20px;box-shadow:0 1px 1px #14304508;overflow:hidden}.chart{height:220px;position:relative}.chart.tall{height:300px}.chartnote{min-height:20px;font-size:12px;color:var(--teal);font-weight:650;margin:3px 0 8px}.cardhead{display:flex;gap:25px;justify-content:space-between}.cardhead label{flex-shrink:0;display:flex;flex-direction:column;gap:5px}.rankrow{display:grid;grid-template-columns:155px 1fr 95px;align-items:center;gap:15px;height:31px;border-bottom:1px solid #edf1f3;font-size:12px}.rankrow button{border:0;background:transparent;text-align:left;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rankbar{height:10px;background:#188c90;border-radius:2px;min-width:2px;transition:width .3s ease}.rankrow.selected{background:#eaf6f6}.rankrow .value{text-align:right;font-variant-numeric:tabular-nums}.rankrow .rank-track{height:10px;background:#f1f5f6}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:11px}td button{border:0;color:var(--teal);background:transparent;padding:0;font-weight:650;white-space:nowrap}summary{cursor:pointer;font-weight:650;padding:3px 0}details>div{padding-top:12px}.citytitle{display:flex;justify-content:space-between;gap:20px;align-items:center}.city-controls{display:flex;gap:10px}.city-controls label{display:flex;flex-direction:column;gap:5px}.city-controls select,.city-controls input{min-width:190px;padding:8px 12px;border:1px solid #b7cbd3;border-radius:6px;background:#fff}#geographies{font-size:13px;color:var(--muted)}#geographies b{color:var(--ink)}.citynote{padding:9px 14px;margin:9px 0;border-left:3px solid #d2a454;background:#fff8ed;font-size:12px;color:#735324}.snapshots{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;gap:12px;padding:18px 0}.snapshots b{font-size:22px;letter-spacing:-.8px;display:block;line-height:1.3;color:var(--teal)}.snapshots span{font-size:11px;color:var(--muted)}.snapshots .missing b{color:#8b9aa6;font-size:17px}.snapshots .subvalue{font-size:10px;color:var(--muted);display:block;margin-top:4px}#yearFlags{margin-bottom:15px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;margin-bottom:8px;color:var(--muted)}.dem{color:var(--dem)}.rep{color:var(--rep)}.other{color:#75848f}a{color:#086f8a}li{margin:9px 0}#methods{font-size:13px}.source-item{border-top:1px solid var(--line);padding:16px 0}.source-item p{font-size:12px;margin:6px 0;color:var(--muted)}.source-item h4{margin:0 0 4px;font-size:14px}.source-item a{overflow-wrap:anywhere}footer{padding:30px 0 45px;font-size:11px;color:var(--muted);letter-spacing:1px}footer span{letter-spacing:0}.coverage-line{padding:7px 0;border-bottom:1px solid #edf1f3}#rankMissing{margin:14px 0 0}.no-data{padding:20px;color:var(--muted);border:1px dashed var(--line);border-radius:5px}.source-item .rights{color:#6a591d} @media(max-width:800px){.two{grid-template-columns:1fr}.scope-grid{grid-template-columns:1fr 1fr}.citytitle,.cardhead{display:block}.city-controls{flex-wrap:wrap}.cardhead label{margin:10px 0}.snapshots{grid-template-columns:repeat(2,1fr)}.timebuttons label{display:none}.timebar{padding:12px;top:0}.time-head>div:first-child{gap:8px}.time-head .eyebrow{font-size:9px}.timebuttons{gap:5px}.timebuttons button{padding:6px 8px}output{font-size:32px}.jump #yearNote{width:100%;margin-left:0}.timebar p{display:none}.rankrow{grid-template-columns:125px 1fr 75px;gap:7px}.card{padding:18px}.chart{height:210px}.scope-grid div{padding:12px}.scope-grid strong{font-size:21px}html{scroll-padding-top:210px}nav{gap:14px;font-size:12px}}

#cityMap{width:100%;height:auto;max-height:480px;background:#f6f9fa;border:1px solid #e4ecef;border-radius:5px}.state-path{fill:#e6edf0;stroke:white;stroke-width:1}.map-pin{cursor:pointer;stroke:#fff;stroke-width:1.4}.map-pin:hover,.map-pin:focus{stroke:#c27b15;stroke-width:4;outline:none}.map-gradient{display:inline-block;width:100px;height:9px;background:linear-gradient(90deg,#daeef1,#08747a)}
