:root{color-scheme:light;--bg:#f2f4f7;--surface:#fff;--line:#d2d9e1;--text:#20242e;--muted:#566173;--accent:#1455b5;--dem:#215fca;--rep:#ce3448;--org:#aa7d16}
body{background:var(--bg)}a:hover{color:#123b7b}.site-header{background:#1b1e29;border:0;max-width:none;padding-left:max(24px,calc((100% - 1156px)/2));padding-right:max(24px,calc((100% - 1156px)/2))}.site-header nav{flex-wrap:wrap}.site-header nav a{color:#f0f3fa}.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}input,select,button{font:inherit;letter-spacing:0}input,select{background:#fff;color:var(--text);border:1px solid #8b98ab;border-radius:4px;padding:10px 12px;min-width:0;max-width:100%}button,.guide-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#1e55af;color:#fff;border:1px solid #1e55af;border-radius:4px;padding:10px 16px;text-decoration:none;font-weight:600;font-size:14px}button:hover,.guide-button:hover{color:#fff;background:#153f85}.guide-button.secondary,button.secondary{color:#234c85;background:#fff;border-color:#9aaac1}.guide-button.secondary:hover,button.secondary:hover{background:#e8eef8}button:disabled{cursor:default;opacity:.5}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.guide-heading .deck{max-width:720px}.guide-heading h1{font-size:34px}.guide-actions{display:flex;gap:12px;flex-wrap:wrap}.guide-note{border-left:3px solid #bd8f23;padding:10px 16px;margin:0 0 24px;color:#495465;font-size:13px;max-width:950px}.guide-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(140px,1fr));gap:16px;padding:22px 0;border-block:1px solid var(--line)}.guide-filters label,.manual-fields label,.lookup-form label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px}.guide-filter-extra{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}.guide-filter-extra label{flex-direction:row;align-items:center;font-weight:400}.guide-filter-extra input{width:18px;height:18px}.guide-filter-extra button{padding:4px 8px;font-weight:400;font-size:13px}.guide-result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 18px;font-size:13px;color:var(--muted)}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px}.guide-race-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #c7d0dc;border-radius:6px;color:var(--text);text-decoration:none;overflow:hidden;box-shadow:0 2px 3px #17294608}.guide-race-card:hover{color:var(--text);border-color:#245eb5;box-shadow:0 3px 12px #17294618}.guide-card-title{display:flex;justify-content:space-between;gap:12px;padding:18px 18px 0}.guide-card-title h3{font-size:18px;overflow-wrap:anywhere}.guide-card-title i{color:#265eae}.guide-card-context{font-size:12px;color:var(--muted);padding:4px 18px 16px;text-transform:capitalize}.guide-contenders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1}.guide-contenders:has(>.guide-contender:only-child){grid-template-columns:1fr}.guide-contender{background:#edf3ff;border-top:3px solid var(--dem);min-width:0;padding:18px 14px;display:flex;flex-direction:column;align-items:center;text-align:center}.guide-contender.r{background:#fff0f1;border-color:var(--rep)}.guide-contender:is(.i,.n,.l,.o){background:#f1f5f0;border-color:#518366}.guide-contender img,.guide-portrait{width:72px;height:86px;object-fit:cover;object-position:center 25%;border-radius:3px;margin-bottom:12px}.guide-portrait{display:flex;align-items:center;justify-content:center;font-size:42px;background:#dae2ed;color:#6a7a90}.guide-contender small{font-size:11px;color:#515e71}.guide-contender h4{font-size:15px;line-height:1.4;margin:4px 0 12px;overflow-wrap:anywhere}.guide-contender strong{font-size:20px;line-height:1.3;color:var(--dem);margin-top:auto;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.guide-contender.r strong{color:var(--rep)}.guide-contender:is(.i,.n,.l,.o) strong{color:#326044}.guide-card-footer{padding:12px 16px;font-size:11px;border-top:1px solid var(--line);color:var(--muted)}.many-candidates{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-pagination{display:flex;justify-content:center;align-items:center;gap:18px;padding:6px 0 30px;font-size:13px}.guide-sources{padding:24px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted);margin:20px 0}.guide-sources summary{cursor:pointer;font-weight:600;color:var(--text)}.guide-sources p,.guide-sources ul{margin-top:14px}.guide-sources li{padding:4px 0}.lookup-form{max-width:840px;padding:0 0 26px;border-bottom:1px solid var(--line)}.lookup-entry{display:flex;gap:10px;margin-top:8px}.lookup-entry input{flex:1;width:100%}.lookup-privacy{margin:10px 0 18px;font-size:12px;color:var(--muted)}.lookup-manual{max-width:840px;padding:22px 0;border-bottom:1px solid var(--line)}.lookup-manual summary{cursor:pointer;font-weight:600;font-size:14px}.manual-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.lookup-error{max-width:840px;border-left:3px solid var(--rep);padding:12px 16px;margin:16px 0;color:#8b2634;background:#fff0f1;font-size:14px}.lookup-confirmation{margin-top:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.lookup-confirmation button{text-align:left;font-weight:400}.ballot-summary{padding:26px 0 20px;margin-top:20px;border-top:3px solid #20242e}.district-summary{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);font-size:13px;margin:12px 0}.district-summary strong{color:var(--text)}.ballot-group{padding:22px 0;border-top:1px solid var(--line)}.ballot-group h3{margin-bottom:18px;font-size:21px}.ballot-local{border-top:1px solid var(--line);padding:24px 0;margin-bottom:24px}.ballot-local>summary{font-weight:600;cursor:pointer}.ballot-local>p{font-size:13px;color:var(--muted);max-width:900px;margin:14px 0 20px}.ballot-local details{padding:12px 0;border-top:1px solid var(--line)}.local-race-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;padding:0;font-size:13px}.local-race-list li{padding:12px 0;border-bottom:1px solid var(--line)}.local-race-list small{display:block;color:var(--muted)}.guide-empty{padding:40px 0}.guide-empty h2{margin-bottom:12px}.guide-status{padding:20px 0;color:var(--muted)}.lookup-form .guide-actions{align-items:center}.lookup-loading{font-size:13px;color:var(--muted)}.directory-links{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}.directory-links a{font-size:13px}.guide-race-card:focus-visible{outline-offset:3px}
@media(max-width:950px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-filters>label:first-child{grid-column:1/-1}.guide-heading{align-items:flex-start;flex-direction:column}.manual-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.guide-grid{grid-template-columns:1fr;gap:18px}.guide-heading h1{font-size:29px}.guide-filters{gap:12px}.guide-filter-extra{align-items:flex-start}.lookup-entry{flex-wrap:wrap}.lookup-entry input{flex-basis:100%}.site-header nav{gap:18px}.site-header{padding-left:18px;padding-right:18px}.guide-card-title h3{font-size:19px}.guide-contender h4{font-size:17px}.guide-contender strong{font-size:23px}.guide-contender img,.guide-portrait{width:86px;height:102px}.guide-heading .guide-actions{width:100%}.guide-result-heading{align-items:flex-start;flex-direction:column;gap:4px}.local-race-list{grid-template-columns:1fr}.manual-fields{gap:12px}.guide-pagination{gap:12px}.guide-pagination button{padding:10px 12px}}
.guide-filter-extra button{flex-shrink:0;white-space:nowrap}.guide-filter-extra label{min-width:0}
.guide-filters{grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(130px,1fr))}.guide-coverage{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 20px}.guide-coverage strong{color:var(--text);display:block}.guide-coverage span{display:block}
@media(max-width:950px){.guide-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-filters>label:last-of-type{grid-column:1/-1}}
.guide-write-ins{position:relative;z-index:2;padding:12px 16px;border-top:1px solid #d5dce4;font-size:13px}
.guide-write-ins summary{cursor:pointer;color:#284d91;font-weight:600}
.provisional-matchup{min-width:0}.boundary-warning{border-left:4px solid #a77408;background:#fff7df;color:#493b1e;padding:14px 16px;margin-bottom:10px;font-size:13px;line-height:1.6}.boundary-warning h4{font-size:15px;margin:0 0 6px}.boundary-warning p{margin:0 0 8px}.boundary-warning a{position:relative;z-index:2;display:inline-block;margin-right:12px;overflow-wrap:anywhere}
.guide-write-ins ul{padding:0;list-style:none;display:grid;gap:8px;overflow-wrap:anywhere}
.guide-card-coverage{display:block;margin-top:5px;color:#445a66}.local-map-note{font-size:11px;line-height:1.5;color:var(--muted)}.manual-fields .local-map-note a{position:relative;z-index:1}
