:root{--ground:#f4f7fd;--surface:#ffffff;--field:#ffffff;--ink:#13203f;--muted:#45506b;--faint:#5d6782;--line:#c9d3e6;--line-soft:#e1e7f2;--brand:#2d6be4;--brand-dark:#1d4fb3;--brand-tint:#e3ecfc;--on-brand:#ffffff;--navy:#13203f;--on-navy:#f4f7fd;--sky:#8db4ff;--focus:#f0b43a;--error:#a3261b;--ok:#1d6538;--map-none:#e6eaf2;--map-statewide:#b7cdf6;--map-local:#2d6be4;--map-marker:#f0b43a;--cat-0-fg:#2c3f96;--cat-1-fg:#a3460f;--cat-2-fg:#1d6538;--cat-3-fg:#b07f00;--cat-4-fg:#74328a;--cat-5-fg:#0a6a7a;--cat-6-fg:#55625c;--cat-7-fg:#8a3b5c;--font:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}:root:not([data-theme=light]){color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0b1328;--surface:#13203f;--field:#182850;--ink:#eef2fb;--muted:#b3bfd8;--faint:#94a1bf;--line:#2d3d66;--line-soft:#22325a;--brand:#8db4ff;--brand-dark:#b5cfff;--brand-tint:#1d3160;--on-brand:#0b1328;--navy:#0b1328;--error:#ff9c8c;--ok:#74c793;--map-none:#22325a;--map-statewide:#3c5590;--map-local:#8db4ff;--cat-0-fg:#8fa1f0;--cat-1-fg:#f0a173;--cat-2-fg:#74c793;--cat-3-fg:#e7c25a;--cat-4-fg:#cf96e0;--cat-5-fg:#6cc8d6;--cat-6-fg:#a3b0aa;--cat-7-fg:#e596b7}}.cat-0{--cat-fg:var(--cat-0-fg)}.cat-1{--cat-fg:var(--cat-1-fg)}.cat-2{--cat-fg:var(--cat-2-fg)}.cat-3{--cat-fg:var(--cat-3-fg)}.cat-4{--cat-fg:var(--cat-4-fg)}.cat-5{--cat-fg:var(--cat-5-fg)}.cat-6{--cat-fg:var(--cat-6-fg)}.cat-7{--cat-fg:var(--cat-7-fg)}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5}a{color:var(--brand);text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}h1,h2{margin:0 0 12px}h2{font-size:1.4rem}h3{font-size:1.1rem;margin:0 0 6px}p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:14px}button,input,select,textarea{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:10;padding:8px 12px}.site-header,.skip:focus{background:var(--surface)}.site-header{border-bottom:1px solid var(--line)}.site-header .inner{max-width:1120px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}.brand{font-weight:700;text-decoration:none;color:var(--ink)}.brand span{color:var(--brand);font-weight:400}.env{margin-left:8px;padding:1px 8px;border-radius:99px;font-size:12px;font-weight:400;background:var(--focus);color:#3d2c00}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 20px;margin-left:auto}.site-header nav a{text-decoration:none;padding:6px 0}.site-header nav a:hover,.site-header nav a[aria-current=page]{text-decoration:underline}main{max-width:1120px;margin:0 auto;padding:32px 16px 56px}section{margin-top:48px}section:first-child{margin-top:0}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:16px}.section-head h2{margin:0}.section-head p{margin:0;color:var(--muted)}.hero{display:grid;grid-gap:16px;gap:16px;max-width:760px}.hero .lead{font-size:1.2rem;color:var(--muted);margin:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.button{display:inline-block;padding:12px 20px;border-radius:8px;font-weight:700;text-decoration:none;background:var(--brand);color:var(--on-brand);border:2px solid var(--brand);cursor:pointer}.button:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.button.secondary{background:transparent;color:var(--brand)}.button.secondary:hover{background:var(--brand-tint)}.tiles{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.tile-value{font-size:1.8rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.tile-label{color:var(--muted);font-size:15px}.as-of{color:var(--faint);font-size:14px;margin-top:8px}.cards{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px;min-width:0}.card p{margin:0;color:var(--muted)}.card .figure{font-size:15px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .figure strong{font-size:1.15rem}.card .more{margin-top:auto;padding-top:8px;font-weight:700}.card.bundle{grid-column:1/-1;background:var(--brand);border-color:var(--brand)}.card.bundle,.card.bundle .figure,.card.bundle a,.card.bundle p{color:var(--on-brand)}.card.bundle .button{background:var(--on-brand);color:var(--brand);border-color:var(--on-brand)}.card.bundle .included{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0;padding:0}.card.bundle .included li{border:1px solid;border-radius:99px;padding:2px 12px;font-size:15px}.badge{align-self:flex-start;justify-self:start;font-size:13px;padding:1px 10px;border-radius:99px;background:var(--focus);color:#3d2c00;font-weight:700}.points{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));list-style:none;padding:0;margin:0}.points li{border-left:4px solid var(--focus);padding:2px 0 2px 14px}.points p{color:var(--muted);margin:0}.cta{margin-top:56px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.cta h2{margin:0 0 4px}.cta p{margin:0;color:var(--muted)}.crumbs{font-size:15px;margin-bottom:12px}.package-head{display:grid;grid-gap:8px;gap:8px;max-width:760px}.package-head .lead{font-size:1.15rem;color:var(--muted);margin:0}.two-col{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.panel,.two-col>*{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.panel+.panel{margin-top:16px}.fields{margin:0;display:grid;grid-gap:10px;gap:10px}.fields dt{font-weight:700}.fields dd{margin:0;color:var(--muted)}.bars{list-style:none;margin:0;padding:0}.bars li{display:grid;grid-template-columns:minmax(110px,38%) 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:4px 0;font-size:15px}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:12px;display:flex}.bar-fill{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--cat-fg,var(--brand));min-width:2px}.bar-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}pre.sample{margin:0;padding:14px;overflow-x:auto;background:var(--field);border:1px solid var(--line-soft);border-radius:8px;font-family:var(--mono);font-size:13px;line-height:1.45;max-height:420px}details.sample-wrap+details.sample-wrap{margin-top:10px}details.sample-wrap summary{cursor:pointer;font-weight:700;margin-bottom:8px}table{width:100%;border-collapse:collapse;font-size:15px}caption{color:var(--muted);padding-bottom:8px}caption,td,th{text-align:left}td,th{padding:8px;border-bottom:1px solid var(--line-soft)}th{color:var(--muted);font-weight:400;font-size:14px;vertical-align:bottom}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tfoot td{font-weight:700;border-top:2px solid var(--line)}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.quote{display:grid;grid-gap:20px;gap:20px}.quote fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 16px 16px;margin:0}.quote legend{font-weight:700;padding:0 6px}.checks{display:grid;grid-gap:6px 16px;gap:6px 16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.checks label{display:flex;gap:8px;align-items:flex-start}.checks input{margin-top:5px;width:18px;height:18px;accent-color:var(--brand)}.field{display:grid;grid-gap:4px;gap:4px}.field input,.field select,.field textarea{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}.field select[multiple]{min-height:180px}.hint{color:var(--faint);font-size:14px}.preview{white-space:pre-wrap;font-family:var(--mono);font-size:13px;background:var(--field);border:1px dashed var(--line);border-radius:8px;padding:12px;margin:0}.db-error{border:1px solid var(--error);border-radius:12px;padding:20px}.db-error,.site-footer{background:var(--surface)}.site-footer{border-top:1px solid var(--line)}.site-footer .inner{max-width:1120px;margin:0 auto;padding:20px 16px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:15px;color:var(--muted)}@media (max-width:760px){body{font-size:16px}main{padding-top:24px}.two-col{grid-template-columns:minmax(0,1fr)}.site-header nav{margin-left:0;width:100%}.bars li{grid-template-columns:1fr auto}.bar-track{grid-column:1/-1;grid-row:2}}.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}.updates{margin-top:32px}.updates h2{margin-top:0}.narrow{max-width:620px}.updates-form{display:grid;grid-gap:6px;gap:6px;max-width:520px}.updates-form label{font-weight:700}.updates-row{display:flex;flex-wrap:wrap;gap:8px}.updates-row input{flex:1 1 240px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}.updates-row .button{cursor:pointer}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{background:var(--brand-tint);border-radius:10px;padding:14px 16px}.notice h2{margin:0 0 6px;font-size:1.1rem}.notice.error{background:var(--surface);border:1px solid var(--error);color:var(--ink)}.brand{display:inline-flex;align-items:center;gap:8px}.brand img{height:32px;width:auto;display:block}.brand .logo-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand .logo-light{display:none}:root:not([data-theme=light]) .brand .logo-dark{display:block}}.site-header .account-link{font-weight:700}.hero.wide{max-width:860px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700;color:var(--brand);margin:0}.band{background:var(--navy);border-radius:16px;padding:28px}.band,.band h2,.band h3{color:var(--on-navy)}.band li,.band p{color:color-mix(in srgb,var(--on-navy) 82%,transparent)}.band a{color:var(--sky)}.diff{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));list-style:none;padding:0;margin:0;counter-reset:diff}.diff li{counter-increment:diff;border-top:3px solid var(--sky);padding-top:12px}.diff li:before{content:counter(diff);font-weight:800;font-size:1.6rem;color:var(--sky);display:block}.diff strong{display:block;color:var(--on-navy);font-size:1.1rem;margin-bottom:4px}.prices{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.price-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px}.price-card.featured{border:2px solid var(--brand);box-shadow:0 6px 24px color-mix(in srgb,var(--brand) 18%,transparent)}.price-card h3{margin:0}.price{font-size:2.2rem;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price small{font-size:1rem;font-weight:400;color:var(--muted)}.price-card ul{margin:0;padding-left:18px;color:var(--muted)}.price-card .button{margin-top:auto;text-align:center}.note{color:var(--muted);font-size:15px}.form{display:grid;grid-gap:18px;gap:18px;max-width:720px}.form fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 18px 18px;margin:0;display:grid;grid-gap:14px;gap:14px;min-width:0}.form legend{padding:0 6px}.field .label,.field label,.form legend{font-weight:700}.error-text,.field .error-text{color:var(--error);font-size:15px}.field [aria-invalid=true]{border-color:var(--error);border-width:2px}.radios{display:grid;grid-gap:8px;gap:8px}.checks label,.radios label{display:flex;gap:10px;align-items:flex-start;font-weight:400}.checks input,.radios input{margin-top:5px;width:18px;height:18px;accent-color:var(--brand);flex:none}.radios .detail{display:block;color:var(--muted);font-size:15px}.row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary{background:var(--brand-tint);border-radius:12px;padding:16px 18px}.summary table td,.summary table th{border-color:color-mix(in srgb,var(--brand) 25%,transparent)}.errors{border:2px solid var(--error);border-radius:12px;padding:14px 18px;background:var(--surface)}.errors h2{font-size:1.1rem;margin:0 0 6px;color:var(--error)}.errors ul{margin:0;padding-left:20px}button.button{font:inherit;font-weight:700}.button.small{padding:6px 12px;font-size:15px}.button.danger{background:var(--error);border-color:var(--error);color:#fff}.inline-form{display:inline}.legal{max-width:780px}.legal h2{margin-top:32px}.legal li{margin-bottom:6px}.legal .caps{text-transform:uppercase;font-size:15px}.status{display:inline-block;padding:1px 10px;border-radius:99px;font-size:13px;font-weight:700;background:var(--line-soft);color:var(--ink)}.status.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.status.warn{background:color-mix(in srgb,var(--focus) 30%,transparent)}.status.bad{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.mono,code{font-family:var(--mono);font-size:.92em}.secret{font-family:var(--mono);border:1px dashed var(--line);border-radius:8px;padding:8px 10px;overflow-wrap:anywhere;display:block}.page-text,.secret{background:var(--field)}.page-text{white-space:pre-wrap;max-height:360px;overflow:auto;border:1px solid var(--line-soft);border-radius:8px;padding:12px;font-size:14px}.endpoint{border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:14px}.endpoint>summary{list-style:none;cursor:pointer;padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline}.endpoint>summary::-webkit-details-marker{display:none}.endpoint .body{padding:0 16px 16px;display:grid;grid-gap:12px;gap:12px}.verb{font-family:var(--mono);font-weight:800;font-size:13px;padding:2px 8px;border-radius:6px;background:var(--brand);color:var(--on-brand)}.verb.post,.verb.put{background:var(--ok);color:#fff}.verb.delete{background:var(--error);color:#fff}.path{font-weight:700;overflow-wrap:anywhere}.path,pre.code{font-family:var(--mono)}pre.code{margin:0;padding:12px 14px;overflow-x:auto;background:var(--navy);color:var(--on-navy);border-radius:10px;font-size:13px;line-height:1.5}.docs-layout{display:grid;grid-gap:28px;gap:28px;grid-template-columns:220px minmax(0,1fr);align-items:start}.docs-nav{position:-webkit-sticky;position:sticky;top:16px;display:grid;grid-gap:4px;gap:4px;font-size:15px}.docs-nav a{text-decoration:none;padding:3px 0}@media (max-width:860px){.docs-layout{grid-template-columns:minmax(0,1fr)}.docs-nav{position:static}}.map-wrap{position:relative}.map-wrap svg{width:100%;height:auto;display:block}.map-county{stroke:var(--surface);stroke-width:.3}.map-county:hover{stroke:var(--ink);stroke-width:1}.map-state{fill:none;stroke:var(--surface);stroke-width:1.2;pointer-events:none}.map-marker{fill:var(--map-marker);stroke:var(--ink);stroke-width:.6;pointer-events:none}.map-tooltip{position:absolute;pointer-events:none;background:var(--field);border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:13px;box-shadow:0 2px 8px rgb(0 0 0/.15);max-width:260px}.map-controls{gap:8px 16px;align-items:center;margin-bottom:8px;font-size:14px}.map-controls,.map-legend{display:flex;flex-wrap:wrap}.map-legend{gap:4px 14px;font-size:13px;color:var(--muted)}.map-legend i{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:-2px;margin-right:4px}.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:6px 14px;gap:6px 14px}.picked{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-gap:6px;gap:6px}.picked li{background:var(--brand-tint);border-radius:8px;padding:6px 10px}.link-button{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.contest-picker{display:grid;grid-gap:10px;gap:10px}.summary h2{font-size:1.15rem;margin-top:0}.summary table{width:100%}.tile-note{color:var(--faint);font-size:13px}.bars li.selected .bar-label{font-weight:700}.bars li.selected .bar-label a{text-decoration-thickness:2px}.active-filter{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin:0 0 16px}.empty{color:var(--faint);font-style:italic}.columns,.empty{margin:0}.columns svg{width:100%;height:auto;display:block}.columns .mark{fill:var(--brand)}.columns .hit{fill:transparent}.columns .col:hover .mark{fill:var(--brand-dark)}.columns .col:hover .hit{fill:var(--brand-tint)}.columns .axis{stroke:var(--line)}.columns .tick{font-size:11px;fill:var(--faint)}.columns figcaption{font-size:13px;color:var(--muted)}.chart-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.chart-grid .wide{grid-column:1/-1}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}.chart-card h3{margin-top:0}.field,.row>*{min-width:0}.field select{max-width:100%;text-overflow:ellipsis}.checks.field{grid-template-columns:minmax(0,1fr)}.checks input,.radios input{padding:0}.tiles+.chart-card,.tiles+.chart-grid{margin-top:16px}