.race-card.svelte-sos7d1{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;transition:box-shadow .15s ease}.race-card.svelte-sos7d1:hover{box-shadow:0 2px 8px #00000014}.race-card.is-called.svelte-sos7d1{border-color:#bbf7d0}.card-header.svelte-sos7d1{padding:14px 16px 12px;border-bottom:1px solid #f3f4f6;background:#fafafa}.race-meta.svelte-sos7d1{margin-bottom:10px}.race-name-row.svelte-sos7d1{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.race-name.svelte-sos7d1{font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700;color:#111827;margin:0;line-height:1.2}.district-badge.svelte-sos7d1{font-size:11px;font-weight:600;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:3px;font-family:-apple-system,sans-serif;white-space:nowrap}.race-sub.svelte-sos7d1{display:flex;align-items:center;gap:8px;margin-top:4px}.party-tag.svelte-sos7d1{font-size:11px;font-weight:600;font-family:-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.4px}.called-badge.svelte-sos7d1{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:#2d6a4f;background:#d8f3dc;padding:2px 6px;border-radius:3px;font-family:-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.5px}.precincts-info.svelte-sos7d1{margin-top:0}.precincts-numbers.svelte-sos7d1{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.precincts-label.svelte-sos7d1{font-size:10px;color:#9ca3af;font-family:-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.precincts-count.svelte-sos7d1{font-size:11px;color:#6b7280;font-family:-apple-system,sans-serif;font-weight:500}.precincts-bar.svelte-sos7d1{height:3px;background:#e5e7eb;border-radius:2px;overflow:hidden}.precincts-fill.svelte-sos7d1{height:100%;background:#0d4c80;border-radius:2px;transition:width .6s ease}.candidates.svelte-sos7d1{padding:4px 0}.candidate.svelte-sos7d1{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:12px;border-bottom:1px solid #f9fafb;transition:background .12s ease}.candidate.svelte-sos7d1:last-child{border-bottom:none}.candidate.is-leader.svelte-sos7d1{background:#fafbff}.candidate.is-winner.svelte-sos7d1{background:#f0fdf4}.candidate-info.svelte-sos7d1{flex:1;min-width:0}.candidate-name-row.svelte-sos7d1{display:flex;align-items:center;gap:6px;margin-bottom:6px}.winner-icon.svelte-sos7d1{flex-shrink:0}.party-dot.svelte-sos7d1{width:8px;height:8px;border-radius:50%;flex-shrink:0}.candidate-name.svelte-sos7d1{font-family:Georgia,Times New Roman,serif;font-size:14px;font-weight:400;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.candidate-name.winner-name.svelte-sos7d1{font-weight:700;color:#064e3b}.incumbent-tag.svelte-sos7d1{color:#9ca3af;font-size:13px;font-style:italic;margin-left:1px}.party-abbrev.svelte-sos7d1{font-size:10px;font-weight:700;font-family:-apple-system,sans-serif;flex-shrink:0}.vote-bar-row.svelte-sos7d1{display:flex;align-items:center;gap:6px}.vote-bar-container.svelte-sos7d1{flex:1;height:5px;background:#f3f4f6;border-radius:3px;overflow:hidden}.vote-bar.svelte-sos7d1{height:100%;border-radius:3px;transition:width .6s ease;min-width:2px}.candidate-stats.svelte-sos7d1{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.vote-pct.svelte-sos7d1{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700;color:#374151;line-height:1}.vote-pct.pct-leader.svelte-sos7d1{color:#111827;font-size:20px}.vote-count.svelte-sos7d1{font-size:11px;color:#9ca3af;font-family:-apple-system,sans-serif;font-weight:400}.card-footer.svelte-sos7d1{padding:8px 16px;background:#fffbeb;border-top:1px solid #fef3c7}.results-note.svelte-sos7d1{font-size:10px;color:#92400e;font-family:-apple-system,sans-serif;font-style:italic}.page.svelte-1barkz3{min-height:100vh;background:#f8f9fa;display:flex;flex-direction:column}.topbar.svelte-1barkz3{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.topbar-inner.svelte-1barkz3{max-width:1200px;margin:0 auto;padding:0 20px;height:48px;display:flex;align-items:center;justify-content:space-between}.topbar-left.svelte-1barkz3{display:flex;align-items:center}.back-btn.svelte-1barkz3{display:flex;align-items:center;gap:3px;padding:6px 8px 6px 0;text-decoration:none;color:#374151;font-size:13px;font-family:-apple-system,sans-serif}.back-btn.svelte-1barkz3:hover{color:#0d4c80}.back-label.svelte-1barkz3{font-size:13px}.topbar-divider.svelte-1barkz3{width:1px;height:16px;background:#e5e7eb;margin:0 10px}.brand-link.svelte-1barkz3{text-decoration:none}.brand-text.svelte-1barkz3{font-size:14px;font-weight:700;color:#0d4c80;font-family:-apple-system,sans-serif}.brand-slash.svelte-1barkz3{font-weight:300}.topbar-right.svelte-1barkz3{display:flex;align-items:center}.refresh-status.svelte-1barkz3{display:flex;align-items:center;gap:4px}.refresh-icon.svelte-1barkz3{opacity:.6}.refresh-text.svelte-1barkz3{font-size:11px;color:#9ca3af;font-family:-apple-system,sans-serif}.refresh-next.svelte-1barkz3{font-size:11px;color:#d1d5db;font-family:-apple-system,sans-serif}.state-header.svelte-1barkz3{background:#fff;border-bottom:1px solid #e5e7eb;padding:28px 0 24px}.state-header-inner.svelte-1barkz3{max-width:1200px;margin:0 auto;padding:0 20px}.state-eyebrow.svelte-1barkz3{display:flex;align-items:center;gap:6px;margin-bottom:8px}.live-dot.svelte-1barkz3{width:7px;height:7px;background:#dc2626;border-radius:50%;animation:svelte-1barkz3-blink 1.4s ease-in-out infinite}@keyframes svelte-1barkz3-blink{0%,to{opacity:1}50%{opacity:.3}}.live-label.svelte-1barkz3{font-size:10px;font-weight:700;color:#dc2626;text-transform:uppercase;letter-spacing:.8px;font-family:-apple-system,sans-serif}.divider-dot.svelte-1barkz3{color:#d1d5db;font-size:12px}.date-str.svelte-1barkz3{font-size:11px;color:#9ca3af;font-family:-apple-system,sans-serif}.state-title.svelte-1barkz3{font-family:Georgia,serif;font-size:clamp(24px,4vw,36px);font-weight:700;color:#0f172a;margin:0 0 18px;letter-spacing:-.3px}.stats-bar.svelte-1barkz3{display:flex;align-items:center;margin-bottom:12px}.stat-item.svelte-1barkz3{display:flex;flex-direction:column;padding-right:20px}.stat-value.svelte-1barkz3{font-family:Georgia,serif;font-size:22px;font-weight:700;color:#0d4c80;line-height:1}.stat-label.svelte-1barkz3{font-size:10px;color:#9ca3af;font-family:-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.4px;font-weight:500;margin-top:2px}.filters-bar.svelte-1barkz3{background:#fff;border-bottom:2px solid #e5e7eb;position:sticky;top:48px;z-index:40}.filters-inner.svelte-1barkz3{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;overflow-x:auto;scrollbar-width:none}.filters-inner.svelte-1barkz3::-webkit-scrollbar{display:none}.filter-tabs.svelte-1barkz3{display:flex;flex-shrink:0}.filter-tab.svelte-1barkz3{display:flex;align-items:center;gap:5px;padding:13px 14px;font-size:13px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-2px;white-space:nowrap;font-family:-apple-system,sans-serif}.filter-tab.svelte-1barkz3:hover{color:#374151}.filter-tab.active.svelte-1barkz3{color:#0d4c80;border-bottom-color:#0d4c80;font-weight:600}.filter-count.svelte-1barkz3{font-size:10px;background:#f3f4f6;color:#6b7280;padding:1px 5px;border-radius:10px}.filter-tab.active.svelte-1barkz3 .filter-count:where(.svelte-1barkz3){background:#dbeafe;color:#1d4ed8}.party-filter.svelte-1barkz3{display:flex;gap:4px;flex-shrink:0;padding:8px 0}.party-btn.svelte-1barkz3{padding:4px 10px;font-size:11px;font-weight:500;color:#6b7280;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;font-family:-apple-system,sans-serif;transition:all .12s}.party-btn.svelte-1barkz3:hover{background:#f3f4f6;color:#374151}.party-btn.active.svelte-1barkz3{background:#0d4c80;color:#fff;border-color:#0d4c80;font-weight:600}.races-main.svelte-1barkz3{flex:1;padding:24px 0 40px}.races-inner.svelte-1barkz3{max-width:1200px;margin:0 auto;padding:0 20px}.loading-state.svelte-1barkz3,.empty-state.svelte-1barkz3{text-align:center;padding:60px 20px}.loading-state.svelte-1barkz3 p:where(.svelte-1barkz3),.empty-state.svelte-1barkz3 p:where(.svelte-1barkz3){font-family:Georgia,serif;font-size:16px;color:#6b7280;margin:0 0 16px}.reset-btn.svelte-1barkz3{padding:8px 16px;font-size:13px;color:#0d4c80;background:#f0f7ff;border:1px solid #bdd7f7;border-radius:5px;cursor:pointer;font-family:-apple-system,sans-serif}.race-section.svelte-1barkz3{margin-bottom:32px}.section-heading.svelte-1barkz3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin:0 0 12px;padding-bottom:8px;font-family:-apple-system,sans-serif}.section-heading.called.svelte-1barkz3{color:#2d6a4f;border-bottom:1px solid #d8f3dc}.section-heading.in-progress.svelte-1barkz3{color:#9ca3af;border-bottom:1px solid #f3f4f6}.races-grid.svelte-1barkz3{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.page-footer.svelte-1barkz3{border-top:1px solid #e5e7eb;background:#fff;padding:18px 0}.footer-inner.svelte-1barkz3{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer-disclaimer.svelte-1barkz3{font-size:11px;color:#9ca3af;font-family:-apple-system,sans-serif;margin:0;font-style:italic}.footer-right.svelte-1barkz3{display:flex;align-items:center;gap:12px}.footer-map-link.svelte-1barkz3{font-size:12px;color:#0d4c80;text-decoration:none;font-family:-apple-system,sans-serif;font-weight:500}.footer-brand.svelte-1barkz3{font-size:11px;color:#d1d5db;font-family:-apple-system,sans-serif;font-weight:600}@media(max-width:768px){.races-grid.svelte-1barkz3{grid-template-columns:1fr}.stat-value.svelte-1barkz3{font-size:18px}.refresh-next.svelte-1barkz3{display:none}.footer-inner.svelte-1barkz3{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.party-filter.svelte-1barkz3{display:none}.filter-tab.svelte-1barkz3{padding:11px 10px;font-size:12px}}
