:root{--bg:#f3f3ed;--paper:#fffefa;--ink:#213d43;--muted:#738486;--line:#dce2dc;--accent:#d9ec9c;--dark:#173b40;--blue:#526fc6;--red:#c96d63;--amber:#9b6a22}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,select,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:#316862;text-underline-offset:3px}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9ab868;outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}p{line-height:1.6}button{border:0;background:none}input,select{width:100%;border:1px solid #ced8d2;border-radius:7px;background:var(--paper);padding:10px 11px;color:var(--ink);min-height:40px}input[type=range]{padding:0;accent-color:var(--dark);border:0}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--dark)}label{display:block;font-size:12px;font-weight:650;margin:18px 0 7px}label output{float:right;font-weight:450;font-size:11px}small{display:block}.topbar{height:86px;display:flex;align-items:center;padding:0 28px;gap:50px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:11px;letter-spacing:.05em;min-width:225px}.brand strong{display:block;font-size:19px;letter-spacing:-.6px;margin-top:3px}.brand-mark{background:var(--dark);color:var(--accent);width:46px;height:46px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;letter-spacing:-1px;position:relative}.brand-mark span{font-size:10px;position:absolute;right:5px;top:3px}.topbar nav{display:flex;height:100%;gap:24px}.nav{font-size:13px;font-weight:550;position:relative;color:var(--muted)}.nav.active{color:var(--ink)}.nav.active:after{content:'';height:3px;background:var(--dark);position:absolute;bottom:0;left:0;right:0}.research-badge{margin-left:auto;font-size:11px;border:1px solid var(--line);padding:8px 10px;border-radius:20px;white-space:nowrap}.research-badge i,.dot{display:inline-block;width:6px;height:6px;background:#75944e;border-radius:50%;margin-right:6px}.page{display:none}.page.active{display:block}#designer.active{display:grid;grid-template-columns:260px minmax(460px,1fr) 292px;min-height:calc(100vh - 130px)}.controls{padding:28px 24px;background:#f9faf4;border-right:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#829382}.controls h1{font-size:29px;line-height:1.18;letter-spacing:-1.2px;margin:15px 0 12px;font-weight:750}.intro{font-size:12px;color:#718182}.micro{font-size:10px;color:#7a8786;line-height:1.55;margin-top:8px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.advanced{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:12px}.advanced summary{cursor:pointer;color:#657b78}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;border-radius:7px;padding:14px 17px;background:var(--dark);color:#fff;font-size:13px;font-weight:600;margin-top:20px}.primary span{color:var(--accent);font-size:18px}.secondary{border:1px solid #cbd7d0;border-radius:6px;padding:9px 13px;background:#fffefa;font-size:11px;font-weight:550}.full{width:100%}.icon-button{border:1px solid var(--line);border-radius:5px;padding:7px 11px;font-size:18px}.locked{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:9px;font-size:11px}.locked>span{background:#e2edcf;width:18px;height:18px;border-radius:50%;text-align:center;line-height:18px;font-weight:700;flex-shrink:0}.locked p{font-size:10px;color:#7a8786;margin-top:4px}.text-button{font-size:10px;font-weight:600;color:#4d7770;padding:15px 0;text-align:left}.workspace{padding:28px 25px 20px;overflow:hidden}.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-head h2{font-size:20px;letter-spacing:-.7px;margin-top:6px}.export-menu{display:flex;gap:5px;white-space:nowrap}.source-strip{display:flex;flex-wrap:wrap;gap:16px;color:#88938c;font-size:9px;margin:16px 0 20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:17px;padding:16px 0}.metrics>div{padding:0 15px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics span{font-size:10px;color:#738680;display:block}.metrics strong{font-family:Manrope,sans-serif;font-size:23px;font-weight:700;display:block;margin:5px 0;letter-spacing:-.6px}.metrics small{font-size:9px;color:#8b9691}.map-shell{position:relative;border:1px solid #d5dfd7;border-radius:9px;background:#eaf0eb;overflow:hidden;min-height:390px}.map-toolbar{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;z-index:2}.map-toolbar select{width:180px;font-size:10px;min-height:33px;padding:7px 9px}.search-wrap{display:flex;align-items:center;background:#fffefa;border:1px solid #d8e0d7;border-radius:6px;width:225px;padding-left:10px}.search-wrap span{font-size:21px;color:#6c8278}.search-wrap input{border:0;background:transparent;padding:7px;font-size:10px;min-height:32px}.map-shell svg{width:100%;display:block;height:auto;min-height:390px;touch-action:none;cursor:grab}#precinctPaths path{stroke:#f3f7ef;stroke-width:.32;vector-effect:non-scaling-stroke;transition:fill .2s}#precinctPaths path:hover{stroke:#193f3c;stroke-width:1.8}#precinctPaths path.selected{stroke:#173b40;stroke-width:2}#cityLabels text{font-family:'DM Sans',sans-serif;fill:#426c65;font-size:10px;paint-order:stroke;stroke:#edf3e9;stroke-width:3px;font-weight:550}#cityLabels circle{fill:#57766b}.map-zoom{position:absolute;right:14px;bottom:18px;background:#fffefa;border:1px solid #d1dcd2;border-radius:6px;display:grid;box-shadow:0 2px 5px #1a3c3320}.map-zoom button{padding:7px 10px;font-size:18px;border-bottom:1px solid var(--line)}.map-zoom button:last-child{border:0}.compass{position:absolute;left:21px;bottom:56px;font-size:10px;text-align:center;color:#769182;line-height:1.8}.legend{position:absolute;bottom:15px;left:16px;font-size:9px;color:#526f64;max-width:80%;background:#fafff2d0;border-radius:4px;padding:6px 8px}.swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:middle}.tooltip{position:absolute;z-index:5;background:#183e40;color:white;border-radius:6px;padding:9px 12px;font-size:11px;pointer-events:none;max-width:250px;box-shadow:0 4px 18px #0002}.status-banner{font-size:10px;line-height:1.6;color:#7c8169;border-left:2px solid #bec88f;margin:14px 0 22px;padding:8px 11px;background:#edf0df}.status-banner.warn{border-color:#c89f60;background:#f4ebd9;color:#8b6b37}.status-banner.good{border-color:#78a06a;color:#4b7359}.results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.results-head h3{font-size:13px;letter-spacing:-.2px}.small-actions{display:flex;gap:10px}.small-actions button{font-size:9px;color:#5f7b70;text-decoration:underline;text-underline-offset:3px}.district-table{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.district-table.empty{padding:28px;font-size:11px;text-align:center;color:var(--muted)}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;font-size:9px;font-weight:600;color:#829088;background:#f6f8f0;position:sticky;top:0;z-index:1}th,td{padding:10px 12px;border-bottom:1px solid #e9ede5;white-space:nowrap}tr:last-child td{border:0}.district-table tr[data-district]{cursor:pointer}.district-table tr[data-district]:hover{background:#eef2df}.margin-bar{width:64px;height:5px;display:inline-flex;background:var(--red);border-radius:2px;overflow:hidden;margin-right:7px;vertical-align:middle}.margin-bar i{background:var(--blue);height:100%}.bad-value{color:#aa7141}.inspector{padding:29px 21px;background:var(--paper);border-left:1px solid var(--line)}.inspector-title{display:flex;align-items:start;gap:10px;justify-content:space-between;margin-top:14px}.inspector h2{font-size:20px;letter-spacing:-.7px;line-height:1.25}.inspector .icon-button{font-size:15px;border:0;padding:0}.muted{font-size:10px;color:#86948a;margin-top:7px}.profile-switch{display:flex;background:#eff3e9;padding:3px;border-radius:5px;margin:19px 0 15px;gap:3px}.profile-switch button{flex:1;font-size:10px;padding:6px;border-radius:4px}.profile-switch button.active{background:#fffefa;box-shadow:0 1px 3px #193c3314}#profileSummary{border-bottom:1px solid var(--line);padding-bottom:17px}.profile-stat{font-size:28px;font-family:Manrope,sans-serif;letter-spacing:-1px;font-weight:650}.profile-stat small{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:4px}.race-bars{margin-top:18px;display:flex;height:7px;border-radius:3px;overflow:hidden}.race-key{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:9px;color:#778b80}.profile-body{margin-top:15px;max-height:450px;overflow:auto}.profile-body table{font-size:10px}.profile-body th,.profile-body td{padding:9px 0;white-space:normal;vertical-align:top}.profile-body td:last-child{text-align:right;white-space:nowrap;padding-left:10px}.profile-body th{font-size:9px}.profile-body .micro{margin:5px 0 12px}.profile-body h3{font-size:12px;margin-bottom:5px}.representation-note{border-top:1px solid var(--line);margin-top:10px;padding:15px 0;font-size:10px}.representation-note p{font-size:10px;color:#839084;margin-top:5px}.document-page{max-width:1200px;margin:0 auto;padding:48px 38px 70px}.document-heading{max-width:720px}.document-heading h1{font-size:43px;letter-spacing:-1.7px;margin:12px 0 17px}.document-heading p{font-size:15px;color:#738579}.archive-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:23px}.archive-stats span{font-size:11px;color:#7a8e80}.archive-stats strong{display:block;font:700 27px Manrope,sans-serif;color:var(--ink);margin-bottom:6px}.archive-controls{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:16px}#electionResults{border:1px solid var(--line);border-radius:7px;background:var(--paper);overflow:auto;max-height:500px}.archive-footer{display:flex;gap:25px;align-items:center;margin:20px 0;font-size:11px}.coverage-notes{border-top:1px solid var(--line);padding-top:24px;margin-top:35px}.coverage-notes h2{font-size:20px;margin-bottom:13px}.coverage-notes p{font-size:12px;color:#6d8075;margin-bottom:13px;max-width:900px}#unsortedLinks{display:flex;gap:20px;margin:16px 0;font-size:12px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:40px 0}.method-grid section{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.method-grid h2{font-size:18px;margin-bottom:15px}.method-grid p{font-size:12px;color:#6f8176;margin-bottom:13px}.method-grid a{font-size:11px}#legalNotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}#legalNotes article{padding:20px;border-top:1px solid var(--line)}#legalNotes h3{font-size:15px;margin-bottom:10px}#legalNotes p{font-size:12px;color:#728477}#legalNotes a{font-size:10px;margin-right:15px;display:inline-block;margin-top:10px}dialog{max-width:600px;width:95%;border:1px solid var(--line);padding:28px;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #173a4030}dialog::backdrop{background:#183b4070;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.dialog-head h2{font-size:23px;margin-top:10px}dialog p{font-size:12px;color:#708275;margin:10px 0}.checkbox{display:flex;gap:9px;align-items:center;line-height:1.5;font-weight:400}#importError{color:#a15644}footer{border-top:1px solid var(--line);padding:19px 28px;font-size:10px;display:flex;gap:30px;color:#6f8277}footer span{margin-left:auto}#loading{position:fixed;top:86px;left:0;right:0;background:var(--dark);color:#fff;padding:12px 28px;font-size:12px;z-index:10}#loading[hidden]{display:none}.error-state{padding:25px;color:#a15644}.source-link{font-size:10px;margin:10px 0}.table-caption{padding:17px;font-size:12px;border-bottom:1px solid var(--line)}
@media(min-width:1700px){#designer.active{grid-template-columns:290px minmax(700px,1fr) 340px}.workspace{padding:30px 35px}.controls{padding:30px}.map-shell svg{min-height:500px}.map-shell{min-height:500px}}
@media(max-width:1200px){#designer.active{grid-template-columns:235px minmax(400px,1fr)}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid var(--line);padding:25px}.inspector>.eyebrow,.inspector-title,.inspector>.muted,.profile-switch,#profileSummary{grid-column:1}.inspector>label,.inspector>select,.profile-body{grid-column:2}.inspector>label{grid-row:1}.inspector>select{grid-row:2}.profile-body{grid-row:3/8}.profile-body{max-height:320px}.workspace{padding:24px 18px}.topbar{gap:20px;padding:0 20px}.research-badge{display:none}.topbar nav{gap:18px}.controls{padding:24px 18px}}
@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;padding:16px 18px 0;gap:10px}.brand{min-width:0}.topbar nav{width:100%;height:45px;justify-content:space-between;gap:8px}.nav{font-size:11px}.brand strong{font-size:17px}.brand-mark{width:38px;height:38px}#designer.active{display:flex;flex-direction:column}.controls{border:0;border-bottom:1px solid var(--line)}.controls h1{font-size:26px}.controls h1 br{display:none}.controls .intro{max-width:500px}.workspace{padding:23px 14px}.workspace-head h2{font-size:17px}.metrics{padding:13px 0}.metrics>div{padding:0 9px}.metrics strong{font-size:18px}.metrics span{font-size:9px}.metrics small{font-size:8px}.map-shell,.map-shell svg{min-height:340px}.map-toolbar{gap:6px;left:8px;right:8px}.map-toolbar select{width:145px}.search-wrap{width:180px}.source-strip{gap:9px;font-size:8px}.inspector{display:block}.profile-body{max-height:400px}.document-page{padding:32px 18px}.document-heading h1{font-size:33px}.archive-stats{grid-template-columns:1fr 1fr;gap:20px;padding:20px}.archive-controls{grid-template-columns:1fr 1fr;gap:10px}.archive-footer{flex-wrap:wrap;gap:15px}.method-grid,#legalNotes{grid-template-columns:1fr}.method-grid{gap:15px}.document-heading p{font-size:13px}footer{flex-wrap:wrap;gap:10px}footer span{margin:0;width:100%}.small-actions{gap:7px}.small-actions button{font-size:8px}#loading{top:116px}}

.map-options{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.map-options label{margin:0 0 5px;font-size:10px}.map-options select{font-size:10px;min-height:32px;padding:6px 9px}.map-options .checkbox{margin:0 0 7px;font-size:10px;gap:5px}.map-options input[type=checkbox]{width:14px;min-height:14px}.nested-toggle{font-size:11px}.nested-toggle input{flex-shrink:0}#nestedSettings{border-left:2px solid #b4c68b;padding-left:10px}#nestedSettings label{font-size:10px}.seat-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:22px}.seat-layout{display:grid;grid-template-columns:minmax(200px,1fr) 190px;gap:20px;align-items:center}.seat-card .results-head{margin:0}.seat-card .text-button{padding:0}.seat-card svg{width:100%;height:auto}.seat-controls label{margin-top:10px;font-size:10px}.seat-controls select,.seat-controls input{font-size:10px;min-height:30px;padding:6px 8px}#seatLegend{margin-top:14px;display:flex;flex-wrap:wrap;gap:9px;font-size:11px}#seatDiagram circle[data-seat]{cursor:pointer;stroke:#fffefa;stroke-width:1.2}#seatDiagram circle[data-seat]:hover,#seatDiagram circle:focus{stroke:#173b40;stroke-width:3}#countyLines{fill:none;stroke:#294e47;stroke-width:1.15;pointer-events:none}#countyLines path,#riverLines path,#basinLines path{vector-effect:non-scaling-stroke}#riverLines{fill:none;stroke:#347fa1;stroke-width:1.7;opacity:.9;pointer-events:stroke}#basinLines{fill:none;stroke:#617e49;stroke-width:1.4;stroke-dasharray:5 3;pointer-events:stroke}#precinctPaths path.selected{stroke:#173b40!important;stroke-width:2!important}
@media(max-width:760px){.seat-layout{grid-template-columns:1fr}.seat-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seat-controls label{margin:0}.seat-controls label[for=seatSource]{grid-column:1;grid-row:1}.seat-controls #seatSource{grid-column:1;grid-row:2}.seat-controls label[for=seatRows]{grid-column:2;grid-row:1}.seat-controls #seatRows{grid-column:2;grid-row:2}#manualSeats,#seatLegend,#seatNote{grid-column:1/-1}.seat-card .results-head h3{font-size:12px}.map-options{gap:10px}}

#waterBodies{fill:#b4d4dc;stroke:#6b9daa;stroke-width:.45;pointer-events:all}#waterBodies path{vector-effect:non-scaling-stroke}
:root{--bg:#e8edf3;--paper:#fff;--ink:#182a42;--muted:#69788b;--line:#d8e0e9;--dark:#123d69;--blue:#12429b;--red:#9d1c24;--accent:#d7e9ff}
body{font-family:'Segoe UI',system-ui,sans-serif;font-size:13px;background:var(--bg);color:var(--ink);padding:90px 0 34px}h1,h2,h3{font-family:inherit}button,input,select{font:inherit}button{border-radius:4px}button:hover{background:#e8f0fa}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #307ed2;outline-offset:2px}[hidden]{display:none!important}
.office-chrome{position:fixed;inset:0 0 auto;z-index:25;background:#fff;box-shadow:0 1px 4px #16314c20}.title-bar{height:38px;display:flex;align-items:center;gap:20px;padding:0 18px;background:#163e68;color:#fff}.title-bar .brand{min-width:0;display:flex;gap:10px;color:white;font-size:14px;letter-spacing:0;text-decoration:none}.brand>b{font-size:14px;border:1px solid #ffffff80;border-radius:3px;width:26px;height:26px;display:grid;place-items:center}.brand small{display:inline;font-size:10px;opacity:.65;margin-left:6px}.document-name{font-size:11px;opacity:.8;margin:auto}.version-badge{font-size:10px;opacity:.7}.ribbon{height:47px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #cbd6e2}.ribbon nav{display:flex;gap:2px;height:100%;align-items:center}.ribbon nav button{padding:9px 17px;font-size:12px;color:#213c5c}.ribbon nav .active{background:#e9f0f9;color:#16457d}.nav.active:after{display:none}.ribbon-actions{display:flex;gap:8px;align-items:center}.ribbon .primary{width:auto;margin:0;padding:8px 17px;font-size:12px;background:#175b9e;color:white;min-height:32px}.ribbon #stop{padding:8px 13px;border:1px solid #b9c9da}.ribbon nav button[aria-expanded=true]{background:#dceafb}
#designer.active{display:block;min-height:0}.map-document{max-width:1180px;margin:18px auto 24px;padding:24px 40px 14px;background:white;box-shadow:0 2px 12px #203d5718;border:1px solid #dbe2e9;border-radius:2px}.paper-heading{text-align:center}.paper-heading h1{font:700 32px Georgia,'Times New Roman',serif;letter-spacing:-.4px;color:#19283d}.paper-heading h2{font:700 19px Georgia,'Times New Roman',serif;margin-top:7px;letter-spacing:0}.paper-heading p{font:12px Georgia,'Times New Roman',serif;color:#7b8492;margin-top:7px}.top-visuals{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;max-width:930px;margin:15px auto 0}.seat-card{padding:0;border:0;margin:0;background:none;min-width:0}.seat-card svg{width:100%;height:176px;display:block}.seat-card #seatLegend{display:none}.county-inset{text-align:center}.county-inset h3{font:700 13px Georgia,serif;margin:0}.county-inset svg{display:block;width:100%;height:150px;overflow:visible}.county-inset path{stroke:#fff;stroke-width:.75;vector-effect:non-scaling-stroke}.map-shell{border:0;border-radius:0;background:#fff;min-height:0;position:relative;margin-top:5px;overflow:hidden}.map-shell svg{min-height:0;height:clamp(250px,39vh,410px);width:100%;touch-action:none;display:block}.map-zoom{right:4px;bottom:8px;opacity:.25;border-color:#c8d3df;box-shadow:none}.map-shell:hover .map-zoom,.map-zoom:focus-within{opacity:1}.map-zoom button{padding:5px 8px;font-size:15px;color:#365779}.paper-note{font:10px Georgia,serif;text-align:center;margin:14px 0 0;color:#8993a1}.tooltip{background:#142c48;color:#fff;font:12px 'Segoe UI',sans-serif;line-height:1.6;min-width:195px;padding:10px 13px;box-shadow:0 4px 15px #15284022;border-radius:5px;max-width:290px}.tooltip strong{display:block;font-size:14px}.tooltip .tip-line{display:flex;justify-content:space-between;gap:24px}.tooltip small{color:#b7c9db;font-size:10px;margin-top:5px}
#precinctPaths path{transition:none;stroke:none;vector-effect:non-scaling-stroke}#precinctPaths path:hover{stroke:none}#districtFills path{stroke:none;cursor:pointer}#districtBorders path{fill:none;stroke:#fff;stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}#coastLine{fill:none;stroke:#748392;stroke-width:.85;pointer-events:none}#selectionOutline path{fill:none;stroke:#142c48;stroke-width:2;vector-effect:non-scaling-stroke}#countyLines{fill:none;stroke:#72869a;stroke-width:.7;pointer-events:none}#countyLines path{vector-effect:non-scaling-stroke}#waterBodies{fill:#e7f2f8;stroke:none;pointer-events:none}#riverLines{fill:none;stroke:#397eac;stroke-width:1.05;opacity:.85;pointer-events:none}#basinLines{fill:none;stroke:#6f8c58;stroke-width:1;stroke-dasharray:4 3;pointer-events:none}#interstateLines,#highwayLines{fill:none;pointer-events:none;stroke-linejoin:round;stroke-linecap:round}#interstateLines{stroke:#a9663a;stroke-width:1.55;opacity:.95}#highwayLines{stroke:#a68b63;stroke-width:.75;opacity:.75}#interstateLines path,#highwayLines path,#coastLine path{vector-effect:non-scaling-stroke}#cityLabels text{font-family:'Segoe UI',sans-serif;fill:#33465d;stroke:#fff;paint-order:stroke;stroke-linejoin:round;font-weight:500}#cityLabels circle{fill:#33465d;stroke:#fff;vector-effect:non-scaling-stroke}
.legend{position:static;max-width:none;margin:8px auto 0;padding:0;background:none;font-family:Georgia,serif;color:#788392;font-size:10px}.legend-title{text-align:center;margin-bottom:8px;font-size:11px}.margin-bands{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:2px}.margin-band{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0}.margin-band i{display:block;height:14px;width:100%}.margin-band span{font:9px 'Segoe UI',sans-serif;white-space:nowrap}.legend-ends{display:flex;justify-content:space-between;margin-top:7px}.tie-key{display:inline-block;width:9px;height:9px;background:#dce1e9;border:1px solid #c6cfdb;margin-right:4px}.app-status{position:fixed;bottom:0;left:0;right:0;height:30px;background:#f8fafc;border-top:1px solid #cad5e0;display:flex;align-items:center;padding:0 16px;gap:20px;z-index:24;font-size:10px;color:#66788b}.app-status span{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-status button{font-size:10px;padding:4px 8px;color:#365775}.app-status #progress{margin-left:auto;max-width:50%}.app-status .warn{color:#9a5a17}.app-status .good{color:#34734b}
dialog.office-panel{width:min(95vw,850px);max-width:1000px;max-height:calc(100vh - 125px);padding:0;border:1px solid #b8c8d9;border-radius:6px;box-shadow:0 15px 70px #102b4e35;background:#fff;overflow:auto;color:#23394f}dialog::backdrop{background:#12355b20;backdrop-filter:none}.office-panel.wide-panel{width:min(96vw,1030px)}.office-panel.medium-panel{width:min(94vw,560px)}.office-panel.profile-panel{width:min(94vw,580px);margin-right:20px}.panel-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#f6f9fc;border-bottom:1px solid #d5dfea;padding:12px 18px}.panel-heading h2{font-size:16px;font-weight:600;margin:0}.close-panel{font-size:24px;width:30px;height:28px;line-height:1;color:#60768a}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:20px 10px}.settings-grid fieldset{margin:0;padding:0 18px;border:0;border-right:1px solid #e1e7ee;min-width:0}.settings-grid fieldset:last-child{border:0}.settings-grid legend{font-size:12px;font-weight:650;color:#23639d;margin:0 0 8px;padding:0}.office-panel label{font-size:11px;font-weight:600;margin:13px 0 5px}.office-panel input,.office-panel select{font-size:12px;min-height:34px;border-radius:4px;padding:7px 9px;border-color:#c3d0dd;background:white}.office-panel .checkbox{font-size:11px;line-height:1.4;font-weight:400;gap:8px;display:flex}.office-panel input[type=checkbox]{width:15px;min-height:15px;accent-color:#226baa;flex-shrink:0}.two-fields{gap:10px}.micro,.office-panel .micro{font-size:10px;color:#738193;line-height:1.5;margin:7px 0 0}.office-panel .primary{width:100%;margin-top:16px;padding:10px;background:#175b9e;color:#fff;font-size:12px;justify-content:center}.locked{font-size:10px;display:block;padding:12px 0 0;margin-top:15px;border-color:#d8e1ea}.locked p{font-size:10px;margin-top:5px}.command-grid{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.command-grid button{padding:14px 12px;text-align:left;border:1px solid transparent;font-size:12px;min-height:45px;color:#233b59}.command-grid button:hover{background:#eaf2fb;border-color:#c7d9ee}.command-grid small{font-size:10px;line-height:1.45;color:#788698;margin-top:4px}.office-panel>p{padding:0 20px 18px}.inspector{padding:20px;display:block;border:0}.inspector h2{font-size:24px}.inspector .eyebrow{display:none}.inspector-title{margin-top:0}.inspector .profile-body{max-height:45vh;margin-top:16px}.inspector label,.inspector select{grid-column:auto}.profile-body table{font-size:12px}.profile-body td,.profile-body th{padding:9px 4px}.profile-switch{margin:14px 0}.profile-switch button{font-size:12px}.profile-stat{font:600 26px 'Segoe UI',sans-serif}.profile-stat small{font:11px 'Segoe UI',sans-serif}.race-key{font-size:10px}.representation-note{font-size:11px}.representation-note p{font-size:10px}.secondary{font-size:12px;border-color:#bfcedd;background:white}.text-button{font-size:11px;color:#23639d}.metrics{margin:20px;padding:14px 0}.metrics strong{font-family:'Segoe UI',sans-serif;font-size:23px}.status-banner{margin:14px 20px;font-size:11px}.county-summary{margin:15px 20px;color:#526a82;font-size:12px}.district-table{margin:15px 20px 20px;max-height:50vh}.district-table table{font-size:12px}.district-table th{font-size:10px}#exportStatus{padding:0 24px 15px}.road-key{font-size:10px;display:flex;gap:6px;align-items:center;margin-top:15px}.interstate-sample,.highway-sample{display:inline-block;width:20px;height:2px;background:#a9663a}.highway-sample{background:#a68b63;height:1px}
.document-page{max-width:1100px;margin:20px auto;background:#fff;padding:30px;border:1px solid #dbe2e9}.document-heading h1{font-size:29px;color:#163e68}.document-heading p{font-size:13px}.document-heading .eyebrow{color:#4f739a}.method-grid{gap:18px;margin:25px 0}.method-grid section{background:#f8fafc;border-color:#dbe4ee}.method-grid h2{font-size:16px}.document-page table{font-size:12px}.archive-stats{margin:20px 0;padding:16px;background:#f8fafc}.archive-stats strong{font:600 23px 'Segoe UI',sans-serif}.archive-controls{gap:10px}.archive-controls label{font-size:11px}.archive-controls select{font-size:12px}.archive-footer{flex-wrap:wrap}.coverage-notes p{font-size:12px}.table-caption{font-size:12px}#loading{top:85px;padding:9px 20px;font-size:12px;background:#1a5c97}.error-state{padding:20px}.load-retry{margin-left:15px;background:#fff;color:#174a78;padding:5px 12px}.app-status #renderStatus:empty{display:none}
@media(min-width:1600px){.map-document{max-width:1350px}.top-visuals{max-width:1040px}.seat-card svg{height:205px}.county-inset svg{height:170px}.map-shell svg{height:clamp(300px,43vh,480px)}}
@media(max-width:760px){body{padding-top:88px}.title-bar{padding:0 10px}.document-name{display:none}.version-badge{margin-left:auto}.ribbon{height:46px;padding:0 5px;gap:3px}.ribbon nav button{padding:9px 9px;font-size:11px}.ribbon .primary{font-size:10px;padding:8px 9px}.map-document{margin:8px;padding:17px 12px 14px}.paper-heading h1{font-size:25px}.paper-heading h2{font-size:16px}.paper-heading p{font-size:10px}.top-visuals{gap:15px;margin-top:12px}.seat-card svg{height:135px}.county-inset svg{height:100px}.county-inset h3{font-size:11px}.map-shell svg{height:260px;min-height:0}.margin-bands{gap:1px}.margin-band span{font-size:7px;white-space:normal}.margin-band i{height:13px}.legend-title{font-size:10px}.legend-ends{font-size:9px}.paper-note{font-size:9px}.app-status{padding:0 5px;gap:4px}.app-status #progress{max-width:40%}.app-status button{max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-grid{grid-template-columns:1fr;gap:18px;padding:18px 5px}.settings-grid fieldset{border:0;border-bottom:1px solid #e0e7ef;padding-bottom:16px}.command-grid{grid-template-columns:1fr}.office-panel.profile-panel{margin:auto}.document-page{margin:8px;padding:22px 15px}.archive-controls{grid-template-columns:1fr 1fr}.metrics{margin:12px}.metrics strong{font-size:18px}.metrics>div{padding:0 8px}.district-table{margin:12px;max-height:45vh}.status-banner,.county-summary{margin:12px}.top-visuals .seat-card{display:block}}
.map-shell svg{height:auto;aspect-ratio:1000/420}.legend-foot{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:9px}.legend-foot i{display:inline-block;width:9px;height:9px;margin:0 3px 0 8px;border:1px solid #c5ced9}.command-grid small{display:block}.seat-card #seatLegend:not(:empty){display:block;text-align:center;font-size:10px;color:#718095;margin-top:-8px}#retryLoad{color:#16457d;background:white;margin-left:12px;padding:5px 12px}#map{cursor:grab}#map:active{cursor:grabbing}@media(max-width:760px){.map-shell svg{height:260px;aspect-ratio:auto}.legend-foot{display:block;text-align:center}.legend-foot span{display:block;margin-top:5px}}

/* V2.1: one shared-edge mesh per boundary layer; screen-stable line widths. */
#riverLines path,#basinLines path{vector-effect:non-scaling-stroke}#countyInset .county-fill{stroke-linejoin:round}#countyInset .county-boundary{stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#precinctMesh,#countyLines path{stroke-linejoin:round;stroke-linecap:round}

.map-document{display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:24px;max-width:none;margin:16px;padding:24px;align-items:start}.paper-heading{grid-column:2;grid-row:1}.paper-heading h1{font-size:29px}.top-visuals{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;gap:26px;max-width:none;width:100%;margin:0;padding:12px 22px 12px 0;border-right:1px solid #e1e7ee;align-self:start}.top-visuals>section{width:100%}.seat-card svg{height:auto;aspect-ratio:360/210}.county-inset svg{height:auto;aspect-ratio:1000/420}.county-inset h3{margin-bottom:10px}.map-shell{grid-column:2;grid-row:2;margin-top:20px}.map-shell svg{height:auto;aspect-ratio:1000/420;min-height:260px}.legend{grid-column:2;grid-row:3;width:100%;margin-top:10px}.paper-note{grid-column:1/-1}.district-handle{cursor:grab}.district-handle circle{fill:#fff;stroke:#1f3653;stroke-width:1.5;opacity:.95}.district-handle text{font:600 10px 'Segoe UI',sans-serif;fill:#1f3653;pointer-events:none}.district-handle.is-locked{cursor:default}.district-handle.is-locked circle{fill:#ffe4a5;stroke:#9f6d16;stroke-width:2.2}#districtDragGuide{fill:none;stroke:#263e5c;stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.editing-settings{padding:18px 22px}.edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.edit-actions button{padding:8px 10px}.edit-actions .primary{margin:0}.lock-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:250px;overflow:auto;margin-top:15px}.lock-list button{border:1px solid #ccd7e3;padding:8px 6px;text-align:left}.lock-list button[aria-pressed=true]{background:#fff0d1;border-color:#d6a950}.lock-list small{display:block;color:#7b8794;font-size:9px;margin-top:3px}.swing-controls{display:flex;align-items:center;gap:4px}.swing-controls button{white-space:nowrap;font-size:10px;padding:6px}.swing-controls input{min-width:0;width:70px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#swingSlider{width:100%;padding:0;accent-color:#3866a5}#lockSelectedDistrict{padding:8px 10px}
.swing-card{border-top:1px solid #e1e7ee;border-bottom:1px solid #e1e7ee;padding:13px 0}.swing-card>label{font-size:11px;text-transform:none;letter-spacing:0;margin-top:0}.swing-card input[type=number]{font:12px 'Segoe UI',sans-serif;padding:6px;border:1px solid #c3d0dd;border-radius:4px}.swing-card input[type=range]{margin:5px 0 8px}.swing-card details{font-size:10px;color:#6d7c90;margin-top:8px}.swing-card details p{font-size:10px;line-height:1.5;margin-top:6px}.swing-card summary{cursor:pointer}
@media(min-width:1600px){.map-document{grid-template-columns:280px minmax(0,1fr);max-width:none}.top-visuals{max-width:none}.seat-card svg,.county-inset svg{height:auto}.map-shell svg{height:auto}}
@media(max-width:900px){.map-document{grid-template-columns:175px minmax(0,1fr);column-gap:14px;padding:18px;margin:10px}.top-visuals{padding-right:14px}.paper-heading h1{font-size:25px}.map-shell svg{height:320px;aspect-ratio:auto}.ribbon nav button{padding:9px 10px}}
@media(max-width:650px){.map-document{display:block;padding:14px}.top-visuals{display:flex;flex-direction:column;border:0;gap:20px;padding:10px 0;margin-top:10px}.seat-card svg,.county-inset svg{height:auto}.map-shell svg{height:280px}.legend{margin-top:12px}.ribbon nav button{padding:9px 7px}.ribbon .primary{font-size:9px;padding:8px 6px}.lock-list{grid-template-columns:1fr 1fr}}

/* Workspace: the map occupies the left and infographics occupy the right. */
.map-document{grid-template-columns:minmax(0,1fr) 230px}.paper-heading,.map-shell,.legend{grid-column:1}.top-visuals{grid-column:2;padding:12px 0 12px 22px;border-right:0;border-left:1px solid #e1e7ee}.search-progress-body{min-width:0;flex:1}.search-progress-body strong{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-progress-body small{font-size:11px;color:#566a82}#searchProgress{position:fixed;top:94px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 40px));z-index:12;display:flex;align-items:center;gap:15px;padding:15px 18px;border:1px solid #c9d5e3;border-radius:8px;background:#fff;box-shadow:0 8px 28px #1b365326}#searchProgress[hidden]{display:none}.search-spinner{width:27px;height:27px;border:3px solid #d9e4f0;border-top-color:#205d9d;border-radius:50%;animation:search-turn .8s linear infinite;flex-shrink:0}@keyframes search-turn{to{transform:rotate(360deg)}}#searchBar{display:block;width:100%;height:9px;margin:8px 0;accent-color:#205d9d}.nested-map-controls{margin-top:10px;font-family:'Segoe UI',sans-serif}.nested-map-controls>label{font-size:11px}.nested-map-controls select{padding:6px 9px;font-size:12px;border:1px solid #c8d3e0;border-radius:4px;background:#fff;color:#173b61}#nestedLineKey{display:flex;gap:13px;align-items:center;justify-content:center;flex-wrap:wrap;margin:9px 0;font:10px 'Segoe UI',sans-serif}#nestedLineKey[hidden]{display:none}#nestedLineKey span{display:inline-flex;gap:5px;align-items:center}#nestedLineKey i{width:23px;border-top:1px solid #526a85}#nestedLineKey .line-us{border-top:3px solid #173b61}#nestedLineKey .line-house{border-top:1px dotted #526a85}#nestedLineKey small{width:100%;color:#6d7c90}
@media(min-width:1600px){.map-document{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:900px){.map-document{grid-template-columns:minmax(0,1fr) 175px}.top-visuals{padding:12px 0 12px 14px}}
@media(max-width:650px){.map-document{display:flex;flex-direction:column}.paper-heading,.map-shell,.legend,.top-visuals{width:100%}.paper-heading{order:0}.map-shell{order:1}.legend{order:2}.top-visuals{order:3;border-left:0;padding:16px 0;border-top:1px solid #e1e7ee}.paper-note{order:4}.seat-card svg{max-height:200px}.county-inset svg{max-height:180px}}
@media(prefers-reduced-motion:reduce){.search-spinner{animation:none}}

#manualToolbar{font:12px 'Segoe UI',sans-serif;text-align:left;background:#f4f7fb;border:1px solid #ccd8e5;border-radius:6px;padding:12px;margin-top:15px}#manualToolbar[hidden]{display:none}.manual-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.manual-tools label{margin:0}.manual-tools select{width:auto;max-width:200px;margin:0;padding:6px}.manual-tools button{padding:7px 9px;border:1px solid #c6d3e2;background:white;border-radius:4px}#manualPopulation{font-size:12px;color:#1b3e64!important;margin:9px 0 4px}#manualHint{font-size:11px;color:#60748a!important;margin:0}.manual-drawing #map{cursor:crosshair;touch-action:none}.manual-drawing #districtHandles{display:none}#blankFromDraw,#paintExisting{margin-bottom:10px}
#manualPartisanship{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:12px 'Segoe UI',sans-serif;margin:7px 0}#manualPartisanship .party-chip{padding:4px 7px;border:1px solid #c2cddd;border-radius:4px;font-weight:700;color:#173052}#manualPartisanship small{color:#60748a;font-size:10px}.manual-partisan-bar{height:7px;width:100px;display:flex;overflow:hidden;border-radius:4px}.manual-partisan-bar i{height:100%}#paintColor{max-width:225px}.manual-data-legend{display:flex;gap:0;margin:7px 0 4px}.manual-data-legend span{flex:1;text-align:center;font-size:9px}.manual-data-legend i{display:block;height:14px;border-right:1px solid white}.manual-assignment-label{pointer-events:none}.manual-field{display:inline-flex;align-items:center;gap:6px}.manual-tools .manual-whole{font-size:11px;margin:0;display:flex;align-items:center;gap:5px}.manual-whole input{width:auto;margin:0}.manual-tools{row-gap:9px}

.top-visuals .seat-card{order:0}.top-visuals .swing-card{order:1}.top-visuals .map-details{order:2;max-height:340px;overflow:auto}.top-visuals .county-inset{order:3}
#tooltip{display:none!important}.map-details{border-top:1px solid #e1e7ee;padding-top:16px;text-align:left}.map-details h3{font-size:13px;margin:0 0 12px}.map-details h4{font:600 13px 'Segoe UI',sans-serif;margin:0 0 4px}.map-details h5{font:600 11px 'Segoe UI',sans-serif;margin:12px 0 7px}.inspect-sub{font:10px 'Segoe UI',sans-serif;color:#708095;margin:4px 0 8px;line-height:1.4}.map-details dl{margin:0;font:11px 'Segoe UI',sans-serif}.map-details dl>div{display:flex;justify-content:space-between;gap:10px;padding:3px 0}.map-details dt{color:#5f7084}.map-details dd{margin:0;text-align:right;white-space:nowrap}.inspect-partisan{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font:11px 'Segoe UI',sans-serif}.inspect-partisan span{padding:4px 6px;border-radius:3px}.map-details button{border:1px solid #ccd7e3;border-radius:4px;background:white;font:11px 'Segoe UI',sans-serif;padding:7px 10px;margin-top:12px}#planPanel .micro,#viewPanel .micro,#editPanel .micro,#planPanel .locked,.paper-note,.legend-foot,#swingSummary,.swing-card details{display:none}#manualHint:empty{display:none}#manualPartisanship small{display:none}.legend>p{display:none}#manualToolbar{padding:10px}#manualToolbar>p{font-family:'Segoe UI',sans-serif}#manualPopulation{font-size:11px}.top-visuals{gap:20px}

/* Screen-sized map canvas with a transparent title overlay. */
:root{--sidebar-width:clamp(265px,23vw,330px)}body{background:#fff}#designer.active{position:fixed;inset:84px 0 28px;min-height:0}.map-document{display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-width);grid-template-rows:100%;gap:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}.map-document input,.map-document select{user-select:auto}.paper-heading{position:absolute;z-index:2;top:16px;left:12px;right:calc(var(--sidebar-width) + 12px);padding:0;background:transparent;pointer-events:none}.paper-heading h1,.paper-heading h2,.paper-heading>p{paint-order:stroke fill;-webkit-text-stroke:3px #fff;text-shadow:0 0 4px #fff}.paper-heading h1{font-size:29px}.paper-heading h2{font-size:17px;margin-top:3px}.paper-heading>p{font-size:11px;margin-top:5px;-webkit-text-stroke:2px #fff}.nested-map-controls{pointer-events:auto;width:fit-content;margin:8px auto}.map-shell{grid-column:1;grid-row:1;margin:0;padding:0;border:0;min-height:0;height:100%;width:100%;background:transparent}.map-shell #map{height:100%;width:100%;min-height:0;aspect-ratio:auto;user-select:none;-webkit-user-select:none}.map-zoom{bottom:80px;right:12px;opacity:.7}.legend{position:absolute;grid-area:auto;left:18px;right:calc(var(--sidebar-width) + 18px);bottom:12px;width:auto;margin:0;padding:0;max-width:none;z-index:2;pointer-events:none}.legend-title{text-shadow:0 0 3px white,0 0 5px white;font-size:10px}.margin-band span{font-size:8px}.margin-band i{height:12px}.top-visuals{grid-column:2;grid-row:1;display:flex;flex-direction:column;height:100%;overflow:auto;overscroll-behavior:contain;align-self:stretch;width:100%;margin:0;padding:12px 14px;gap:12px;border:0;background:#fff}.top-visuals>section,.top-visuals>details{flex-shrink:0;width:100%;border:0}.seat-card svg{height:clamp(130px,21vh,190px);aspect-ratio:auto}.seat-card #seatLegend:not(:empty){font-size:9px;margin:0}.comparison-controls{display:flex;align-items:end;gap:8px;order:0;padding-top:3px}.baseline-field{min-width:0;flex:1}.baseline-field label{margin:0 0 5px;font:600 10px 'Segoe UI',sans-serif}.baseline-field select{width:100%;min-height:30px;padding:5px;font:11px 'Segoe UI',sans-serif}.comparison-controls .checkbox{margin:0 0 5px;gap:4px;font-size:11px;white-space:nowrap}.comparison-controls input{min-height:14px;width:14px;height:14px}.swing-card{padding:9px 0 4px;order:1}.swing-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.swing-top label{font-size:11px;margin:0}.swing-top #swingAmount{width:65px;min-height:28px;padding:4px}.swing-track{display:flex;align-items:center;gap:7px;margin-top:5px}.swing-track #swingSlider{flex:1;min-width:0;margin:0;height:22px}.swing-track button{font:600 10px 'Segoe UI',sans-serif;white-space:nowrap;padding:5px 3px}.swing-track #swingLeft{color:#9d1c24}.swing-track #swingRight{color:#12429b}#swingReset{font:10px 'Segoe UI',sans-serif;padding:3px 0;display:block;margin-left:auto}.top-visuals .map-details{order:2;max-height:none;overflow:visible;padding:0;background:#f6f8fb;border-radius:5px}.map-details[hidden]{display:none}.map-details>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:9px 10px;font:600 12px 'Segoe UI',sans-serif;list-style:none}.map-details>summary:before{content:'▸';margin-right:6px}.map-details[open]>summary:before{content:'▾'}.map-details>summary span{flex:1}.map-details>summary button{margin:0;padding:3px 6px;font-size:10px;background:transparent}.map-details #mapDetailsContent{padding:0 10px}.map-details h4{font-size:12px;margin:2px 0}.inspect-sub{font-size:9px;margin:2px 0 7px}.map-details dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;font-size:10px}.map-details dl>div{display:block;padding:0}.map-details dt{font-size:9px;line-height:1.25}.map-details dd{text-align:left;font-weight:600;margin-top:2px}.map-details .inspect-partisan{margin:8px 0;font-size:10px;gap:6px}.map-details .inspect-partisan span{padding:3px 5px}.map-details h5{font-size:10px;margin:9px 0 6px}.map-details #inspectFullProfile{display:block;width:calc(100% - 20px);margin:8px 10px 10px;padding:5px 6px;font-size:10px}.top-visuals .county-inset{order:3;margin-top:auto}.county-inset svg{max-height:115px;height:auto;aspect-ratio:1000/420}.county-inset h3{font-size:12px;margin-bottom:5px}#manualToolbar{pointer-events:auto;position:absolute;left:14px;top:110px;right:14px;margin:0;padding:8px;background:#f7f9fceF;box-shadow:0 2px 8px #17305212;max-width:900px}.manual-tools select{max-width:180px;min-height:29px;font-size:11px}.manual-tools label{font-size:10px}.manual-tools button{font-size:10px;padding:6px 7px}.manual-tools{gap:6px}#manualPopulation,#manualPartisanship{font-size:10px;margin:5px 0}#resumeDrawing{pointer-events:auto;background:#1c5c95;color:white;border-radius:4px;font-size:11px;padding:6px 10px;margin-top:8px}#resumeDrawing[hidden]{display:none}.district-handle.is-passive{pointer-events:none}.district-handle.is-passive circle,.manual-assignment-label circle{display:none}.district-handle.is-passive text,.manual-assignment-label text{paint-order:stroke;stroke:white;stroke-width:3px;stroke-linejoin:round;font:600 10px 'Segoe UI',sans-serif;fill:#173052}.movable-heading{cursor:move;touch-action:none;user-select:none}.movable-heading button{cursor:pointer}dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#searchProgress{top:94px;max-width:360px;left:14px;transform:none}#searchProgress[hidden]{display:none}.app-status{background:#f8fafc}
@media(max-width:850px){:root{--sidebar-width:250px}.paper-heading h1{font-size:24px}.paper-heading h2{font-size:15px}.top-visuals{padding:10px;gap:9px}.comparison-controls{gap:5px}.seat-card svg{height:130px}.paper-heading>p{max-width:90%;margin:5px auto}.margin-band span{font-size:7px}#manualToolbar{top:100px}.manual-tools select{max-width:145px}}
@media(max-width:600px){:root{--sidebar-width:190px}.top-visuals{padding:8px;gap:8px}.seat-card svg{height:110px}.comparison-controls{flex-wrap:wrap}.baseline-field{width:100%;flex:auto}.comparison-controls .checkbox{margin:0}.paper-heading{left:5px;right:calc(var(--sidebar-width) + 5px)}.paper-heading h1{font-size:19px}.paper-heading h2{font-size:13px}.paper-heading>p{display:none}.map-details dl{gap:5px 7px}.map-document{display:grid}.legend{left:5px;right:calc(var(--sidebar-width) + 5px)}.margin-bands{gap:0}.margin-band span{font-size:6px}.swing-top #swingAmount{width:50px}.swing-top label{font-size:10px}#manualToolbar{left:0;right:0;top:65px;padding:5px}.manual-tools select{max-width:110px}.manual-tools{gap:4px}}
.top-visuals .seat-card{order:0}.top-visuals .county-inset{order:1;margin-top:0}.top-visuals .comparison-controls{order:2}.top-visuals .swing-card{order:3}.top-visuals .map-details{order:4}

.seat-safety-results{margin:12px 0;padding:14px;background:#f2f6fb;border-radius:5px}.seat-safety-results[hidden]{display:none}.seat-safety-results h3{font:600 14px "Segoe UI",sans-serif;margin:0 0 12px}.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.safety-grid span{display:block;font-size:11px;color:#52677e}.safety-grid strong{display:block;font-size:18px;margin-top:4px}.seat-safety-results p{margin:10px 0 0;font-size:12px}@media(max-width:650px){.safety-grid{grid-template-columns:1fr 1fr}}

.gallagher-card{width:100%;padding:10px 0 0;margin-top:6px;border:0;border-top:1px solid #e0e7ef;background:transparent;text-align:left;color:#173b61;cursor:pointer}.gallagher-card>span{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.8}.gallagher-card strong{font-variant-numeric:tabular-nums;font-size:12px}.gallagher-card:hover{color:#005b9f}.gallagher-card[aria-busy="true"]{opacity:.55}.gallagher-details{margin:12px 0;padding:12px;border:1px solid #e0e7ef;border-radius:4px}.gallagher-details summary{cursor:pointer;font-weight:600}.gallagher-details table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}.gallagher-details th,.gallagher-details td{text-align:right;padding:5px 8px;border-bottom:1px solid #edf1f6}.gallagher-details th:first-child{text-align:left}.gallagher-details caption{text-align:left;font-size:11px;padding-bottom:8px}.gallagher-details .current-swing{background:#eaf2fb}.gallagher-details p{font-size:12px}.gallagher-details .gallagher-method{font-size:11px;color:#52677e;line-height:1.5}

/* Mobile map workspace: full-width canvas with optional comparison controls. */
#designer.active{inset:var(--map-chrome-height,84px) 0 var(--map-status-height,28px)}
.map-panel-toggle{position:absolute;z-index:3;top:12px;right:calc(var(--sidebar-width) + 12px);min-height:44px;padding:0 14px;border:1px solid #c4d2e2;border-radius:9px;background:#fff;color:#173b61;box-shadow:0 2px 8px #17305216;font:600 12px 'Segoe UI',sans-serif}
.map-sidebar-heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;order:-1;position:sticky;top:-12px;z-index:3;background:#fff;padding:4px 0 8px;border-bottom:1px solid #e1e7ee;flex-shrink:0;font:600 13px 'Segoe UI',sans-serif}
.map-sidebar-heading button{min-height:44px;padding:0 10px;border:1px solid #c4d2e2;border-radius:7px;background:#f5f8fc;font:600 12px 'Segoe UI',sans-serif}
.map-sidebar-heading button span{font-size:20px;margin-left:6px;vertical-align:middle}
.map-panel-scrim{display:none}
.map-document.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}
.map-document.sidebar-collapsed .top-visuals{display:none}
.map-document.sidebar-collapsed .paper-heading{right:12px}
.map-document.sidebar-collapsed .legend{right:18px}
.map-document.sidebar-collapsed .map-panel-toggle{right:12px}
.paper-heading{padding:0}
@media(max-width:850px){
  .map-document,.map-document.sidebar-collapsed{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:100%}
  .map-document:not(.sidebar-open) .top-visuals{display:none}
  .paper-heading,.map-document.sidebar-collapsed .paper-heading{left:12px;right:12px;top:66px;padding:0}
  .paper-heading h1{font-size:25px}.paper-heading h2{font-size:16px}
  .map-panel-toggle,.map-document.sidebar-collapsed .map-panel-toggle{top:10px;right:10px}
  .map-document .top-visuals{position:absolute;grid-area:auto;z-index:5;inset:0 0 0 auto;width:min(340px,90%);height:100%;padding:12px 16px;gap:16px;border-left:1px solid #cbd6e2;box-shadow:-8px 0 28px #17305224;overscroll-behavior:contain;user-select:text;-webkit-user-select:text}
  .map-sidebar-heading{top:-12px}
  .map-panel-scrim:not([hidden]){display:block;position:absolute;z-index:4;inset:0;background:#17305224;touch-action:manipulation}
  .map-document .map-shell{grid-column:1;grid-row:1;width:100%;height:100%;order:initial}
  .map-document .map-shell #map{width:100%;height:100%;touch-action:none}
  .legend,.map-document.sidebar-collapsed .legend{left:12px;right:12px;bottom:12px;width:auto;order:initial}
  .map-zoom{right:12px;bottom:94px;opacity:1;border-radius:9px;background:#fff;box-shadow:0 2px 8px #17305216}
  .map-zoom button{min-width:44px;min-height:44px;font-size:20px;padding:6px}
  .margin-band span{font-size:7px}.margin-band i{height:13px}
  .ribbon nav{min-width:0;overflow-x:auto;scrollbar-width:none;flex:1}
  .ribbon nav button,.ribbon-actions{flex-shrink:0}
  .top-visuals .comparison-controls{display:flex;flex-wrap:wrap;gap:10px}
  .top-visuals .baseline-field{width:100%;flex:auto}
  .top-visuals .baseline-field select{min-height:44px;font-size:14px;padding:8px}
  .top-visuals .baseline-field label,.swing-top label{font-size:12px}
  .top-visuals .comparison-controls .checkbox{min-height:44px;font-size:14px}
  .top-visuals .comparison-controls input{width:20px;height:20px}
  .swing-top #swingAmount{width:70px;min-height:44px;font-size:14px}
  .swing-track button,#swingReset{min-height:44px;padding:8px;font-size:13px}
  .swing-track #swingSlider{height:44px}
  .seat-card svg{height:150px}.county-inset svg{max-height:125px}
  .map-details>summary{min-height:44px}
  #manualToolbar{max-height:45dvh;overflow:auto;top:64px}
}
@media(max-width:850px) and (max-height:500px){
  .paper-heading,.map-document.sidebar-collapsed .paper-heading{top:12px;right:150px;padding:0}
  .paper-heading h1{font-size:20px}.paper-heading h2{font-size:13px}.paper-heading>p{display:none}
  .map-zoom{bottom:60px;display:flex}.map-zoom button{border-bottom:0;border-right:1px solid var(--line)}
  .map-zoom button:last-child{border-right:0}
  .legend{bottom:6px}.legend-title{font-size:9px}
}
#senateGroupBorders{fill:none;pointer-events:none}
#senateGroupBorders path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
#senateGroupBorders .senate-group-halo{stroke:#fff;stroke-width:5.2;opacity:.92}
#senateGroupBorders .senate-group-outline{stroke:#172f46;stroke-width:2.8}
.senate-group-toggle{margin-top:14px!important;align-items:center;min-height:36px}
#senateGroupOverlayNote{margin-top:4px;line-height:1.45}
#previewSenateGroups{margin-top:14px}
.senate-allowed-settings{margin-top:15px;border:1px solid #d4deea;border-radius:9px;background:#f8fafc;padding:13px}
.senate-allowed-settings summary{cursor:pointer;font-size:12px;font-weight:650;line-height:1.5}
.senate-allowed-settings summary>span{float:right;color:#63758b;font-size:11px;margin-left:12px}
.senate-allowed-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:13px}
.senate-allowed-choices .checkbox{margin:0!important;min-height:40px;border-radius:6px;padding:5px;background:#fff;align-items:center;gap:8px;font-size:11px}
.senate-allowed-choices input{flex:none}
.senate-allowed-choices small{font-size:9px;color:#63758b;line-height:1.4}
#senateAllowedStatus{min-height:32px}
.senate-preview-active #generate,.senate-preview-active #mapPanelToggle,.senate-preview-active .app-status{display:none!important}
.senate-preview-page{max-width:1420px;margin:0 auto;padding:24px 28px 48px}
.senate-preview-heading{text-align:center;margin:4px 0 20px}
.senate-preview-heading h1{font-family:Georgia,serif;font-size:32px;color:#1f324b;margin:7px 0}
.senate-preview-heading>p:last-child{font-size:12px;color:#63758b}
.senate-preview-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:760px;margin:auto}
.senate-preview-toolbar .primary,.senate-preview-toolbar .secondary{width:auto;margin:0;min-height:43px;justify-content:center;padding:9px 24px;font-size:13px}
.senate-preview-toolbar select{min-height:43px;font-size:13px;background:#fff}
.senate-preview-status{font-size:12px;color:#536c84;text-align:center;min-height:25px;margin:10px auto 18px;max-width:800px}
.senate-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:18px;align-items:start}
.senate-preview-map-panel{background:#fff;border:1px solid #d4deea;border-radius:12px;padding:14px}
.senate-preview-map-shell{position:relative;overflow:hidden;border-radius:8px;min-height:260px;display:flex;align-items:center;background:#fff}
#senatePreviewMap{display:block;width:100%;height:auto;min-height:260px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
#senatePreviewMap:active{cursor:grabbing}
#senatePreviewGroupPaths path{stroke:#fff;stroke-width:1.15;vector-effect:non-scaling-stroke;cursor:pointer;outline:none}
#senatePreviewGroupPaths path.selected,#senatePreviewGroupPaths path:focus-visible{stroke:#143652;stroke-width:3.1}
.senate-preview-zoom{position:absolute;right:8px;bottom:8px;display:flex;background:#fff;border:1px solid #ccd8e6;border-radius:8px;box-shadow:0 2px 10px #243e5b12;overflow:hidden}
.senate-preview-zoom button{min-width:40px;min-height:38px;border-radius:0;font-size:14px}
.senate-preview-zoom button+button{border-left:1px solid #dbe3ec}
.senate-preview-legend{max-width:600px;margin:14px auto 6px}
.senate-preview-legend>p{text-align:center;font-size:11px;color:#586e86;margin-bottom:6px}
.senate-preview-color-bar{display:flex;height:15px;overflow:hidden;border-radius:3px}
.senate-preview-color-bar span{flex:1;border-right:1px solid #ffffff80}
.senate-preview-color-labels{display:flex;justify-content:space-between;font-size:10px;color:#63758b;margin-top:5px}
.senate-preview-info{background:#fff;border:1px solid #d4deea;border-radius:12px;padding:19px}
.senate-preview-info h2{font-size:18px;line-height:1.35;margin:0 0 11px}
.senate-preview-info h3{font-size:12px;margin:15px 0 5px}
.senate-preview-info p{font-size:12px;color:#4c627b;line-height:1.6}
.senate-preview-info dl{margin:16px 0 0}
.senate-preview-info dl>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e4eaf1;padding:10px 0}
.senate-preview-info dt{font-size:11px;line-height:1.4;color:#64758a}
.senate-preview-info dd{font-size:16px;font-weight:650;text-align:right;margin:0}
.senate-preview-info dd small{font-size:11px;color:#64758a;font-weight:450}
.senate-preview-info .senate-preview-margin{padding:8px 12px;border-radius:7px;text-align:center;font-weight:700;font-size:15px}
.senate-preview-page>.senate-allowed-settings{margin-top:20px}
.senate-preview-page .senate-allowed-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.senate-preview-group-list{background:#fff;border:1px solid #d4deea;border-radius:10px;padding:15px;margin-top:16px}
.senate-preview-group-list summary{cursor:pointer;font-size:13px;font-weight:650}
#senatePreviewGroupList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin-top:15px}
#senatePreviewGroupList button{display:grid;grid-template-columns:minmax(0,1fr) 45px 62px;gap:9px;text-align:left;align-items:center;padding:10px;border:1px solid #e0e7ef;border-radius:6px;min-height:45px;font-size:11px}
#senatePreviewGroupList button[aria-pressed=true]{border-color:#1b567e;background:#edf5fc}
#senatePreviewGroupList strong,#senatePreviewGroupList button>span:last-child{white-space:nowrap;text-align:right}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The interactive document and downloads share one SVG composition. */
.viewer-toolbar{position:absolute;inset:8px 155px auto 10px;z-index:4;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fffffff2;border:1px solid #d6e1eb;border-radius:8px;padding:7px;width:fit-content;max-width:calc(100% - 165px)}
.viewer-toolbar select{width:auto;max-width:100%;flex:0 1 auto}.viewer-toolbar button{white-space:nowrap}.poster-mode .poster-viewport{top:66px}.poster-mode .map-sidebar-heading button{display:none!important}
@media(min-width:900px){.poster-mode .map-document:not(.sidebar-collapsed) .poster-viewport{right:340px}.poster-mode .map-document:not(.sidebar-collapsed) .viewer-toolbar{max-width:calc(100% - 360px);right:350px}}
.viewer-toolbar button,.viewer-toolbar select{min-height:35px;font-size:11px;padding:6px 9px}.viewer-zoom{display:flex;gap:4px}.poster-viewport{position:absolute;inset:0;z-index:1;background:#fff}.poster-viewport[hidden]{display:none}#posterMount{width:100%;height:100%;min-height:300px}.district-poster-viewport{outline:none}.district-poster-viewport:focus-visible{outline:3px solid #356a94;outline-offset:-3px}
.poster-mode .map-document{display:block}.poster-mode .paper-heading,.poster-mode .map-shell,.poster-mode #legend,.poster-mode .paper-note{position:absolute!important;left:-12000px!important;right:auto!important;top:0!important;width:1000px!important;height:600px!important;pointer-events:none!important}.poster-mode .paper-heading{height:110px!important}.poster-mode .map-document .top-visuals{position:absolute;z-index:6;inset:0 0 0 auto;width:min(340px,92%);height:100%;background:white;overflow:auto;padding:14px 16px;border-left:1px solid #cbd6e2;box-shadow:-5px 0 24px #17305220}.poster-mode .sidebar-collapsed .top-visuals{display:none}.poster-mode .map-panel-toggle{z-index:7;top:10px;right:10px}.poster-mode .map-sidebar-heading{display:flex}.poster-mode .map-sidebar-heading button{display:block}
#designer:not(.poster-mode) .paper-heading{top:65px}#designer:not(.poster-mode) .map-shell{padding-top:50px}
.poster-selection{position:absolute;z-index:5;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:center;padding:10px 14px;border:1px solid #c0cfdd;border-radius:10px;background:#fffffff5;box-shadow:0 4px 18px #17305226;max-width:calc(100% - 20px);width:max-content;font-size:12px}.poster-selection[hidden]{display:none}.poster-selection button{min-height:36px;font-size:12px}.poster-selection span{color:#425f7a}
.border-options{display:flex;gap:6px 20px;flex-wrap:wrap;padding:12px 0}.border-options>span{width:100%;font-size:12px;font-weight:650}.border-options .checkbox{min-height:38px;margin:0}.district-drill-actions{display:flex;gap:6px;margin-top:14px}.district-drill-actions button{font-size:11px;min-height:38px}.district-margin-cell{font-weight:650;white-space:nowrap}.district-margins-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}.district-margins-grid button{display:flex;flex-direction:column;gap:7px;border:1px solid #d6e0e9;border-left:5px solid var(--district-color);padding:12px;background:#fff;text-align:left;min-height:92px}.district-margins-grid strong{font-size:20px;color:var(--district-color);filter:brightness(.7)}.district-margins-grid small{font-size:10px;color:#5c7187}
.district-explore-panel{width:min(1100px,96vw);max-height:94dvh}.explore-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.explore-toolbar>div{display:flex;gap:5px}.explore-toolbar button{min-height:40px}.explore-toolbar button[aria-pressed=true]{background:#1d5076;color:#fff}.explore-toolbar>span{font-size:20px;font-weight:700}.explore-map-wrap{height:clamp(260px,48vh,560px);margin:12px 0;background:#f5f8fb;border:1px solid #dbe3ed;border-radius:9px}#districtExploreMap{width:100%;height:100%;touch-action:none}#districtExploreMap [role=button]{cursor:pointer}#districtExploreMap [role=button]:focus-visible,#districtExploreMap .explore-selected{stroke:#f6ba45;stroke-width:3px;outline:none}#exploreSelection{min-height:35px;font-size:12px;color:#345570}.explore-table{max-height:270px;overflow:auto}.explore-table table{width:100%;border-collapse:collapse;font-size:12px}.explore-table th,.explore-table td{padding:9px;text-align:left;border-bottom:1px solid #dbe4ed}.explore-table th button{padding:0;text-align:left;border:0;min-height:32px;font-size:12px;background:none;color:#214e72}.explore-table thead{position:sticky;top:0;background:#fff;z-index:1}
@media(max-width:700px){.viewer-toolbar{left:6px;right:110px;max-width:calc(100% - 118px);padding:5px;gap:4px}.viewer-toolbar button,.viewer-toolbar select{font-size:10px;min-height:33px;padding:5px 7px}.viewer-toolbar .viewer-zoom{width:100%}.viewer-toolbar #loadCurrentPlan{display:none}.poster-selection{bottom:10px;gap:6px;padding:9px;font-size:11px}.poster-selection button{font-size:11px}.district-margins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district-explore-panel{width:98vw;padding:14px}.explore-toolbar>span{font-size:17px}.explore-map-wrap{height:39vh}.explore-table th,.explore-table td{padding:7px;font-size:11px}.explore-table th button{font-size:11px}}
@media(max-width:700px){.viewer-toolbar{right:6px;max-width:calc(100% - 12px);width:calc(100% - 12px);padding-right:5px}.viewer-toolbar #viewerChamber{flex-basis:calc(100% - 105px);max-width:calc(100% - 105px);margin-right:105px}.viewer-toolbar .viewer-zoom{width:auto;margin-left:auto}.poster-mode .poster-viewport{top:94px}.poster-mode .map-panel-toggle{top:14px;right:10px;min-height:35px}.district-explore-panel .panel-heading{margin:-14px -14px 12px}.district-explore-panel .explore-toolbar{gap:8px}.district-explore-panel .explore-map-wrap{min-height:230px;overflow:hidden}.district-explore-panel .explore-table{overflow:auto;max-height:240px}.district-explore-panel .explore-table td{white-space:nowrap}.district-explore-panel .explore-table th{min-width:0}.district-explore-panel .explore-table th:first-child{min-width:110px}}
@media(max-width:760px){.senate-preview-page{padding:16px 12px 35px}.senate-preview-heading{margin-bottom:15px}.senate-preview-heading h1{font-size:26px}.senate-preview-heading>p:last-child{font-size:11px}.senate-preview-toolbar{gap:7px}.senate-preview-toolbar .primary,.senate-preview-toolbar .secondary{padding:8px 13px;font-size:12px}.senate-preview-toolbar select{font-size:11px;padding:9px 6px}.senate-preview-status{font-size:11px;margin:10px 4px 14px}.senate-preview-layout{grid-template-columns:1fr;gap:12px}.senate-preview-map-panel{padding:9px}.senate-preview-map-shell,#senatePreviewMap{min-height:275px}.senate-preview-info{padding:16px}.senate-preview-info dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.senate-preview-info dl>div{align-items:flex-start}.senate-preview-page .senate-allowed-choices{grid-template-columns:repeat(2,minmax(0,1fr))}#senatePreviewGroupList{grid-template-columns:1fr}.senate-preview-map-panel>.micro{font-size:10px}.senate-allowed-settings summary>span{float:none;margin-left:8px}}

/* Full-width map workspace with one shared, compact comparison toolbar. */
#designer .map-document{display:block;--sidebar-width:0px}
#designer .viewer-toolbar{inset:0 0 auto;display:grid;gap:4px;width:100%;max-width:none;padding:6px 10px;background:#fff;border:0;border-bottom:1px solid #d6e1eb;border-radius:0;box-shadow:0 2px 7px #17305209}
.viewer-select-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;width:100%}
#designer .viewer-select-row select{min-width:0;width:100%;max-width:100%;margin:0;flex:auto;font-size:12px;min-height:32px;padding:4px 8px;text-overflow:ellipsis}
.viewer-control-row{display:flex;align-items:center;gap:10px;min-width:0}
.viewer-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
#designer .viewer-actions button{min-height:32px;font-size:12px;padding:4px 8px}
.viewer-tossups.checkbox{display:flex;align-items:center;gap:7px;white-space:nowrap;margin:0 0 0 5px;font-size:12px;min-height:32px}
.viewer-tossups input{width:16px;height:16px;accent-color:#235e91;margin:0}
.viewer-swing{display:flex;align-items:center;gap:7px;flex:1;min-width:260px;margin-left:auto;max-width:650px}
.viewer-swing>label{font-size:11px;white-space:nowrap;min-width:0;margin:0}
.swing-value{display:flex;align-items:center;gap:2px;border:1px solid #c3d0dd;border-radius:5px;padding-right:7px;flex-shrink:0;color:#5a6d80;background:#fff}
#designer .swing-value input{width:54px;min-width:0;height:30px;min-height:30px;padding:4px;border:0;background:transparent;border-radius:5px;font-size:12px;text-align:center;appearance:textfield;-moz-appearance:textfield}
.swing-value input::-webkit-outer-spin-button,.swing-value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.swing-value span{font-size:11px}
#designer .viewer-swing button{font-size:12px;font-weight:600;padding:4px;min-height:32px;min-width:30px}
.viewer-swing #swingLeft{color:#8c3542}.viewer-swing #swingRight{color:#285a92}
#designer .viewer-swing #swingSlider{flex:1;width:100%;min-width:40px;height:30px;min-height:30px;margin:0;padding:0;accent-color:#396f9c}
#designer .viewer-home{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:5px;margin-left:auto;border:1px solid #d6e1eb;border-radius:6px;color:#254e75;flex-shrink:0}
#designer .poster-viewport{top:var(--viewer-toolbar-height,102px);right:0}
#designer:not(.poster-mode) .map-shell{position:absolute;inset:var(--viewer-toolbar-height,102px) 0 0;height:auto;width:100%;margin:0;padding:0}
#designer:not(.poster-mode) .paper-heading{top:calc(var(--viewer-toolbar-height,102px) + 12px);left:12px;right:12px;width:auto}
#designer .legend{right:18px;left:18px;width:auto}
#designer .map-zoom[hidden],#retiredMapControls{display:none!important}
#mapExportSources{position:absolute;left:-12000px;top:0;width:1000px;height:650px;pointer-events:none;overflow:visible}
#mapExportSources .seat-card{width:360px;height:210px}#mapExportSources #seatDiagram{width:360px;height:210px}
#mapExportSources .county-inset{width:1000px;height:420px}#mapExportSources #countyInset{width:1000px;height:420px}
#mapExportSources #seatLegend,#mapExportSources h3{display:none}
#resultsPanel>.gallagher-card{display:block;width:calc(100% - 40px);margin:14px 20px;padding:12px 14px;background:#f4f7fb;border:1px solid #d7e1ec;border-radius:8px}
@media(max-width:850px){
 #designer .viewer-toolbar{padding:4px 7px;gap:2px}
 #designer .viewer-select-row{gap:7px}
 #designer .viewer-select-row select{font-size:12px;min-height:32px;padding:4px 6px}
 .viewer-control-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:2px 6px}
 .viewer-actions{grid-column:1;grid-row:1;gap:3px}
 #designer .viewer-actions button{font-size:11px;padding:4px 6px;min-height:32px}
 .viewer-tossups.checkbox{font-size:11px;gap:5px;margin-left:auto}
 #designer .viewer-home{grid-column:2;grid-row:1;margin:0;width:32px}
 .viewer-swing{grid-column:1/-1;grid-row:2;max-width:none;min-width:0;width:100%;margin:0;gap:6px}
 .viewer-swing>label{font-size:11px}
 #designer .swing-value input{width:42px;font-size:12px;height:30px;min-height:30px}
 #designer .viewer-swing button{font-size:11px;min-width:27px;padding:4px}
 #designer .viewer-swing #swingSlider{min-width:30px}
 #designer:not(.poster-mode) .paper-heading{top:calc(var(--viewer-toolbar-height,140px) + 9px)}
 #designer .legend{left:10px;right:10px}
}
@media(max-width:360px){#designer .viewer-toolbar{padding:4px 6px}.viewer-actions{gap:0}#designer .viewer-actions button{padding:4px 6px;font-size:11px}.viewer-tossups.checkbox{font-size:11px;margin-left:auto}.viewer-swing{gap:4px}.viewer-swing>label{font-size:11px}.swing-value{padding-right:4px}}

#designer .paper-note{display:none}

/* Nested choices stay in the main map selector; details belong to Data. */
#nestedMapControls,#nestedLevelWrap{display:none!important}
.nested-plan-details{margin:14px 20px;padding:13px 14px;border:1px solid #d7e1ec;border-radius:8px;background:#f8fafc}
.nested-plan-details[hidden]{display:none}.nested-plan-details h3{font-size:13px;margin:0 0 7px}.nested-plan-details #nestedPopulationSummary{margin:0;font-size:12px;line-height:1.6}.nested-plan-details #nestedLineKey{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;margin:10px 0 0}.nested-plan-details #nestedLineKey[hidden]{display:none}.nested-plan-details #nestedLineKey small{width:100%;text-align:left}
@media(max-width:700px){.nested-plan-details{margin:12px;padding:11px}.nested-plan-details #nestedPopulationSummary{font-size:11px}}
#planPanel>.panel-heading{position:sticky;top:0;z-index:5;gap:8px;background:#f6f9fc}
#planPanel>.panel-heading h2{flex:1;min-width:0}
#planPanel>.panel-heading #runFromPanel{width:auto;margin:0;min-height:34px;padding:7px 12px;flex-shrink:0;white-space:nowrap;font-size:12px;border-radius:5px}
#planPanel>.panel-heading .close-panel{flex-shrink:0}
@media(max-width:400px){#planPanel>.panel-heading{padding:12px;gap:6px}#planPanel>.panel-heading h2{font-size:16px}#planPanel>.panel-heading #runFromPanel{padding:7px 9px;font-size:11px}}

/* District detail maps share compact controls, with exports for the active view. */
dialog.district-explore-panel{width:min(1100px,96vw);max-width:1100px;max-height:94dvh;padding:0;overflow:auto}
.district-explore-panel>.explore-heading{position:sticky;top:0;z-index:5;gap:9px;margin:0;background:#f6f9fc}
.explore-heading h2{flex:1;min-width:0;font-size:18px;line-height:1.3}.explore-heading .close-panel{flex-shrink:0}
.district-explore-panel>.explore-toolbar{display:flex;align-items:flex-start;gap:8px;padding:10px 16px 4px;margin:0}
.explore-mode-controls{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:4px}.explore-zoom-controls{display:flex;flex-shrink:0;gap:4px}
.district-explore-panel .explore-toolbar button{min-height:36px;padding:6px 10px;font-size:12px;white-space:nowrap}
.explore-summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 16px 6px;flex-wrap:wrap}.explore-summary strong{font-size:20px;color:#173b61}.explore-summary span{font-size:12px;color:#60758a}
.district-explore-panel>#exploreContext{margin:0;padding:0 16px 8px;font-size:11px;line-height:1.5}
.district-explore-panel>.explore-map-wrap{height:clamp(260px,46vh,520px);min-height:260px;margin:0 16px 9px;overflow:hidden}
.explore-export-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px}.explore-export-controls>div{display:flex;gap:5px}.explore-export-controls button{min-height:34px;font-size:12px;padding:6px 13px;border:1px solid #c8d6e4;border-radius:5px;color:#1c5178;background:#fff}.explore-export-controls .checkbox{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;min-height:34px;font-weight:400}.explore-export-controls .checkbox input{width:16px;height:16px;margin:0;accent-color:#255c87}
.district-explore-panel>#exploreExportStatus{padding:0 16px;margin:5px 0 0;min-height:0;font-size:11px}.district-explore-panel>#exploreExportStatus:empty{display:none}
.district-explore-panel>#exploreSelection{padding:10px 16px;margin:0;min-height:40px;font-size:12px;line-height:1.6}
.district-explore-panel>.explore-table{margin:0 16px 12px;max-height:300px;overflow:auto;border:1px solid #dbe4ed;border-radius:6px}
.explore-table table{table-layout:fixed;font-variant-numeric:tabular-nums}.explore-table td{white-space:nowrap}.explore-table th:first-child{width:40%}.explore-table table[data-has-population=true] th:first-child{width:34%}.explore-table table[data-has-population=true] th:nth-child(2){width:19%}.explore-table table[data-has-population=true] th:nth-child(3),.explore-table table[data-has-population=true] th:nth-child(4){width:14%}.explore-table table[data-has-population=true] th:nth-child(5){width:19%}
.explore-table th button[data-explore-row]{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.explore-table .explore-selected-row{background:#e6f1fb}.explore-table .explore-selected-row th{box-shadow:inset 3px 0 #2d6d9f}.explore-table tr:focus-within{outline:2px solid #2d6d9f;outline-offset:-2px}
.district-explore-panel>.explore-footnote{padding:0 16px 14px;margin:0;font-size:10px}
.district-drill-actions{flex-wrap:wrap}.poster-selection{max-height:35vh;overflow:auto}
@media(max-width:700px){
 dialog.district-explore-panel{width:98vw;max-height:94dvh;padding:0}
 .district-explore-panel>.explore-heading{padding:12px;gap:6px;margin:0}.explore-heading h2{font-size:15px}
 .district-explore-panel>.explore-toolbar{padding:8px 10px 3px;gap:5px}.district-explore-panel .explore-toolbar button{font-size:11px;min-height:34px;padding:5px 7px}.explore-mode-controls{gap:3px}.explore-zoom-controls{gap:1px}
 .explore-summary{padding:3px 10px 6px}.explore-summary strong{font-size:17px}.explore-summary span{font-size:11px}
 .district-explore-panel>#exploreContext{padding:0 10px 7px;font-size:10px}
 .district-explore-panel>.explore-map-wrap{height:36vh;min-height:215px;margin:0 10px 7px}
 .explore-export-controls{padding:0 10px;gap:5px}.explore-export-controls button{font-size:11px;min-height:32px;padding:5px 10px}.explore-export-controls .checkbox{font-size:11px;gap:5px}
 .district-explore-panel>#exploreExportStatus{padding:0 10px;font-size:10px}.district-explore-panel>#exploreSelection{padding:8px 10px;font-size:11px}
 .district-explore-panel>.explore-table{margin:0 10px 10px;max-height:240px}.district-explore-panel .explore-table th,.district-explore-panel .explore-table td{padding:5px;font-size:11px}.district-explore-panel .explore-table th:first-child{min-width:0}.explore-table th button[data-explore-row]{font-size:11px}
 .district-explore-panel>.explore-footnote{padding:0 10px 10px;font-size:10px}
}
#exploreBack{min-height:32px;padding:5px 8px;font-size:12px;white-space:nowrap;border:1px solid #ccdae7;border-radius:5px;color:#23577c}#exploreBack[hidden]{display:none}#exploreOpenDistrict{display:inline-block;min-height:32px;padding:5px 9px;margin-left:5px;font-size:11px;border:1px solid #c7d8e7;border-radius:5px;background:#eef5fb;color:#23577c;vertical-align:middle}
@media(max-width:700px){#exploreBack{font-size:11px;padding:5px 6px}}
#planPanel #aggressiveNote:not([hidden]){display:block;margin:7px 0 12px;line-height:1.4}
