@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&family=Public+Sans:wght@400;500;600;700&display=swap";:root{--ink:#1d2430;--paper:#fbfaf7;--sand:#f2eee6;--border:#e2dcd0;--muted:#5b6370;--accent:#7a4f00;--accent-dark:#5c3b00;--gold:#e9c46a;--white:#fff;--font-display:"Source Serif 4", Georgia, serif;--font-body:"Public Sans", "Helvetica Neue", Arial, sans-serif;--nav-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 16px)}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:17px;font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}.container{max-width:1160px;margin:0 auto;padding:0 24px}@media (width<=480px){.container{padding:0 16px}}.section{padding:56px 0}.section--sand{background:var(--sand)}.btn{font-family:var(--font-body);cursor:pointer;border:2px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex}.btn--primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.btn--primary:hover{background:#000}.btn--outline{color:var(--ink);border-color:var(--ink);background:0 0}.btn--outline:hover{background:var(--sand)}.page-hero{background:var(--ink);color:var(--white);padding:56px 0 48px}.page-hero h1{margin-bottom:12px;font-size:clamp(2rem,4vw,2.75rem)}.page-hero p{color:#fffc;max-width:720px;font-size:18px}.page-hero__kicker{letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--gold)!important}.breadcrumbs{color:#ffffffb3;margin-bottom:14px;font-size:14px}.breadcrumbs a{color:var(--white);text-decoration:underline}.loading{text-align:center;color:var(--muted);padding:80px 0;font-style:italic}.empty-state{text-align:center;color:var(--muted);padding:80px 24px}.empty-state h3{color:var(--ink);margin-bottom:8px}.form-group{margin-bottom:18px}.form-group label{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.form-group input,.form-group select{width:100%;font-family:var(--font-body);background:var(--white);color:var(--ink);border:1.5px solid #c9c1b2;border-radius:4px;padding:11px 12px;font-size:16px}.form-group input:focus,.form-group select:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--white);border:2px solid var(--ink);padding:8px 16px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.prose p+p,.prose p+ul,.prose ul+p{margin-top:14px}.prose ul{padding-left:22px}.prose li+li{margin-top:6px}.prose a{color:var(--accent);text-decoration:underline}.prose h2{margin:40px 0 14px;font-size:1.6rem}.prose h3{margin:28px 0 10px;font-size:1.2rem}.prose dl dt{margin-top:14px;font-weight:700}.navbar{z-index:100;background:var(--paper);border-bottom:1px solid var(--border);height:var(--nav-height);position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__logo{align-items:center;gap:12px;text-decoration:none;display:flex}.navbar__mark{background:var(--ink);width:36px;height:36px;color:var(--gold);font-family:var(--font-display);letter-spacing:.02em;border-radius:6px;place-items:center;font-size:15px;font-weight:700;display:inline-grid}.navbar__title{font-family:var(--font-display);color:var(--ink);flex-direction:column;font-size:17px;font-weight:600;line-height:1.15;display:flex}.navbar__sub{font-family:var(--font-body);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:11px;font-weight:600}.navbar__links{align-items:center;gap:4px;display:flex}.navbar__link{color:var(--ink);border-radius:4px;padding:8px 14px;font-size:15px;font-weight:500;transition:color .15s,background .15s}.navbar__link:hover{background:var(--sand)}.navbar__link--active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}.navbar__cta{margin-left:12px;padding:8px 18px;font-size:14px}.navbar__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:10px;display:none}.navbar__hamburger span{background:var(--ink);width:22px;height:2px;display:block}@media (width<=860px){.navbar__hamburger{display:flex}.navbar__links{top:var(--nav-height);background:var(--paper);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px 20px;display:none;position:absolute;left:0;right:0}.navbar__links--open{display:flex}.navbar__link{padding:12px 16px}.navbar__link--active{box-shadow:inset 3px 0 0 var(--accent)}.navbar__cta{justify-content:center;margin-top:8px;margin-left:0}}@media (width<=420px){.navbar__title{font-size:15px}}.footer{background:var(--ink);color:#ffffffc7;margin-top:72px;padding:48px 0;font-size:15px}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}.footer__about{max-width:520px}.footer__about p+p{margin-top:10px}.footer__title{font-family:var(--font-display);color:var(--white);font-size:19px}.footer__updated{color:#fff9;font-size:14px}.footer__links{flex-direction:column;gap:8px;display:flex}.footer__links a{color:var(--white)}.footer__links a:hover{color:var(--gold);text-decoration:underline}.dpicker__fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;display:grid}.dpicker__actions{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.dpicker__help{color:var(--accent);font-size:15px;text-decoration:underline}@media (width<=760px){.dpicker__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.csearch__results{border:1px solid var(--border);background:var(--white);border-radius:6px;margin-top:-8px;list-style:none}.csearch__results li+li{border-top:1px solid var(--border)}.csearch__result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.csearch__result:hover,.csearch__result:focus-visible{background:var(--sand)}.csearch__race{color:var(--muted);font-size:14px;display:block}.csearch__empty{color:var(--muted);margin-top:-8px;font-size:15px}.home-hero{background:var(--ink);color:var(--white);padding:64px 0 56px}.home-hero h1{max-width:820px;margin-bottom:18px;font-size:clamp(2.1rem,5vw,3.25rem)}.home-hero__lede{color:#ffffffd1;max-width:720px;font-size:19px}.home-find{padding-top:40px}.home-find__grid{grid-template-columns:3fr 2fr;align-items:start;gap:24px;display:grid}.home-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:28px}.home-card h2{margin-bottom:6px;font-size:1.5rem}.home-card__intro{color:var(--muted);margin-bottom:20px}.home-card .dpicker__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.home-h2{margin-bottom:8px;font-size:1.8rem}.home-sub{color:var(--muted);max-width:760px;margin-bottom:24px}.home-stats{grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;display:grid}.home-stat{background:var(--white);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.home-stat__num{font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1}.home-stat__desc{color:var(--muted);font-size:15px}.home-offices{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px;list-style:none;display:grid}.home-office{background:var(--white);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.home-office:hover{border-color:var(--ink);box-shadow:0 4px 16px #0000000f}.home-office__name{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.home-office__count{color:var(--muted);font-size:14px}.home-read ul{flex-direction:column;gap:10px;max-width:820px;margin:16px 0 24px;padding-left:22px;display:flex}@media (width<=900px){.home-find__grid,.home-stats{grid-template-columns:1fr}}@media (width<=480px){.home-card{padding:20px 16px}}.race-card{background:var(--white);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.race-card__head{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.race-card__title{font-size:1.2rem}.race-card__title a:hover{color:var(--accent);text-decoration:underline}.race-card__note{color:var(--muted);background:var(--sand);border-radius:3px;padding:2px 8px;font-size:13px}.race-card__candidates{flex-direction:column;list-style:none;display:flex}.race-card__candidate{border-top:1px solid var(--border);grid-template-columns:minmax(180px,1.2fr) minmax(150px,auto) 2fr;align-items:start;gap:6px 16px;padding:12px 0;display:grid}.race-card__who{flex-direction:column;display:flex}.race-card__name{font-weight:600}.race-card__name:hover{color:var(--accent);text-decoration:underline}.race-card__meta{color:var(--muted);font-size:14px}.race-card__more{color:var(--accent);align-self:flex-start;font-size:15px;font-weight:600}.race-card__more:hover{text-decoration:underline}@media (width<=760px){.race-card__candidate{grid-template-columns:1fr}}.races-filters{grid-template-columns:minmax(180px,1fr) minmax(200px,2fr);align-items:end;gap:0 16px;padding:28px 0 8px;display:grid}.races-filters__check{cursor:pointer;grid-column:1/-1;align-items:center;gap:10px;font-size:16px;display:flex}.races-filters__check input{width:18px;height:18px;accent-color:var(--ink)}.races-count{color:var(--muted);margin:16px 0 8px;font-size:15px}.races-group{margin-top:40px}.races-group h2{font-size:1.8rem}.races-group__intro{color:var(--muted);max-width:820px;margin:6px 0 20px}.races-group__list{flex-direction:column;gap:16px;display:flex}@media (width<=640px){.races-filters{grid-template-columns:1fr}}.cpanel{background:var(--white);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:18px;min-width:0;padding:24px;display:flex}.cpanel__head{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.cpanel__name{font-size:1.5rem}.cpanel__name a:hover{color:var(--accent);text-decoration:underline}.cpanel__meta{color:var(--muted);font-size:15px}.cpanel__section{border-top:1px solid var(--border);padding-top:16px}.cpanel__label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700}.cpanel__hint{color:var(--muted);margin:-4px 0 10px;font-size:14px}.cpanel__items{flex-direction:column;gap:10px;padding-left:20px;display:flex}.cpanel__items li::marker{color:var(--muted)}.cpanel__note{color:var(--muted);border-top:1px solid var(--border);padding-top:14px;font-size:15px;font-style:italic}.cpanel__section--funding{background:var(--sand);border-top:none;margin:0 -24px;padding:16px 24px}.race-page{padding-top:24px}.race-page__order{color:var(--muted);font-size:15px}.race-page__order a{color:var(--accent);text-decoration:underline}.race-page__h2{margin:36px 0 16px;font-size:1.6rem}.race-page__panels{align-items:start;gap:20px;display:grid}.race-page__panels--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=820px){.race-page__panels--2{grid-template-columns:1fr}}.compare{margin-top:28px}.compare h2{margin-bottom:14px;font-size:1.6rem}.compare__scroll{border:1px solid var(--border);background:var(--white);border-radius:8px;overflow-x:auto}.compare__table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}.compare__table th,.compare__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 16px}.compare__table tbody tr:last-child>*{border-bottom:none}.compare__table thead th{background:var(--sand);font-weight:700}.compare__table tbody th{width:32%;font-weight:600}.compare__table tbody th a{text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px}.compare__table tbody th a:hover{color:var(--accent);text-decoration-color:currentColor}.compare__year,.compare__detail{color:var(--muted);font-size:13px;font-weight:400;display:block}.compare__none{color:var(--muted)}.compare__legend{color:var(--muted);margin-top:8px;font-size:14px}@media (width<=640px){.compare__scroll{overflow-x:visible}.compare__table{min-width:0}.compare__table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.compare__table,.compare__table tbody,.compare__table tr,.compare__table th,.compare__table td{width:100%;display:block}.compare__table tbody tr{border-bottom:1px solid var(--border);padding:12px 16px}.compare__table tbody tr:last-child{border-bottom:none}.compare__table tbody th,.compare__table td{border-bottom:none;width:100%;padding:0}.compare__table tbody th{margin-bottom:8px}.compare__table td{border-top:1px dashed var(--border);grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px;padding:6px 0;display:grid}.compare__table td:before{content:attr(data-label);font-weight:600}.compare__table td .compare__detail{grid-column:2}}.candidate-page{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:24px;padding-top:32px;display:grid}.candidate-page__others{background:var(--sand);border-radius:8px;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;display:flex}.candidate-page__others h2{font-size:1.2rem}.candidate-page__others ul{flex-direction:column;gap:14px;width:100%;list-style:none;display:flex}.candidate-page__others li{flex-direction:column;gap:4px;display:flex}.candidate-page__others li a{font-weight:600;text-decoration:underline}.candidate-page__meta{color:var(--muted);font-size:14px}@media (width<=820px){.candidate-page{grid-template-columns:1fr}}.ballot{padding-top:28px}.ballot__picker{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:16px 22px}.ballot__picker summary{cursor:pointer;font-weight:600}.ballot__picker[open] summary{margin-bottom:16px}.ballot__group{margin-top:36px}.ballot__group h2{margin-bottom:14px;font-size:1.6rem}.ballot__list{flex-direction:column;gap:16px;display:flex}.ballot__more{color:var(--muted);margin-top:36px}.ballot__more a{color:var(--accent);text-decoration:underline}.bench{flex-direction:column;gap:24px;padding-top:28px;display:flex}.bench__item{background:var(--white);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:14px;padding:26px;display:flex}.bench__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600}.bench__item h2{font-size:1.6rem}.bench__full{font-style:italic}.bench__sponsors{color:var(--muted);font-size:15px}.bench__facts dt{margin-top:10px;font-size:15px;font-weight:700}.bench__facts dd{max-width:820px}.bench__source{color:var(--accent);font-weight:600;text-decoration:underline}.bench__who{border-top:1px solid var(--border);padding-top:14px}.bench__who summary{cursor:pointer;font-weight:600}.bench__group{margin-top:14px}.bench__group h3{font-family:var(--font-body);margin-bottom:6px;font-size:15px;font-weight:700}.bench__group ul{columns:2 320px;column-gap:32px;padding-left:20px;font-size:15px}.bench__group li{break-inside:avoid;margin-bottom:4px}.bench__group a{font-weight:600;text-decoration:underline}.bench__detail{color:var(--muted)}@media (width<=480px){.bench__item{padding:20px 16px}}.app{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.status{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.status__dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:12px;height:12px}.status--on_record .status__dot{background:var(--ink)}.status--ai_other .status__dot{background:linear-gradient(90deg, var(--ink) 50%, transparent 50%)}.status--none_found .status__dot{background:0 0}.status--none_found{color:var(--muted)}.status--none_found .status__dot{border-color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.chip{border:1px solid var(--border);background:var(--paper);border-radius:4px;font-size:13px;display:inline-flex;overflow:hidden}.chip__name{background:var(--sand);padding:3px 8px;font-weight:600}.chip__value{padding:3px 8px}.positions{flex-direction:column;gap:10px;display:flex}.positions__row{grid-template-columns:minmax(130px,40%) 1fr;gap:12px;display:grid}.positions dt a{text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;font-weight:600}.positions dt a:hover{color:var(--accent);text-decoration-color:currentColor}.positions__year{color:var(--muted);font-size:13px;display:block}.positions dd{flex-direction:column;display:flex}.positions__detail{color:var(--muted);font-size:14px}.source-link{color:var(--accent);border:1px solid var(--border);vertical-align:1px;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;max-width:100%;margin:0 2px;padding:0 6px;font-size:13px;font-weight:500;line-height:1.6;display:inline-block;overflow:hidden}.source-link:hover{background:var(--sand);border-color:var(--accent)}.legend{flex-wrap:wrap;gap:8px 24px;font-size:14px;display:flex}.notice{background:var(--sand);border-left:4px solid var(--ink);border-radius:0 4px 4px 0;padding:14px 18px;font-size:15px}.notice a{color:var(--accent);text-decoration:underline}
