.election-selector[data-v-0e4f7ce1]{background:#fff;padding:20px;margin-bottom:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #3182ce}.selector-header[data-v-0e4f7ce1]{margin-bottom:16px}.selector-header label[data-v-0e4f7ce1]{display:block;margin-bottom:8px;font-weight:600;color:#1a365d;font-size:1.1rem}.helper-text[data-v-0e4f7ce1]{color:#666;font-size:.9rem;margin:0}select[data-v-0e4f7ce1]{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:6px;font-size:16px;background:#fff;color:#2d3748;transition:border-color .2s ease}select[data-v-0e4f7ce1]:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}select[data-v-0e4f7ce1]:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed}.loading-indicator[data-v-0e4f7ce1]{margin-top:12px;padding:12px;background:#e6f3ff;border-radius:4px;border-left:3px solid #3182ce}.loading-indicator p[data-v-0e4f7ce1]{color:#1a365d;font-weight:500;margin:0}.selector-header[data-v-801ddd60]{margin-bottom:16px}.selector-header h2[data-v-801ddd60]{color:#374151;margin-bottom:4px;font-size:1.25rem;font-weight:600}.helper-text[data-v-801ddd60]{font-size:.9rem;color:#6b7280;margin:0 0 16px}.hot-races-section[data-v-801ddd60]{margin-bottom:20px;padding:15px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:2px solid #f59e0b}.hot-races-section h4[data-v-801ddd60]{margin:0 0 8px;color:#92400e;font-size:1.1rem;font-weight:600}.hot-races-description[data-v-801ddd60]{font-size:.85rem;color:#78350f;margin:0 0 12px;font-style:italic}.hot-races-section select[data-v-801ddd60]{width:100%;padding:8px 12px;border:2px solid #f59e0b;border-radius:4px;background-color:#fff;font-size:.9rem;font-weight:500}.hot-races-section select[data-v-801ddd60]:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #d977061a}.selector-controls[data-v-801ddd60]{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;padding:20px;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.text-filter-section[data-v-801ddd60]{width:100%}.text-filter-section label[data-v-801ddd60]{display:block;margin-bottom:6px;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.filter-input-container[data-v-801ddd60]{position:relative;display:flex;align-items:center}.filter-input[data-v-801ddd60]{width:100%;padding:10px 40px 10px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:.9rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.filter-input[data-v-801ddd60]:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.filter-input[data-v-801ddd60]::placeholder{color:#9ca3af;font-style:italic}.clear-filter-btn[data-v-801ddd60]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:4px;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.clear-filter-btn[data-v-801ddd60]:hover{background-color:#f3f4f6;color:#374151}.clear-filter-btn[data-v-801ddd60]:active{background-color:#e5e7eb}.no-results[data-v-801ddd60]{margin-top:8px;padding:8px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.85rem}.filter-results-count[data-v-801ddd60]{margin-top:6px;color:#059669;font-size:.85rem;font-weight:500}.filter-row[data-v-801ddd60]{display:flex;gap:20px;align-items:flex-end}.filter-section[data-v-801ddd60]{flex:1;min-width:200px}.race-section[data-v-801ddd60]{flex:2;min-width:300px}.filter-section label[data-v-801ddd60],.race-section label[data-v-801ddd60]{display:block;margin-bottom:6px;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.filter-section select[data-v-801ddd60],.race-section select[data-v-801ddd60]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.filter-section select[data-v-801ddd60]:focus,.race-section select[data-v-801ddd60]:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.selected-race-info[data-v-801ddd60]{margin-top:15px;padding:12px;background-color:#e6f3ff;border-radius:4px;color:#1a365d;border-left:4px solid #3182ce}@media (max-width: 768px){.selector-controls[data-v-801ddd60]{gap:12px}.filter-row[data-v-801ddd60]{flex-direction:column;gap:12px}.filter-section[data-v-801ddd60],.race-section[data-v-801ddd60]{min-width:0}}.chart-container[data-v-598b1227]{height:600px}.chart-subtitle[data-v-598b1227]{font-size:.9rem;color:#666;margin-bottom:15px;font-style:italic}canvas[data-v-598b1227]{max-height:500px}.controls[data-v-fc4a9cb1]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.sort-controls[data-v-fc4a9cb1],.toggle-control[data-v-fc4a9cb1]{display:flex;align-items:center;gap:10px}.sort-label[data-v-fc4a9cb1]{font-weight:600;color:#495057}.sort-controls button[data-v-fc4a9cb1]{padding:8px 12px;border:1px solid #ced4da;background-color:#fff;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s,border-color .2s}.sort-controls button[data-v-fc4a9cb1]:hover{background-color:#e9ecef}.sort-controls button.active[data-v-fc4a9cb1]{background-color:#4a5568;color:#fff;border-color:#4a5568}.toggle-control label[data-v-fc4a9cb1]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.toggle-control input[type=checkbox][data-v-fc4a9cb1]{width:18px;height:18px;cursor:pointer}.table-section[data-v-fc4a9cb1]{margin-bottom:40px}.total-row[data-v-fc4a9cb1]{background-color:#f0f4f8;border-top:2px solid #cbd5e0}.total-row td[data-v-fc4a9cb1]{font-weight:600}.others-row[data-v-fc4a9cb1]{background-color:#f9fafb;border-top:1px solid #e5e7eb;font-style:italic}.others-row td[data-v-fc4a9cb1]{font-weight:500}.others-row td[data-v-fc4a9cb1]:first-child{background-color:#f9fafb;font-size:13px;color:#6b7280}.others-row .daily-votes[data-v-fc4a9cb1],.others-row .cumulative-votes[data-v-fc4a9cb1],.others-row .daily-percentage[data-v-fc4a9cb1],.others-row .cumulative-percentage[data-v-fc4a9cb1]{color:#9ca3af}table[data-v-fc4a9cb1]{font-size:14px}th[data-v-fc4a9cb1]:first-child,td[data-v-fc4a9cb1]:first-child{position:sticky;left:0;background-color:#fff;z-index:1;min-width:200px}th[data-v-fc4a9cb1]:first-child{background-color:#f7fafc}.total-row td[data-v-fc4a9cb1]:first-child{background-color:#f0f4f8}.combined-vote-cell[data-v-fc4a9cb1]{display:flex;flex-direction:column;align-items:center;padding:6px 4px;gap:2px}.daily-data[data-v-fc4a9cb1]{display:flex;align-items:center;gap:4px;font-size:12px;line-height:1.2}.daily-votes[data-v-fc4a9cb1]{font-weight:600;color:#f59e0b}.daily-percentage[data-v-fc4a9cb1]{color:#92400e;font-weight:500}.cumulative-data[data-v-fc4a9cb1]{display:flex;align-items:center;gap:4px;font-size:12px;line-height:1.2;margin-top:2px}.cumulative-votes[data-v-fc4a9cb1]{font-weight:600;color:#059669}.cumulative-percentage[data-v-fc4a9cb1]{color:#047857;font-weight:500}.daily-winner[data-v-fc4a9cb1],.cumulative-winner[data-v-fc4a9cb1],.cumulative-second[data-v-fc4a9cb1]{font-size:10px;margin-left:2px}.cumulative-leader[data-v-fc4a9cb1]{background-color:#dcfce7!important}.daily-leader[data-v-fc4a9cb1]{background-color:#fef3c7!important}.cumulative-second[data-v-fc4a9cb1]{background-color:#f3f4f6!important}.double-winner[data-v-fc4a9cb1]{background-color:#ddd6fe!important;border:2px solid #8b5cf6}.total-row .cumulative-leader[data-v-fc4a9cb1]{background-color:#bbf7d0!important}.total-row .daily-leader[data-v-fc4a9cb1]{background-color:#fde68a!important}.total-row .cumulative-second[data-v-fc4a9cb1]{background-color:#e5e7eb!important}.total-row .double-winner[data-v-fc4a9cb1]{background-color:#c4b5fd!important}td[data-v-fc4a9cb1]{min-width:120px;text-align:center}td[data-v-fc4a9cb1]:first-child{text-align:left;min-width:200px}.candidate-info[data-v-fc4a9cb1]{display:flex;flex-direction:column;gap:2px}.party-info[data-v-fc4a9cb1]{font-size:.8rem;color:#6b7280;font-weight:400;font-style:italic;line-height:1.2}@media (max-width: 1200px){.combined-vote-cell[data-v-fc4a9cb1]{padding:4px 2px}.daily-data[data-v-fc4a9cb1],.cumulative-data[data-v-fc4a9cb1]{font-size:11px}td[data-v-fc4a9cb1]{min-width:100px}}.race-info[data-v-140516a8]{background:#fff;border-radius:8px;padding:20px;margin-bottom:24px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #3182ce}.race-info h3[data-v-140516a8]{margin:0 0 16px;color:#1a365d;font-size:1.25rem;font-weight:600}.race-details-horizontal[data-v-140516a8]{display:flex;gap:24px;align-items:flex-start}.candidate-section[data-v-140516a8]{flex-shrink:0}.candidate-count-display[data-v-140516a8]{display:flex;flex-direction:column;align-items:center;padding:12px 16px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;min-width:80px}.candidate-count[data-v-140516a8]{font-size:1.5rem;font-weight:700;color:#2d3748;line-height:1;margin-bottom:2px}.candidate-label[data-v-140516a8]{font-size:.75rem;font-weight:500;color:#4a5568;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 768px){.race-details-horizontal[data-v-140516a8]{flex-direction:column;gap:16px}.candidate-count-display[data-v-140516a8]{align-self:flex-start}}.race-name-section[data-v-140516a8]{flex:1;min-width:0}.county-section[data-v-140516a8]{flex-shrink:0;min-width:200px}.race-name[data-v-140516a8]{margin-bottom:8px;font-size:1.1rem;color:#2d3748;line-height:1.4}.jurisdiction-info[data-v-140516a8]{margin-bottom:0}.jurisdiction-type[data-v-140516a8]{display:inline-block;background:#e6f3ff;color:#1a365d;padding:4px 12px;border-radius:16px;font-size:.875rem;font-weight:500;border:1px solid #bee3f8}.jurisdiction-missing[data-v-140516a8]{background:#fed7d7;color:#744210;border:1px solid #feb2b2}.scope-display[data-v-140516a8]{display:flex;flex-direction:column;gap:4px}.county-name[data-v-140516a8]{font-weight:600;color:#2d3748;font-size:1rem}.scope-type[data-v-140516a8]{color:#718096;font-size:.875rem;font-style:italic}.county-details-toggle[data-v-140516a8]{margin-top:12px}.county-details-toggle summary[data-v-140516a8]{cursor:pointer;color:#3182ce;font-size:.875rem;font-weight:500;padding:4px 0}.county-details-toggle summary[data-v-140516a8]:hover{color:#2c5aa0;text-decoration:underline}.county-grid[data-v-140516a8]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:8px 0}.county-chip[data-v-140516a8]{background:#f7fafc;color:#4a5568;padding:4px 8px;border-radius:12px;font-size:.8rem;border:1px solid #e2e8f0}@media (max-width: 768px){.race-details-horizontal[data-v-140516a8]{flex-direction:column;gap:16px}.county-section[data-v-140516a8]{min-width:0}.county-grid[data-v-140516a8]{flex-direction:column;gap:4px}}.container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header{text-align:center;margin-bottom:30px;padding:20px 0;border-bottom:2px solid #e0e0e0}.header h1{font-size:2.5em;margin:0 0 10px;color:#2c3e50;font-weight:600}.header p{font-size:1.2em;color:#666;margin:0}.intro-container{max-width:900px;margin:0 auto;padding:20px}.election-info{text-align:center;margin-bottom:30px}.election-info h2{font-size:1.8em;color:#2c3e50;margin-bottom:20px;border-bottom:1px solid #ddd;padding-bottom:10px}.explanation{line-height:1.6;color:#333}.explanation h3{color:#2c3e50;margin-top:30px;margin-bottom:15px;font-size:1.3em}.explanation p{margin-bottom:15px}.explanation ul{margin:15px 0;padding-left:20px}.explanation li{margin-bottom:8px}.explanation strong{color:#2c3e50}.loading,.error{text-align:center;padding:20px;margin:20px 0}.error{color:#e74c3c;background-color:#fdf2f2;border:1px solid #f5c6cb;border-radius:4px}.chart-container{margin:20px 0;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background:#fff;padding:20px;margin-bottom:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.header h1{color:#1a365d;margin-bottom:10px;font-size:2.5rem}.header p{color:#666;font-size:1.1rem;margin-bottom:20px}.election-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:20px;margin-top:20px}.election-info h3{color:#1a365d;margin-bottom:10px;font-size:1.3rem}.election-info p{color:#4a5568;font-size:.95rem;margin-bottom:8px}.election-info p:last-child{margin-bottom:0}.race-selector{background:#fff;padding:20px;margin-bottom:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.race-selector label{display:block;margin-bottom:10px;font-weight:600;color:#333}.race-selector select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;background:#fff}.chart-container{background:#fff;padding:30px;margin-bottom:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.chart-container h2{margin-bottom:20px;color:#1a365d}.data-table{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.data-table h2{margin-bottom:20px;color:#1a365d}.table-section{margin-bottom:30px}.table-section h3{margin-bottom:15px;color:#2d3748;border-bottom:2px solid #e2e8f0;padding-bottom:5px}table{width:100%;border-collapse:collapse;margin-bottom:20px}th,td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}th{background-color:#f7fafc;font-weight:600;color:#2d3748}tr:hover{background-color:#f7fafc}.loading{text-align:center;padding:40px;color:#666}.error{color:#e53e3e;background-color:#fed7d7;padding:15px;border-radius:4px;margin:20px 0}.debug-info{background-color:#e6f3ff;padding:10px;margin:10px 0;border-radius:4px;font-size:14px;color:#1a365d}.explanation-section{background:#fff;padding:25px;margin-bottom:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #3182ce}.explanation-section h2{color:#1a365d;margin-bottom:15px;font-size:1.4rem}.explanation-section p{color:#4a5568;margin-bottom:15px;line-height:1.6}.explanation-section ul{color:#4a5568;margin-left:20px;line-height:1.6}.explanation-section li{margin-bottom:8px}.explanation-section strong{color:#2d3748}.explanation-note{background:#edf2f7;border-radius:6px;padding:12px 16px;margin-top:15px;font-size:.9rem;color:#4a5568;border-left:3px solid #a0aec0}@media (max-width: 768px){.container{padding:10px}.header h1{font-size:2rem}.chart-container,.data-table{padding:20px}table{font-size:14px}th,td{padding:8px}}
