.map-measurebar{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;padding:0 18px 15px}
.map-measure-controls{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.map-measure-label{font-size:10px;font-weight:650;color:#6b819f}
.map-measure-switch{display:flex;border:1px solid #d8e3f2;border-radius:6px;padding:3px;background:#f5f8fc;gap:3px}
.map-measure-switch button{min-height:31px;padding:6px 14px;background:transparent;color:#7087a5;border-radius:4px;font-size:11px;font-weight:600}
.map-measure-switch button.active{background:#fff;color:#245ea8;box-shadow:0 1px 4px #234d8620}
#map-capacity{font-size:11px;padding:9px 25px 9px 10px;background:#fff;border:1px solid #d8e3f2;border-radius:6px;color:#3e618b;max-width:100%}
.map-party-key{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:10px;color:#6c809b}
.map-party-key>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.map-party-key i{height:9px;width:9px;border-radius:3px;border:1px solid #ffffffb0;box-shadow:0 0 0 1px #273d6110}
.map-party-key .party-D{background:#4481ce}.map-party-key .party-R{background:#cd646d}.map-party-key .party-unknown{background:#9aa9bc}
#map-metric-note{flex-basis:100%;font-size:10px;line-height:1.8;color:#778ca7;margin:0}
.map-party-basis{flex-basis:100%;font-size:9px;line-height:1.7;color:#8a9eb8;margin:-5px 0 0}
.map-state-context{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:0 26px;padding:18px 22px 12px;border-bottom:1px solid #e1e9f3;border-left:4px solid #6f8095;background:#fbfcff}
.map-state-context[data-party=D]{border-left-color:#2868bd}.map-state-context[data-party=R]{border-left-color:#b8444d}
.map-government-label{font-size:10px;color:#6e87a7;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.map-party-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid #dce4ee;border-radius:5px;font-size:9px;font-weight:650;padding:2px 7px;line-height:1.8;color:#6f8095;background:#edf1f6;vertical-align:middle}
.map-party-pill.party-D{color:#2868bd;background:#edf4ff;border-color:#d0e1f8}.map-party-pill.party-R{color:#b8444d;background:#fff1f2;border-color:#efd3d6}
.map-government h3{font-size:21px;font-weight:700;line-height:1.4;letter-spacing:-.4px;color:#2c476c;margin:6px 0 4px}
.map-government p{font-size:10px;line-height:1.8;color:#8195b0;margin:2px 0}
.map-government .map-election-year{font-size:12px;color:#476e9f;font-weight:650}
.map-policy-preview{border-left:1px solid #e2eaf5;padding-left:25px;min-width:0}
.map-policy-preview>span{font-size:9px;color:#7d94b2}
.map-policy-preview h3{font-size:13px;color:#3d608b;line-height:1.6;margin:4px 0}
.map-policy-preview p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.8;color:#7b90ad;margin:4px 0}
.map-policy-preview button{font-size:10px;color:#346cb0;padding:4px 0;margin-top:3px;min-height:28px}
.map-context-date{grid-column:1/-1;font-size:9px;line-height:1.7;color:#95a5b9;margin-top:10px}
.map-state-capacity{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:10px 12px;border:1px solid #dfe8f5;border-radius:6px;background:#fff;color:#6d88a9;font-size:10px}
.map-state-capacity strong{font-size:11px;color:#466f9f;font-weight:600}.map-state-capacity small{font-size:9px;color:#94a4ba}
.map-ranking-note{font-size:9px;line-height:1.8;color:#8a9fb8;margin:0 19px 6px}
.map-list-party{display:inline-block;font-size:8px;font-style:normal;line-height:15px;text-align:center;height:15px;min-width:15px;border-radius:4px;background:#edf1f6;color:#7c8da4;margin-right:5px;vertical-align:middle}
.map-list-party.party-D{color:#2868bd;background:#eaf2ff}.map-list-party.party-R{color:#b8444d;background:#fdecf0}
.map-state-row .map-ranking-value{white-space:nowrap;font-size:12px}
.map-state-marker>span{height:30px;color:var(--party-color);border-left:3px solid var(--party-color)}
.map-state-marker>span b{color:var(--party-color);font-size:10px}
.map-state-marker:hover>span,.map-state-marker:focus>span{background:var(--party-color);border-color:var(--party-color);color:#fff}
.map-state-marker:hover>span b,.map-state-marker:focus>span b{color:#fff}
.map-stance-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:0 18px 14px}
.map-stance-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #d8e3f1;border-radius:7px;padding:10px 12px;min-height:41px;color:#526f94;font-size:11px}
.map-stance-trigger>span:first-child{font-weight:600}.map-stance-trigger strong{font-size:10px;font-weight:600;background:#edf3fc;color:#4c77ab;border-radius:4px;padding:2px 7px}
.map-stance-trigger.is-filtered{border-color:#8db1e2;background:#f7faff}.map-stance-trigger.is-filtered strong{background:#dfeaff;color:#285d9e}
#map-stance-summary{font-size:10px;color:#8095b0}#map-stance-hint{font-size:9px;color:#93a3b8}.map-stance-bar .text-button{font-size:10px}
.map-stance-popover{position:fixed;inset:auto;margin:0;padding:0;width:370px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:hidden;border:1px solid #d7e2f1;border-radius:11px;box-shadow:0 10px 40px #1f3f6b30;background:#fff;color:#3c597e;font-family:inherit;overscroll-behavior:contain}
.map-stance-popover:popover-open{display:flex;flex-direction:column}
.map-stance-heading{padding:19px 19px 8px}.map-stance-heading h3{font-size:15px;line-height:1.5;margin:0;color:#294f7c}.map-stance-heading p{font-size:11px;line-height:1.7;color:#8097b2;margin:5px 0 0}
.map-stance-bulk{display:flex;gap:18px;padding:0 19px 10px;border-bottom:1px solid #e6edf6}.map-stance-bulk button{font-size:11px;min-height:31px;color:#4677b4}
.map-stance-options{min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 10px;scrollbar-width:thin;scrollbar-color:#c4d5e9 #f9fbfd}
.map-stance-option{display:flex;align-items:flex-start;gap:10px;padding:11px 10px;border-radius:7px;cursor:pointer;border:1px solid transparent}
.map-stance-option:hover{background:#f4f8fe}.map-stance-option.selected{background:#f5f9ff}.map-stance-option:focus-within{outline:2px solid #8db4e5;outline-offset:-2px}
.map-stance-option input{margin:4px 0 0;flex-shrink:0;width:15px;height:15px}.map-stance-option>span{display:block;flex:1;min-width:0}
.map-stance-option strong{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.6;font-weight:600;color:#41648e}
.map-stance-option small{font-size:10px;font-weight:400;color:#8a9fb9;white-space:nowrap}.map-stance-option>span>span{display:block;font-size:10px;line-height:1.8;color:#899bb3;margin-top:3px}
.map-stance-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e3ebf5;padding:12px 19px;background:#fbfcff}.map-stance-footer>span{font-size:10px;color:#7e96b5}.map-stance-footer .primary{font-size:11px;padding:9px 17px}
.map-state-excluded{cursor:default!important}.map-context-stance{display:inline-block;margin:0 0 0 8px;font-size:9px!important;color:#547bab!important;background:#edf3fc;padding:2px 7px;border-radius:4px}
@media(max-width:800px){.map-stance-bar{padding:0 13px 13px}}
@media(max-width:500px){.map-stance-bar{padding:0 12px 12px;gap:7px 10px}.map-stance-trigger{font-size:10px;min-height:40px;padding:9px 11px;flex-basis:100%}.map-stance-trigger strong{font-size:10px}#map-stance-summary{font-size:9px}#map-stance-hint{flex-basis:100%;font-size:8px}.map-stance-option strong{font-size:11px}.map-stance-option>span>span{font-size:10px}.map-stance-option{padding:9px}.map-stance-heading{padding:16px 16px 7px}.map-stance-heading h3{font-size:14px}.map-stance-bulk{padding-left:16px;padding-right:16px}.map-stance-footer{padding:11px 16px}}
@media(max-width:800px){.map-measurebar{padding:0 13px 14px;gap:10px}.map-measure-controls{gap:8px}.map-party-key{font-size:9px;gap:12px}.map-state-context{padding:16px 18px 12px;gap:0 18px}.map-policy-preview{padding-left:18px}.map-government h3{font-size:19px}}
@media(max-width:650px){.map-state-context{grid-template-columns:1fr;gap:12px}.map-policy-preview{border-left:0;border-top:1px solid #e2eaf5;padding:10px 0 0}.map-context-date{margin-top:0}.map-party-basis{font-size:8px}.map-measure-controls{width:100%}.map-party-key{width:100%;gap:12px}.map-government-label{justify-content:space-between}}
@media(max-width:500px){.map-measurebar{padding:0 12px 12px}.map-measure-label{font-size:9px}.map-measure-switch button{font-size:10px;padding:5px 10px}.map-measure-controls{gap:7px}#map-capacity-control{max-width:100%}#map-capacity{font-size:10px;max-width:146px;min-height:37px}#map-metric-note{font-size:9px}.map-state-context{padding:14px 14px 12px}.map-government h3{font-size:20px}.map-policy-preview p{font-size:10px}.map-party-key{font-size:9px}.map-context-date{font-size:8px}}
