.network-graph-container{position:relative;width:100%;height:100%;background:#1a1a1a;border-radius:8px;overflow:hidden}.network-graph{display:block;width:100%;height:100%}.node-details{position:absolute;top:20px;right:20px;background:#1a1a1af2;border:1px solid #404040;border-radius:8px;padding:20px;min-width:250px;max-width:350px;box-shadow:0 4px 6px #0000004d;z-index:1000}.node-details h3{margin:0 0 15px;font-size:18px;color:#fff;border-bottom:2px solid #646cff;padding-bottom:10px}.node-details p{margin:8px 0;font-size:14px;color:#ffffffde}.node-details strong{color:#646cff}.node-info-actions{display:flex;flex-direction:column;gap:8px;margin-top:15px}.node-details button{width:100%;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background-color:#646cff;color:#fff;border:none}.node-details button:hover{background-color:#535bf2;border-color:#535bf2}.view-profile-btn{background:linear-gradient(135deg,#10b981,#059669)!important}.view-profile-btn:hover{background:linear-gradient(135deg,#059669,#047857)!important}.tooltip-office{font-size:12px;color:#d1d5db;margin-top:4px}.tooltip-employer{font-size:12px;color:#9ca3af;margin-top:4px;font-style:italic}@media (prefers-color-scheme: light){.network-graph-container{background:#f5f5f5}.node-details{background:#fffffff2;border:1px solid #e0e0e0}.node-details h3,.node-details p{color:#213547}.label{fill:#213547}.network-legend{background:#ffffffe6;border:1px solid #e0e0e0}.network-legend .legend-title{color:#6b7280}.network-legend .legend-item{color:#374151}}.filter-controls{padding:20px;background:#1e1e1e;border-radius:8px;height:100%;overflow-y:auto}.filter-header{margin-bottom:24px}.filter-header h2{margin:0 0 8px;font-size:24px;color:#fff}.filter-header p{margin:0;font-size:14px;color:#fff9}.stats-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.stat-item{background:#2a2a2a;padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:600;color:#fff}.stat-value.donor{color:#4caf50}.stat-value.committee{color:#2196f3}.stat-value.candidate{color:#ff9800}.filter-section{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.filter-section label{display:flex;flex-direction:column;gap:6px}.filter-section label span{font-size:13px;font-weight:500;color:#ffffffde}.ie-spending-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:#2a2a2a;border-radius:8px;margin-top:4px}.ie-label{font-size:13px;font-weight:500;color:#ffffffde}.ie-toggles{display:flex;gap:8px}.ie-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:2px solid #555;border-radius:6px;background:#1e1e1e;color:#777;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.ie-toggle:hover{border-color:#888;color:#aaa}.ie-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ie-indicator.support{background:#4caf50;box-shadow:0 0 4px #4caf5080}.ie-indicator.oppose{background:#f44336;box-shadow:0 0 4px #f4433680}.ie-toggle.support.active{background:#4caf5026;border-color:#4caf50;color:#4caf50}.ie-toggle.oppose.active{background:#f4433626;border-color:#f44336;color:#f44336}.ie-toggle.support:not(.active) .ie-indicator{opacity:.3}.ie-toggle.oppose:not(.active) .ie-indicator{opacity:.3}.ie-toggle.support:not(.active):hover{border-color:#4caf50;color:#4caf50}.ie-toggle.oppose:not(.active):hover{border-color:#f44336;color:#f44336}.reset-button{background-color:#f44;color:#fff;border:none;margin-top:8px}.reset-button:hover{background-color:#c00;border-color:#c00}.legend{border-top:1px solid #404040;padding-top:20px}.legend h3{margin:0 0 12px;font-size:16px;color:#fff}.legend-item{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14px;color:#ffffffde}.legend-color{width:16px;height:16px;border-radius:50%;border:2px solid #fff}.legend-color.donor{background-color:#4caf50}.legend-color.committee{background-color:#2196f3}.legend-color.candidate{background-color:#ff9800}.legend-section{margin-bottom:16px}.legend-section:last-child{margin-bottom:0}.legend-section-title{display:block;font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.legend-line{width:24px;height:3px;border-radius:2px}.legend-line.support{background-color:#4caf50;box-shadow:0 0 4px #4caf5080}.legend-line.oppose{background-color:#f44336;box-shadow:0 0 4px #f4433680}.checkbox-group{display:flex;flex-direction:column;gap:8px}.group-label{font-size:13px;font-weight:500;color:#ffffffde;margin-bottom:4px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0;flex-shrink:0}.checkbox-label span{font-size:14px;color:#ffffffde;-webkit-user-select:none;user-select:none}@media (prefers-color-scheme: light){.group-label,.checkbox-label span{color:#213547}.filter-controls{background:#fff}.filter-header h2,.legend h3{color:#213547}.filter-header p{color:#21354799}.stat-item{background:#f5f5f5}.stat-label{color:#21354799}.stat-value,.filter-section label span,.legend-item{color:#213547}.legend{border-top-color:#e0e0e0}}.share-button{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;white-space:nowrap}.share-button--small{padding:4px 8px;font-size:12px}.share-button--small .share-icon{width:14px;height:14px}.share-button--medium{padding:8px 12px;font-size:14px}.share-button--medium .share-icon{width:16px;height:16px}.share-button--large{padding:10px 16px;font-size:15px}.share-button--large .share-icon{width:18px;height:18px}.share-button--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.share-button--primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.share-button--primary:active{transform:translateY(0)}.share-button--secondary{background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.15)}.share-button--secondary:hover{background:#ffffff26;border-color:#ffffff40}.share-button--secondary:active{background:#fff3}.share-button--ghost{background:transparent;color:#94a3b8;padding-left:6px;padding-right:6px}.share-button--ghost:hover{color:#e2e8f0;background:#ffffff0d}.share-icon{flex-shrink:0}.share-button-text{line-height:1}.share-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#1e293b;color:#e2e8f0;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 8px 24px #0006,0 4px 8px #0003;border:1px solid rgba(255,255,255,.1);z-index:10000;animation:shareToastEnter .3s ease-out,shareToastExit .3s ease-in 2.2s forwards}.share-toast-icon{color:#4ade80;flex-shrink:0}@keyframes shareToastEnter{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes shareToastExit{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}@media (max-width: 768px){.share-toast{bottom:80px;max-width:calc(100% - 32px)}}.search-header{position:relative;z-index:1000;background:#1e1e1e;border-bottom:1px solid #404040;transition:all .3s ease;flex-shrink:0}.search-header.expanded{background:#1e1e1e;box-shadow:0 4px 20px #0006}.search-bar{display:flex;align-items:center;padding:12px 20px;gap:12px}.search-icon{color:#6b7280;flex-shrink:0}.search-input{flex:1;background:#2a2a2a;border:1px solid #404040;border-radius:8px;padding:10px 16px;color:#e5e5e5;font-size:15px;outline:none;transition:all .2s ease}.search-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.search-input::placeholder{color:#6b7280}.search-badge{background:#6366f1;color:#fff;padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.search-badge:hover{background:#4f46e5}.collapse-btn{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.collapse-btn:hover{background:#2a2a2a;color:#e5e5e5}.search-bar-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.compare-link-btn,.races-link-btn{display:flex;align-items:center;justify-content:center;padding:6px 8px;background:transparent;border:none;color:#94a3b8;border-radius:6px;text-decoration:none;transition:all .2s ease}.compare-link-btn:hover,.races-link-btn:hover{color:#e2e8f0;background:#ffffff0d}.search-expanded-panel{padding:0 20px 20px;max-height:70vh;overflow-y:auto}.search-results-section{margin-bottom:20px}.search-results-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;margin-bottom:12px}.search-results-toolbar-label{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.export-btn{display:flex;align-items:center;gap:6px;background:#374151;border:1px solid #4b5563;border-radius:6px;padding:6px 12px;color:#e5e5e5;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.export-btn:hover:not(:disabled){background:#4b5563;border-color:#6b7280}.export-btn-small{padding:4px 10px;font-size:12px}.export-btn-small svg{width:14px;height:14px}.selection-panel-actions{display:flex;align-items:center;gap:8px}.search-results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.search-results-column{background:#2a2a2a;border-radius:10px;overflow:hidden}.search-results-column.donors{border-top:3px solid #10b981}.search-results-column.committees{border-top:3px solid #6366f1}.search-results-column.candidates{border-top:3px solid #f59e0b}.search-results-column.interest-groups{border-top:3px solid #ec4899}.coming-soon-badge{background:#ec4899;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;margin-left:8px;font-weight:600}.interest-group-item{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid #404040;cursor:pointer;transition:background .15s ease}.interest-group-item:last-child{border-bottom:none}.interest-group-item:hover{background:#ec48991a}.interest-group-item.selected{background:#ec489926}.interest-group-item input[type=checkbox]{accent-color:#ec4899;cursor:pointer}.interest-group-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.interest-group-name{color:#e5e5e5;font-size:14px;flex:1}.interest-group-count{color:#6b7280;font-size:11px;margin-left:auto}.search-results-header{padding:12px 16px;font-weight:600;color:#e5e5e5;background:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.search-results-list{max-height:250px;overflow-y:auto}.search-results-loading,.search-results-empty{padding:20px 16px;text-align:center;color:#6b7280;font-size:13px}.search-result-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid #404040}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#333}.search-result-item.selected{background:#6366f126}.search-result-item.focused{background:#3d3d3d;outline:2px solid #6366f1;outline-offset:-2px}.interest-group-item.focused{background:#ec489933;outline:2px solid #ec4899;outline-offset:-2px}.search-results-column.column-focused .search-results-header{background:#404040}.search-result-item input[type=checkbox]{margin-top:3px;accent-color:#6366f1;cursor:pointer}.search-result-content{flex:1;min-width:0}.search-result-name{display:block;color:#e5e5e5;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:12px;color:#9ca3af}.search-result-meta span{display:inline-flex;align-items:center}.search-result-amount{color:#10b981;font-weight:500}.selection-panel{background:#2a2a2a;border-radius:10px;overflow:hidden}.selection-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#333;border-bottom:1px solid #404040}.selection-panel-header span{font-weight:600;color:#e5e5e5;font-size:14px}.clear-all-btn{background:transparent;border:1px solid #ef4444;color:#ef4444;padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.clear-all-btn:hover{background:#ef4444;color:#fff}.selection-columns{display:grid;grid-template-columns:repeat(4,1fr);min-height:120px}.selection-column{padding:12px;border-right:1px solid #404040}.selection-column:last-child{border-right:none}.selection-column.donor-column{background:#10b9810d}.selection-column.committee-column{background:#6366f10d}.selection-column.candidate-column{background:#f59e0b0d}.selection-column.interest-groups-column{background:#ec48990d}.selection-column-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.selection-column-title{font-size:13px;font-weight:600;color:#e5e5e5}.donor-column .selection-column-title{color:#10b981}.committee-column .selection-column-title{color:#6366f1}.candidate-column .selection-column-title{color:#f59e0b}.interest-groups-column .selection-column-title{color:#ec4899}.selection-column-count{font-size:12px;color:#6b7280}.clear-column-btn{margin-left:auto;background:transparent;border:none;color:#6b7280;font-size:11px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .2s ease}.clear-column-btn:hover{background:#404040;color:#e5e5e5}.selection-column-items{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto}.selection-empty{color:#6b7280;font-size:12px;font-style:italic}.selection-chip{display:flex;align-items:center;gap:6px;background:#404040;border-radius:4px;padding:6px 8px}.selection-chip.interest-group-chip{background:#ec489933}.selection-chip-icon{font-size:14px;flex-shrink:0}.selection-chip-name{flex:1;font-size:12px;color:#e5e5e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-chip-remove{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:0;font-size:16px;line-height:1;transition:color .15s ease}.selection-chip-remove:hover{color:#ef4444}.search-expanded-panel::-webkit-scrollbar,.search-results-list::-webkit-scrollbar,.selection-column-items::-webkit-scrollbar{width:6px}.search-expanded-panel::-webkit-scrollbar-track,.search-results-list::-webkit-scrollbar-track,.selection-column-items::-webkit-scrollbar-track{background:transparent}.search-expanded-panel::-webkit-scrollbar-thumb,.search-results-list::-webkit-scrollbar-thumb,.selection-column-items::-webkit-scrollbar-thumb{background:#404040;border-radius:3px}.search-expanded-panel::-webkit-scrollbar-thumb:hover,.search-results-list::-webkit-scrollbar-thumb:hover,.selection-column-items::-webkit-scrollbar-thumb:hover{background:#505050}.party-badge-mini{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.office-badge-mini{background:#374151;color:#9ca3af;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500}.subtype-badge{background:#1e3a5f;color:#60a5fa;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.search-result-skeleton{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid #404040}.search-result-skeleton:last-child{border-bottom:none}.skeleton-checkbox{width:16px;height:16px;border-radius:3px;background:linear-gradient(90deg,#333 25%,#404040,#333 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;flex-shrink:0;margin-top:2px}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-name{height:14px;width:75%;border-radius:4px;background:linear-gradient(90deg,#333 25%,#404040,#333 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-meta{display:flex;gap:8px}.skeleton-badge{height:18px;width:50px;border-radius:3px;background:linear-gradient(90deg,#333 25%,#404040,#333 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-amount{height:14px;width:40px;border-radius:4px;background:linear-gradient(90deg,#1f3a2d 25%,#2a4d3a,#1f3a2d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.search-result-skeleton:nth-child(1) .skeleton-name,.search-result-skeleton:nth-child(1) .skeleton-badge,.search-result-skeleton:nth-child(1) .skeleton-amount{animation-delay:0s}.search-result-skeleton:nth-child(2) .skeleton-name,.search-result-skeleton:nth-child(2) .skeleton-badge,.search-result-skeleton:nth-child(2) .skeleton-amount{animation-delay:.1s}.search-result-skeleton:nth-child(3) .skeleton-name,.search-result-skeleton:nth-child(3) .skeleton-badge,.search-result-skeleton:nth-child(3) .skeleton-amount{animation-delay:.2s}.search-result-skeleton:nth-child(4) .skeleton-name,.search-result-skeleton:nth-child(4) .skeleton-badge,.search-result-skeleton:nth-child(4) .skeleton-amount{animation-delay:.3s}.search-result-skeleton:nth-child(5) .skeleton-name,.search-result-skeleton:nth-child(5) .skeleton-badge,.search-result-skeleton:nth-child(5) .skeleton-amount{animation-delay:.4s}@media (max-width: 1100px){.search-results-grid,.selection-columns{grid-template-columns:repeat(2,1fr)}.selection-column:nth-child(2){border-right:none}.selection-column:nth-child(1),.selection-column:nth-child(2){border-bottom:1px solid #404040}}@media (max-width: 768px){.search-bar{padding:10px 12px;gap:8px}.search-input{padding:12px 14px;font-size:16px;min-height:44px}.search-badge{padding:8px 14px;font-size:14px;min-height:36px;display:flex;align-items:center}.collapse-btn{padding:10px;min-width:44px;min-height:44px}.search-expanded-panel{padding:0 12px 16px;max-height:60vh}.search-results-grid,.selection-columns{grid-template-columns:1fr;gap:12px}.search-results-column{border-radius:8px}.search-results-header{padding:10px 14px;font-size:12px;position:sticky;top:0;z-index:1}.search-results-list{max-height:200px}.search-result-item{padding:12px 14px;min-height:48px}.search-result-item input[type=checkbox]{width:20px;height:20px;margin-right:4px}.search-result-name{font-size:15px}.search-result-meta{font-size:11px;gap:6px;margin-top:6px}.interest-group-item{padding:12px 14px;min-height:48px}.interest-group-item input[type=checkbox]{width:20px;height:20px}.interest-group-name{font-size:15px}.selection-column{border-right:none;border-bottom:1px solid #404040;padding:10px}.selection-column:last-child{border-bottom:none}.selection-column-header{margin-bottom:8px}.selection-column-items{max-height:100px;flex-direction:row;flex-wrap:wrap;gap:8px}.selection-chip{padding:8px 10px;max-width:none;flex-shrink:0}.selection-chip-remove{padding:4px;font-size:18px;min-width:24px;min-height:24px}.selection-panel-header{padding:10px 12px}.clear-all-btn{padding:6px 14px;font-size:13px;min-height:36px}.keyboard-hint{display:none}}@media (max-width: 480px){.search-bar{flex-wrap:wrap}.search-input{order:2;flex:1 1 100%;margin-top:8px}.search-icon{order:1}.search-badge{order:3;margin-top:8px}.collapse-btn{order:4;margin-top:8px;margin-left:auto}.search-results-list{max-height:150px}.party-badge-mini,.office-badge-mini,.subtype-badge{font-size:9px;padding:2px 4px}.selection-column-items{max-height:80px}}@media (hover: none){.search-result-item:active{background:#3d3d3d}.interest-group-item:active{background:#ec489933}.selection-chip-remove:active{background:#ef444433}.search-result-item:hover,.interest-group-item:hover,.collapse-btn:hover,.clear-all-btn:hover,.clear-column-btn:hover{background:inherit}}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{background:#1e1e2e;border-radius:12px;padding:32px;max-width:420px;width:90%;position:relative;box-shadow:0 20px 60px #00000080;border:1px solid #2a2a3e}.auth-modal h2{margin:0 0 12px;color:#f0f0f5;font-size:24px;font-weight:600}.auth-description{color:#888;margin-bottom:24px;line-height:1.5}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#666;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1}.auth-modal-close:hover{color:#fff}.auth-input-group{margin-bottom:20px}.auth-input-group label{display:block;margin-bottom:8px;color:#aaa;font-size:14px;font-weight:500}.auth-input-group input{width:100%;padding:12px 16px;background:#16161e;border:1px solid #2a2a3e;border-radius:8px;color:#f0f0f5;font-size:16px;transition:border-color .2s,box-shadow .2s}.auth-input-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.auth-input-group input::placeholder{color:#555}.auth-input-group input:disabled{opacity:.6;cursor:not-allowed}.auth-submit-btn{width:100%;padding:14px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.auth-submit-btn:hover:not(:disabled){background:#1d4ed8}.auth-submit-btn:active:not(:disabled){transform:scale(.98)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-secondary-btn{width:100%;padding:12px 24px;background:transparent;color:#888;border:1px solid #2a2a3e;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.auth-secondary-btn:hover{background:#2a2a3e;color:#f0f0f5}.auth-privacy{margin-top:16px;font-size:12px;color:#666;text-align:center;line-height:1.5}.auth-success,.auth-error{text-align:center}.auth-success-icon,.auth-error-icon{margin-bottom:16px}.auth-success-icon svg{color:#22c55e}.auth-error-icon svg{color:#ef4444}.auth-success p,.auth-error p{color:#aaa;margin:8px 0}.auth-success strong{color:#f0f0f5}.auth-hint{font-size:14px;color:#666;margin-bottom:24px}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;color:#f0f0f5;cursor:pointer;transition:background .2s}.user-menu-trigger:hover{background:#2a2a3e}.user-avatar{width:32px;height:32px;background:#2563eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-email{font-size:14px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;min-width:200px;box-shadow:0 10px 40px #0006;z-index:100;overflow:hidden}.user-menu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#aaa;text-decoration:none;cursor:pointer;transition:background .2s,color .2s;border:none;background:none;width:100%;text-align:left;font-size:14px}.user-menu-item:hover{background:#2a2a3e;color:#f0f0f5}.user-menu-item.danger{color:#ef4444}.user-menu-item.danger:hover{background:#ef44441a}.user-menu-divider{height:1px;background:#2a2a3e;margin:4px 0}.sign-in-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.sign-in-btn:hover{background:#1d4ed8}.watch-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.watch-btn.not-watching{background:#2a2a3e;color:#aaa;border:1px solid #3a3a4e}.watch-btn.not-watching:hover{background:#3a3a4e;color:#f0f0f5;border-color:#4a4a5e}.watch-btn.watching{background:#2563eb26;color:#60a5fa;border:1px solid rgba(37,99,235,.3)}.watch-btn.watching:hover{background:#ef444426;color:#f87171;border-color:#ef44444d}.watch-btn:disabled{opacity:.5;cursor:not-allowed}.watchlist-page{max-width:900px;margin:0 auto;padding:24px}.watchlist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.watchlist-header h1{margin:0;color:#f0f0f5}.watchlist-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #2a2a3e;padding-bottom:8px}.watchlist-tab{padding:8px 16px;background:none;border:none;color:#888;cursor:pointer;font-size:14px;border-radius:6px;transition:all .2s}.watchlist-tab:hover{background:#2a2a3e;color:#f0f0f5}.watchlist-tab.active{background:#2563eb;color:#fff}.watchlist-empty{text-align:center;padding:60px 20px;color:#666}.watchlist-empty h3{color:#aaa;margin-bottom:8px}.watchlist-items{display:flex;flex-direction:column;gap:12px}.watchlist-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;transition:background .2s}.watchlist-item:hover{background:#252535}.watchlist-item-info{flex:1}.watchlist-item-name{font-weight:500;color:#f0f0f5;margin-bottom:4px}.watchlist-item-meta{font-size:13px;color:#888;display:flex;gap:12px}.watchlist-item-actions{display:flex;align-items:center;gap:12px}.notification-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#888}.notification-toggle input{width:16px;height:16px;cursor:pointer}.remove-btn{padding:6px 12px;background:none;border:1px solid #3a3a4e;border-radius:4px;color:#888;font-size:12px;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#ef444426;border-color:#ef44444d;color:#f87171}.settings-section{background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;padding:20px;margin-bottom:24px}.settings-section h3{margin:0 0 16px;color:#f0f0f5;font-size:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #2a2a3e}.setting-row:last-child{border-bottom:none}.setting-label{color:#aaa;font-size:14px}.setting-value{display:flex;align-items:center;gap:8px}.frequency-select{padding:8px 12px;background:#16161e;border:1px solid #2a2a3e;border-radius:6px;color:#f0f0f5;font-size:14px;cursor:pointer}.frequency-select:focus{outline:none;border-color:#2563eb}.welcome-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.welcome-modal{background:#1e1e1e;border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080;border:1px solid #333}.welcome-modal-header{padding:24px 28px 16px;text-align:center;border-bottom:1px solid #333}.welcome-icon{font-size:48px;display:block;margin-bottom:12px}.welcome-modal-header h2{margin:0;color:#f59e0b;font-size:24px;font-weight:600}.welcome-modal-content{padding:24px 28px;color:#d1d5db;font-size:15px;line-height:1.6}.welcome-intro{margin:0 0 20px;font-size:16px;color:#e5e5e5}.welcome-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:16px 20px;margin-bottom:20px}.welcome-warning h3{margin:0 0 8px;color:#f59e0b;font-size:16px;font-weight:600}.welcome-warning p{margin:0;color:#fbbf24}.welcome-details{margin-bottom:20px}.welcome-details p{margin:0 0 12px;color:#e5e5e5}.welcome-details ul{margin:0;padding-left:20px}.welcome-details li{margin-bottom:12px;color:#9ca3af}.welcome-details li strong{color:#d1d5db}.welcome-details li em{color:#a5b4fc;font-style:italic}.welcome-closing{margin:0;padding-top:16px;border-top:1px solid #333;color:#9ca3af;font-size:14px}.welcome-modal-footer{padding:16px 28px 24px;text-align:center}.welcome-dismiss-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:14px 32px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #6366f166}.welcome-dismiss-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.welcome-dismiss-btn:active{transform:translateY(0)}.welcome-modal::-webkit-scrollbar{width:8px}.welcome-modal::-webkit-scrollbar-track{background:transparent}.welcome-modal::-webkit-scrollbar-thumb{background:#404040;border-radius:4px}.welcome-modal::-webkit-scrollbar-thumb:hover{background:#505050}@media (max-width: 600px){.welcome-modal{max-height:85vh}.welcome-modal-header{padding:20px 20px 14px}.welcome-icon{font-size:40px}.welcome-modal-header h2{font-size:20px}.welcome-modal-content{padding:20px;font-size:14px}.welcome-modal-footer{padding:14px 20px 20px}.welcome-dismiss-btn{width:100%;padding:12px 24px}}.app{display:grid;grid-template-columns:320px 1fr;height:100vh;overflow:hidden}.sidebar{background:#1e1e1e;border-right:1px solid #404040;overflow-y:auto;grid-row:1 / -1;display:flex;flex-direction:column}.app-body{display:flex;flex-direction:column;overflow:hidden}.top-bar{display:flex;align-items:flex-start;gap:12px;padding-right:16px}.top-bar .search-header{flex:1}.main-content{display:flex;align-items:center;justify-content:center;background:#242424;position:relative;flex:1}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#ffffffde}.spinner{width:50px;height:50px;border:4px solid rgba(100,108,255,.1);border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite}.error{text-align:center;padding:40px;color:#f44}.error h2{margin-bottom:12px;font-size:24px}.error p{font-size:16px;color:#fff9}.sidebar-actions{padding:1rem;border-top:1px solid #404040;margin-top:auto;display:flex;flex-direction:column;gap:.75rem}.explorer-cta{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#059669,#10b981);border-radius:12px;text-decoration:none;color:#fff;transition:all .2s}.explorer-cta:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.explorer-cta:active{transform:translateY(0)}.cta-icon{width:44px;height:44px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cta-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cta-title{font-size:15px;font-weight:600;line-height:1.2}.cta-subtitle{font-size:12px;opacity:.85;line-height:1.3}.cta-arrow{flex-shrink:0;opacity:.8;transition:transform .2s}.explorer-cta:hover .cta-arrow{transform:translate(3px)}.sidebar-hint{font-size:12px;color:#888;line-height:1.5;text-align:center;margin:0}@media (max-width: 1024px){.app{grid-template-columns:280px 1fr}}@media (max-width: 768px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{max-height:40vh;border-right:none;border-bottom:1px solid #404040;grid-row:auto}}@media (prefers-color-scheme: light){.sidebar{background:#1e1e1e;border-right-color:#404040}.main-content{background:#f5f5f5}.loading,.error p{color:#213547}.error{color:#d32f2f}@media (max-width: 768px){.sidebar{border-bottom-color:#e0e0e0}}}.tour-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:9998}.tour-highlight{position:relative;z-index:9999!important;box-shadow:0 0 0 4px #3b82f680,0 0 20px #3b82f64d!important;border-radius:12px}.tour-tooltip{position:fixed;width:320px;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(59,130,246,.3);border-radius:12px;padding:20px;z-index:10000;box-shadow:0 20px 40px #0006;animation:tourFadeIn .3s ease}@keyframes tourFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip:before{content:"";position:absolute;width:12px;height:12px;background:#1e293b;border:1px solid rgba(59,130,246,.3);transform:rotate(45deg)}.tour-arrow-top:before{top:-7px;left:50%;margin-left:-6px;border-right:none;border-bottom:none}.tour-arrow-bottom:before{bottom:-7px;left:50%;margin-left:-6px;border-left:none;border-top:none}.tour-arrow-left:before{left:-7px;top:50%;margin-top:-6px;border-right:none;border-top:none}.tour-arrow-right:before{right:-7px;top:50%;margin-top:-6px;border-left:none;border-bottom:none}.tour-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tour-step-indicator{font-size:12px;color:#94a3b8;background:#ffffff1a;padding:4px 10px;border-radius:12px}.tour-close{background:none;border:none;color:#64748b;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.tour-close:hover{color:#fff}.tour-title{color:#fff;font-size:18px;font-weight:600;margin:0 0 8px}.tour-content{color:#94a3b8;font-size:14px;line-height:1.5;margin:0 0 20px}.tour-actions{display:flex;gap:10px;justify-content:flex-end}.tour-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.tour-btn-primary{background:#3b82f6;color:#fff}.tour-btn-primary:hover{background:#2563eb}.tour-btn-secondary{background:#ffffff1a;color:#94a3b8}.tour-btn-secondary:hover{background:#ffffff26;color:#fff}.tour-trigger{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;font-size:13px;cursor:pointer;transition:all .2s}.tour-trigger:hover{background:#3b82f640;border-color:#3b82f680}.tour-trigger-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#3b82f64d;border-radius:50%;font-size:12px;font-weight:600}.tour-trigger-text{font-weight:500}@media (max-width: 768px){.tour-tooltip{width:calc(100vw - 40px);max-width:320px}.tour-title{font-size:16px}.tour-content{font-size:13px}}.home-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff}.home-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1)}.home-header-actions{display:flex;align-items:center;gap:12px}.home-brand{display:flex;flex-direction:column;gap:.25rem}.home-logo{font-size:1.5rem;font-weight:700;margin:0;display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.75rem}.home-tagline{font-size:.875rem;color:#fff9;margin:0}.home-hero{padding:4rem 2rem;text-align:center;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.2) 100%)}.hero-content{max-width:1400px;margin:0 auto;padding:0 1rem}.hero-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.125rem;color:#ffffffb3;margin:0 0 2rem;line-height:1.6}.hero-search{max-width:100%;margin:0 auto;width:100%;padding:0 1rem}.hero-search :global(.search-header){background:#ffffff1a;border-radius:12px;padding:.5rem}.section-title{font-size:1.25rem;font-weight:600;color:#ffffffe6;margin:0 0 1.5rem;text-align:center}.home-paths{padding:3rem 2rem;max-width:1200px;margin:0 auto}.paths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 900px){.paths-grid{grid-template-columns:1fr}}.path-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-decoration:none;color:inherit;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.path-card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.path-icon{font-size:2.5rem}.path-title{font-size:1.25rem;font-weight:600;margin:0;color:#fff}.path-description{font-size:.9rem;color:#ffffffb3;margin:0;line-height:1.5;flex-grow:1}.path-stats{display:flex;align-items:baseline;gap:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.stat-number{font-size:1.5rem;font-weight:700;color:#60a5fa}.stat-label{font-size:.8rem;color:#ffffff80}.path-cta{font-size:.9rem;font-weight:500;color:#60a5fa;display:flex;align-items:center;gap:.5rem}.path-interest-groups:hover{border-color:#f59e0b}.path-interest-groups .path-icon{color:#f59e0b}.path-interest-groups .stat-number,.path-interest-groups .path-cta{color:#fbbf24}.path-find-rep:hover{border-color:#3b82f6}.path-find-rep .path-icon{color:#3b82f6}.path-races:hover{border-color:#10b981}.path-races .path-icon{color:#10b981}.path-races .stat-number,.path-races .path-cta{color:#34d399}.home-featured{padding:3rem 2rem;max-width:1200px;margin:0 auto;background:#0000001a}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 900px){.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.featured-grid{grid-template-columns:1fr}}.featured-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.featured-card:hover{background:#ffffff1a;border-color:#fff3}.featured-icon{font-size:1.5rem;flex-shrink:0}.featured-info{flex-grow:1;min-width:0}.featured-name{font-size:.95rem;font-weight:600;margin:0 0 .25rem;color:#fff}.featured-description{font-size:.8rem;color:#fff9;margin:0 0 .5rem;line-height:1.4}.featured-detail{font-size:.75rem;color:#ffffff80;margin:0}.home-network-cta{padding:2rem;max-width:1200px;margin:0 auto}.network-cta-content{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid rgba(139,92,246,.3);border-radius:16px}.network-cta-icon{font-size:2.5rem;flex-shrink:0}.network-cta-text{flex-grow:1}.network-cta-text h4{font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.network-cta-text p{font-size:.9rem;color:#ffffffb3;margin:0}.network-cta-button{flex-shrink:0;padding:.75rem 1.5rem;background:#8b5cf64d;border:1px solid rgba(139,92,246,.5);border-radius:8px;color:#fff;font-weight:500;text-decoration:none;transition:all .2s ease}.network-cta-button:hover{background:#8b5cf680;border-color:#8b5cf6b3}@media (max-width: 700px){.network-cta-content{flex-direction:column;text-align:center}}.home-featured-story{padding:2rem;max-width:1200px;margin:0 auto}.story-card{display:block;position:relative;padding:2.5rem;background:linear-gradient(135deg,#ec489926,#8b5cf626);border:1px solid rgba(236,72,153,.3);border-radius:16px;text-decoration:none;color:inherit;transition:all .3s ease;overflow:hidden}.story-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ec4899,#8b5cf6)}.story-card:hover{background:linear-gradient(135deg,#ec489940,#8b5cf640);border-color:#ec489980;transform:translateY(-4px);box-shadow:0 12px 40px #ec489933}.story-badge{display:inline-block;padding:.375rem .75rem;background:#ec489933;border:1px solid rgba(236,72,153,.4);border-radius:20px;font-size:.75rem;font-weight:600;color:#f472b6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.story-title{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:#fff;line-height:1.3}.story-description{font-size:1rem;color:#ffffffb3;margin:0 0 1.5rem;line-height:1.6;max-width:600px}.story-cta{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#f472b6;transition:color .2s ease}.story-card:hover .story-cta{color:#f9a8d4}@media (max-width: 600px){.story-card{padding:1.5rem}.story-title{font-size:1.25rem}}.home-tools{padding:3rem 2rem;max-width:1200px;margin:0 auto}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 800px){.tools-grid{grid-template-columns:repeat(2,1fr)}}.tool-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease}.tool-card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.tool-icon{font-size:1.5rem}.tool-name{font-size:.85rem;font-weight:500;color:#ffffffe6;text-align:center}.tool-card-featured{background:#fbbf241a;border-color:#fbbf244d}.tool-card-featured:hover{background:#fbbf2433;border-color:#fbbf2480}.tool-card-featured .tool-name{color:#fbbf24}.home-footer{padding:2rem;text-align:center;border-top:1px solid rgba(255,255,255,.1);background:#0003}.home-footer p{margin:.25rem 0;font-size:.85rem;color:#ffffff80}.footer-disclaimer{font-size:.75rem!important;color:#fff6!important}.ts-container{background:#1e293b;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.ts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.ts-title{font-size:1.25rem;font-weight:600;color:#f1f5f9;margin:0}.ts-controls{display:flex;gap:.5rem}.ts-granularity-btn{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:transparent;color:#94a3b8;font-size:.875rem;cursor:pointer;transition:all .2s ease}.ts-granularity-btn:hover{background:#ffffff1a;color:#f1f5f9}.ts-granularity-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.ts-summary{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:#0003;border-radius:8px;flex-wrap:wrap}.ts-summary-item{display:flex;flex-direction:column;gap:.25rem}.ts-summary-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.ts-summary-value{font-size:1.5rem;font-weight:700;color:#f1f5f9}.ts-chart-wrapper{width:100%;min-height:250px}.ts-tooltip{background:#0f172a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.75rem 1rem;box-shadow:0 4px 12px #0000004d}.ts-tooltip-label{font-size:.875rem;font-weight:600;color:#f1f5f9;margin:0 0 .5rem}.ts-tooltip-value{font-size:.875rem;margin:.25rem 0}.ts-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#64748b;gap:1rem}.ts-spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:ts-spin .8s linear infinite}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-error{display:flex;align-items:center;justify-content:center;padding:2rem;color:#f87171;background:#f871711a;border-radius:8px;border:1px solid rgba(248,113,113,.2)}.ts-error p{margin:0}.ts-empty{display:flex;align-items:center;justify-content:center;padding:2rem;color:#64748b;background:#64748b1a;border-radius:8px;border:1px dashed rgba(100,116,139,.3)}.ts-empty p{margin:0}.ts-container .recharts-legend-wrapper{padding-top:1rem!important}.ts-container .recharts-legend-item-text{color:#94a3b8!important;font-size:.875rem}.ts-container .recharts-cartesian-axis-tick-value{fill:#64748b}@media (max-width: 768px){.ts-header{flex-direction:column;align-items:flex-start}.ts-summary{gap:1rem}.ts-summary-item{flex:1;min-width:100px}.ts-summary-value{font-size:1.25rem}.ts-controls{width:100%}.ts-granularity-btn{flex:1;text-align:center}}.receipt-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.receipt-modal{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;max-height:90vh;overflow-y:auto}.receipt-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;padding:4px 12px;line-height:1;transition:opacity .2s}.receipt-close:hover{opacity:.7}.receipt-card{width:380px;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);border-radius:16px;padding:28px 24px;font-family:SF Mono,Fira Code,Monaco,monospace;color:#e2e8f0;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.receipt-header{text-align:center;padding-bottom:16px;border-bottom:2px solid;margin-bottom:16px}.receipt-logo{font-size:28px;font-weight:800;letter-spacing:8px;color:#fff;margin-bottom:4px}.receipt-year{font-size:12px;color:#94a3b8;letter-spacing:2px}.receipt-candidate{text-align:center;margin-bottom:8px}.receipt-name{font-size:22px;font-weight:700;color:#fff;margin:0 0 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.receipt-meta{display:flex;justify-content:center;align-items:center;gap:10px}.receipt-party{padding:4px 12px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;letter-spacing:1px}.receipt-office{font-size:13px;color:#94a3b8}.receipt-divider{text-align:center;color:#475569;font-size:10px;letter-spacing:2px;margin:12px 0;-webkit-user-select:none;user-select:none}.receipt-total{text-align:center;padding:16px 0}.receipt-total-label{display:block;font-size:11px;color:#94a3b8;letter-spacing:2px;margin-bottom:8px}.receipt-total-amount{font-size:42px;font-weight:800;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.receipt-breakdown{display:flex;flex-direction:column;gap:10px;padding:8px 0}.receipt-line{display:flex;align-items:center;gap:10px;font-size:14px}.receipt-line-icon{font-size:16px;width:24px;text-align:center}.receipt-line-label{flex:1;color:#94a3b8}.receipt-line-amount{font-weight:600;color:#fff}.receipt-line.receipt-support .receipt-line-label,.receipt-line.receipt-support .receipt-line-amount{color:#10b981}.receipt-line.receipt-oppose .receipt-line-label,.receipt-line.receipt-oppose .receipt-line-amount{color:#f59e0b}.receipt-footer{text-align:center;padding-top:12px}.receipt-source{font-size:14px;font-weight:600;color:#60a5fa;margin-bottom:4px}.receipt-disclaimer{font-size:10px;color:#64748b}.receipt-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.receipt-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.receipt-btn:disabled{opacity:.6;cursor:not-allowed}.receipt-btn-primary{background:#3b82f6;color:#fff}.receipt-btn-primary:hover:not(:disabled){background:#2563eb}.receipt-btn-secondary{background:#374151;color:#fff}.receipt-btn-secondary:hover:not(:disabled){background:#4b5563}.receipt-btn-twitter{background:#000;color:#fff;border:1px solid #333}.receipt-btn-twitter:hover{background:#1a1a1a;border-color:#444}@media (max-width: 480px){.receipt-card{width:320px;padding:20px 16px}.receipt-name{font-size:18px}.receipt-total-amount{font-size:32px}.receipt-actions{flex-direction:column;width:100%}.receipt-btn{width:100%;justify-content:center}}.cpage{min-height:100vh;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e);color:#f1f5f9}.cpage-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.cpage-back-btn{display:flex;align-items:center;gap:8px;color:#94a3b8;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:8px;transition:all .2s}.cpage-back-btn:hover{background:#ffffff1a;color:#fff}.cpage-nav-links{display:flex;gap:12px}.cpage-external-link{color:#64748b;text-decoration:none;font-size:13px;padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s}.cpage-external-link:hover{background:#ffffff1a;color:#94a3b8;border-color:#fff3}.cpage-compare-btn{background:#8b5cf626;border-color:#8b5cf64d;color:#a78bfa}.cpage-compare-btn:hover{background:#8b5cf640;border-color:#8b5cf680;color:#c4b5fd}.cpage-network-btn{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.cpage-network-btn:hover{background:#3b82f640;border-color:#3b82f680;color:#93c5fd}.cpage-receipt-btn{background:#f59e0b26;border-color:#f59e0b4d;color:#fbbf24;cursor:pointer}.cpage-receipt-btn:hover{background:#f59e0b40;border-color:#f59e0b80;color:#fcd34d}.cpage-hero{padding:48px 32px;background:linear-gradient(180deg,rgba(30,58,138,.3) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.1)}.cpage-hero-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:32px}.cpage-photo{width:160px;height:200px;object-fit:cover;border-radius:12px;border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0006}.cpage-photo-fallback{width:160px;height:200px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;border:3px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0006}.cpage-hero-info{flex:1}.cpage-hero-info h1{font-size:36px;font-weight:800;margin:0 0 16px;color:#fff}.cpage-hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cpage-party-badge{display:inline-flex;align-items:center;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600}.cpage-office-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:#ffffff1a;border-radius:20px;font-size:13px;color:#cbd5e1}.cpage-office-location{color:#94a3b8;font-weight:500}.cpage-hero-id{margin-top:8px;color:#64748b;font-size:13px}.cpage-hero-id code{background:#0000004d;padding:2px 8px;border-radius:4px;font-family:Fira Code,monospace;color:#94a3b8}.cpage-hero-funding{text-align:right;min-width:200px}.cpage-funding-label{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cpage-funding-amount{display:block;font-size:42px;font-weight:800;color:#10b981;text-shadow:0 2px 20px rgba(16,185,129,.3)}.cpage-funding-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto;padding:32px}.cpage-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;display:flex;gap:16px;transition:all .2s}.cpage-card:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px)}.cpage-card-icon{width:48px;height:48px;border-radius:12px;background:#3b82f633;display:flex;align-items:center;justify-content:center;color:#60a5fa;flex-shrink:0}.cpage-card-support .cpage-card-icon{background:#10b98133;color:#34d399}.cpage-card-oppose .cpage-card-icon{background:#ef444433;color:#f87171}.cpage-card-content{display:flex;flex-direction:column;gap:4px}.cpage-card-label{color:#94a3b8;font-size:12px}.cpage-card-value{color:#60a5fa;font-size:24px;font-weight:700}.cpage-card-support .cpage-card-value{color:#34d399}.cpage-card-oppose .cpage-card-value{color:#f87171}.cpage-card-count{color:#64748b;font-size:12px}.cpage-tabs{display:flex;gap:4px;max-width:1200px;margin:0 auto;padding:0 32px;border-bottom:1px solid rgba(255,255,255,.1)}.cpage-tab{background:transparent;border:none;color:#94a3b8;padding:16px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px}.cpage-tab:hover{color:#fff;background:#ffffff0d}.cpage-tab.active{color:#fff;border-bottom-color:#3b82f6}.cpage-tab-badge{background:#3b82f6;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.cpage-main{max-width:1200px;margin:0 auto;padding:32px;min-height:400px}.cpage-tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cpage-tab-header{margin-bottom:24px}.cpage-tab-header h3{font-size:20px;font-weight:700;margin:0 0 8px;color:#fff}.cpage-tab-description{color:#64748b;font-size:14px;margin:0}.cpage-tab-summary{display:flex;gap:16px;align-items:center;color:#94a3b8;font-size:14px}.cpage-table-container{overflow-x:auto;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0003}.cpage-table{width:100%;border-collapse:collapse}.cpage-table th{text-align:left;padding:14px 20px;color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1)}.cpage-table td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;color:#94a3b8}.cpage-table tbody tr:hover{background:#ffffff08}.cpage-table tbody tr:last-child td{border-bottom:none}.cpage-name{color:#fff;font-weight:500}.cpage-secondary{font-size:13px;color:#64748b}.cpage-amount{color:#10b981;font-weight:600;font-variant-numeric:tabular-nums}.cpage-count{color:#64748b;font-size:13px}.cpage-ie-summary{display:flex;gap:20px;margin-bottom:24px}.cpage-ie-card{flex:1;padding:24px;border-radius:12px;display:flex;flex-direction:column;gap:8px}.cpage-ie-support{background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.cpage-ie-oppose{background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.cpage-ie-label{color:#94a3b8;font-size:13px}.cpage-ie-support .cpage-ie-value{color:#10b981;font-size:32px;font-weight:700}.cpage-ie-oppose .cpage-ie-value{color:#ef4444;font-size:32px;font-weight:700}.cpage-ie-filters{display:flex;gap:8px;margin-bottom:20px}.cpage-filter-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#94a3b8;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.cpage-filter-btn:hover{background:#ffffff26;color:#fff}.cpage-filter-btn.active{background:#3b82f633;border-color:#3b82f666;color:#60a5fa}.cpage-filter-btn.cpage-support.active{background:#10b98133;border-color:#10b98166;color:#34d399}.cpage-filter-btn.cpage-oppose.active{background:#ef444433;border-color:#ef444466;color:#f87171}.cpage-position{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.cpage-position.support{background:#10b98133;color:#34d399}.cpage-position.oppose{background:#ef444433;color:#f87171}.cpage-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.cpage-group-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;transition:all .2s}.cpage-group-card:hover{background:#ffffff14;border-color:#3b82f64d;transform:translateY(-2px)}.cpage-group-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.cpage-group-icon{font-size:36px;line-height:1}.cpage-group-header h4{color:#fff;font-size:16px;font-weight:600;margin:0 0 4px}.cpage-group-total{color:#3b82f6;font-size:24px;font-weight:700}.cpage-group-breakdown{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.cpage-group-row{display:flex;justify-content:space-between;font-size:13px;color:#94a3b8}.cpage-support-text{color:#34d399!important}.cpage-oppose-text{color:#f87171!important}.cpage-group-footer{display:flex;gap:16px;color:#64748b;font-size:12px}.cpage-loading,.cpage-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#94a3b8;text-align:center}.cpage-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.cpage-loading-page,.cpage-error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#0f0f1a,#1a1a2e);color:#f1f5f9}.cpage-spinner-large{width:64px;height:64px;border:4px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:24px}.cpage-error-page h1{font-size:32px;margin:0 0 12px}.cpage-error-page p{color:#94a3b8;margin:0 0 24px}.cpage-back-link{display:inline-flex;align-items:center;gap:8px;color:#60a5fa;text-decoration:none;font-size:14px;padding:10px 20px;border:1px solid rgba(96,165,250,.3);border-radius:8px;transition:all .2s}.cpage-back-link:hover{background:#60a5fa1a}.cpage-error{text-align:center;padding:40px 20px;color:#f87171}.cpage-footer{max-width:1200px;margin:0 auto;padding:32px;text-align:center;color:#475569;font-size:13px;border-top:1px solid rgba(255,255,255,.05)}@media (max-width: 1024px){.cpage-hero-content{flex-wrap:wrap}.cpage-hero-funding{width:100%;text-align:left;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.cpage-funding-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.cpage-nav{flex-direction:column;gap:12px;padding:16px}.cpage-hero{padding:32px 16px}.cpage-hero-content{flex-direction:column;align-items:center;text-align:center}.cpage-hero-info h1{font-size:28px}.cpage-hero-meta{justify-content:center}.cpage-hero-funding{text-align:center}.cpage-funding-amount{font-size:32px}.cpage-funding-cards{grid-template-columns:1fr;padding:16px;gap:12px}.cpage-tabs{padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.cpage-tab{padding:14px 16px;white-space:nowrap;font-size:13px}.cpage-main{padding:20px 16px}.cpage-ie-summary{flex-direction:column}.cpage-groups-grid{grid-template-columns:1fr}.cpage-footer{padding:24px 16px}}@media (max-width: 480px){.cpage-photo,.cpage-photo-fallback{width:120px;height:150px}.cpage-table td,.cpage-table th{padding:10px 12px;font-size:12px}}.compare-page{min-height:100vh;background:linear-gradient(135deg,#0f0f1a,#1a1a2e,#16213e);color:#f1f5f9}.compare-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.compare-back-btn{color:#94a3b8;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:8px;transition:all .2s}.compare-back-btn:hover{background:#ffffff1a;color:#fff}.compare-title{font-size:20px;font-weight:700;margin:0;color:#fff}.compare-nav-actions{display:flex;align-items:center;gap:12px}.compare-nav-link{color:#64748b;text-decoration:none;font-size:13px;padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s}.compare-nav-link:hover{background:#ffffff1a;color:#94a3b8;border-color:#fff3}.compare-search-section{max-width:600px;margin:32px auto;padding:0 32px}.compare-search-container{position:relative}.compare-search-input{width:100%;padding:16px 20px;font-size:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;outline:none;transition:all .2s}.compare-search-input::placeholder{color:#64748b}.compare-search-input:focus{background:#ffffff14;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a}.compare-search-spinner{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.compare-search-results{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:#1e1e2f;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;z-index:100;box-shadow:0 8px 32px #0006}.compare-search-result{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 20px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);text-align:left;cursor:pointer;transition:all .2s}.compare-search-result:last-child{border-bottom:none}.compare-search-result:hover{background:#3b82f61a}.compare-result-name{color:#fff;font-weight:500;font-size:14px}.compare-result-meta{color:#64748b;font-size:12px}.compare-search-hint{text-align:center;color:#64748b;font-size:13px;margin-top:12px}.compare-cards-section{padding:0 32px 32px}.compare-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1400px;margin:0 auto}.compare-card{position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;transition:all .2s}.compare-card:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px)}.compare-card-remove{position:absolute;top:12px;right:12px;width:28px;height:28px;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#f87171;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.compare-card-remove:hover{background:#ef44444d;color:#fff}.compare-card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.compare-card-party-indicator{width:4px;height:48px;border-radius:2px;flex-shrink:0}.compare-card-info{flex:1;min-width:0}.compare-card-name{display:block;color:#fff;font-size:18px;font-weight:700;text-decoration:none;margin-bottom:6px;transition:color .2s}.compare-card-name:hover{color:#60a5fa}.compare-card-meta{display:flex;flex-direction:column;gap:4px;font-size:13px}.compare-party{color:#94a3b8;font-weight:500}.compare-office{color:#64748b}.compare-card-funding{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.compare-funding-total{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.compare-funding-label{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.compare-funding-value{color:#10b981;font-size:32px;font-weight:800;text-shadow:0 2px 16px rgba(16,185,129,.3)}.compare-funding-breakdown{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;background:#0003;border-radius:10px}.compare-funding-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.compare-funding-type{color:#94a3b8}.compare-funding-amount{color:#60a5fa;font-weight:600;font-variant-numeric:tabular-nums}.compare-funding-row.support .compare-funding-amount{color:#34d399}.compare-funding-row.oppose .compare-funding-amount{color:#f87171}.compare-funding-stats{display:flex;justify-content:space-between;gap:12px}.compare-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#ffffff08;border-radius:8px}.compare-stat-value{color:#fff;font-size:18px;font-weight:700}.compare-stat-label{color:#64748b;font-size:11px;text-transform:uppercase}.compare-shared-section{max-width:1400px;margin:0 auto;padding:32px}.compare-shared-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.compare-shared-header h2{color:#fff;font-size:22px;font-weight:700;margin:0}.compare-shared-summary{display:flex;gap:16px;align-items:center}.compare-shared-count{color:#60a5fa;font-weight:600;font-size:14px}.compare-shared-total{color:#10b981;font-weight:600;font-size:14px}.compare-shared-description{color:#64748b;font-size:14px;margin:0 0 24px}.compare-table-container{overflow-x:auto;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#0003}.compare-table{width:100%;border-collapse:collapse;min-width:600px}.compare-table th{text-align:left;padding:14px 20px;color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap}.compare-table th.compare-table-candidate{text-align:right;max-width:120px;overflow:hidden;text-overflow:ellipsis}.compare-table td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:14px;color:#94a3b8}.compare-table tbody tr:hover{background:#ffffff08}.compare-table tbody tr:last-child td{border-bottom:none}.compare-donor-name{color:#fff;font-weight:500}.compare-donor-secondary{font-size:12px;color:#64748b;margin-top:2px}.compare-donor-state{text-align:center;color:#64748b}.compare-donor-amount{text-align:right;font-variant-numeric:tabular-nums;color:#60a5fa;font-weight:500}.compare-donor-total{text-align:right;font-variant-numeric:tabular-nums;color:#10b981;font-weight:700}.compare-no-shared{max-width:1400px;margin:0 auto;padding:48px 32px;text-align:center}.compare-no-shared p{color:#64748b;font-size:16px}.compare-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;text-align:center}.compare-empty-icon{font-size:64px;margin-bottom:24px}.compare-empty h2{color:#fff;font-size:24px;font-weight:700;margin:0 0 12px}.compare-empty p{color:#64748b;font-size:16px;max-width:480px;line-height:1.6;margin:0}.compare-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;color:#94a3b8}.compare-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.compare-error{text-align:center;padding:48px 32px;color:#f87171}.compare-footer{max-width:1400px;margin:0 auto;padding:32px;text-align:center;color:#475569;font-size:13px;border-top:1px solid rgba(255,255,255,.05)}@media (max-width: 768px){.compare-nav{flex-direction:column;gap:12px;padding:16px}.compare-title{order:-1}.compare-search-section{padding:0 16px;margin:24px auto}.compare-cards-section{padding:0 16px 24px}.compare-cards-grid{grid-template-columns:1fr;gap:16px}.compare-shared-section{padding:24px 16px}.compare-shared-header{flex-direction:column;align-items:flex-start;gap:8px}.compare-empty{padding:48px 16px}}@media (max-width: 480px){.compare-table td,.compare-table th{padding:10px 12px;font-size:12px}.compare-funding-value{font-size:28px}.compare-funding-stats{flex-wrap:wrap}.compare-stat{min-width:calc(50% - 6px)}}.race-explorer{min-height:100vh;background:var(--bg-primary, #0a0a0f);color:var(--text-primary, #fff);padding:24px}.race-header{max-width:1400px;margin:0 auto 24px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted, #8b8b9a);text-decoration:none;font-size:14px;margin-bottom:16px;transition:color .2s}.back-link:hover{color:var(--text-primary, #fff)}.race-header-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.race-header h1{font-size:28px;font-weight:700;margin:0}.race-subtitle{color:var(--text-muted, #8b8b9a);margin:8px 0 0;font-size:15px}.race-filters{display:flex;flex-wrap:wrap;gap:16px;max-width:1400px;margin:0 auto 24px;padding:20px;background:var(--bg-secondary, #13131a);border-radius:12px;border:1px solid var(--border-color, #2a2a35)}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:120px}.filter-group label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #8b8b9a)}.filter-select,.filter-input{padding:10px 14px;font-size:14px;background:var(--bg-primary, #0a0a0f);border:1px solid var(--border-color, #2a2a35);border-radius:8px;color:var(--text-primary, #fff);cursor:pointer;min-width:140px}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--accent-color, #6366f1)}.filter-input{max-width:80px}.race-content{max-width:1400px;margin:0 auto}.race-title{font-size:20px;font-weight:600;margin:0 0 20px;color:var(--text-primary, #fff)}.race-empty,.race-loading,.race-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--bg-secondary, #13131a);border-radius:12px;border:1px solid var(--border-color, #2a2a35)}.empty-icon,.error-icon{font-size:48px;margin-bottom:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color, #2a2a35);border-top-color:var(--accent-color, #6366f1);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.race-empty p,.race-loading p,.race-error p{color:var(--text-muted, #8b8b9a);margin:0}.error-hint{font-size:13px;margin-top:8px!important}.race-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color, #2a2a35);background:var(--bg-secondary, #13131a)}.race-comparison-table{width:max-content;min-width:100%;border-collapse:collapse}.candidate-header-row th{vertical-align:top;padding:20px 16px;text-align:center;border-bottom:2px solid var(--border-color, #2a2a35)}.metric-label-col{position:sticky;left:0;min-width:160px;background:var(--bg-secondary, #13131a);z-index:10}.candidate-col{min-width:150px;max-width:180px;position:relative}.candidate-header-link{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;transition:opacity .2s}.candidate-header-link:hover{opacity:.85}.candidate-rank{font-size:11px;font-weight:700;color:var(--text-muted, #8b8b9a);background:var(--bg-primary, #0a0a0f);padding:2px 8px;border-radius:10px}.candidate-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.candidate-name{font-size:14px;font-weight:600;color:var(--text-primary, #fff);line-height:1.3;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-district{font-size:12px;color:var(--text-muted, #8b8b9a)}.party-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px}.incumbent-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px;background:var(--bg-tertiary, #1c1c26);color:var(--text-muted, #8b8b9a)}.network-btn{position:absolute;top:16px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--bg-primary, #0a0a0f);border:1px solid var(--border-color, #2a2a35);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.network-btn:hover{background:var(--accent-color, #6366f1);border-color:var(--accent-color, #6366f1)}.section-header td{padding:12px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted, #8b8b9a);background:var(--bg-tertiary, #1c1c26);border-top:2px solid var(--border-color, #2a2a35);position:sticky;left:0}.interest-group-header td{color:var(--accent-color, #6366f1);background:#6366f11a}.metric-row td{padding:12px 16px;border-bottom:1px solid var(--border-color, #2a2a35)}.metric-label{position:sticky;left:0;background:var(--bg-secondary, #13131a);z-index:5;font-size:14px;color:var(--text-primary, #fff);white-space:nowrap}.metric-label.indented{padding-left:32px;color:var(--text-muted, #8b8b9a);font-size:13px}.metric-value{text-align:right;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-primary, #fff)}.total-row td{font-weight:700;border-top:2px solid var(--border-color, #2a2a35)}.total-row .metric-label{font-weight:700}.total-row .metric-value{font-size:15px}.coming-soon-row td{padding:16px;border-bottom:1px solid var(--border-color, #2a2a35)}.coming-soon{text-align:center!important;color:var(--text-muted, #8b8b9a);font-style:italic;font-size:13px}.race-legend{max-width:1400px;margin:32px auto 0;padding:20px;background:var(--bg-secondary, #13131a);border-radius:12px;border:1px solid var(--border-color, #2a2a35)}.race-legend h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #8b8b9a);margin:0 0 16px}.legend-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.legend-item{display:flex;flex-direction:column;gap:2px}.legend-label{font-size:13px;font-weight:600;color:var(--text-primary, #fff)}.legend-desc{font-size:12px;color:var(--text-muted, #8b8b9a)}@media (max-width: 768px){.race-explorer{padding:16px}.race-header h1{font-size:22px}.race-filters{padding:16px}.filter-group{flex:1;min-width:100px}.filter-select,.filter-input{min-width:100%}.candidate-col{min-width:130px}.candidate-avatar{width:48px;height:48px;font-size:18px}.candidate-name{font-size:13px;max-width:120px}.metric-label-col{min-width:120px}}.geo-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f1f5f9;padding:0 1rem 2rem}.geo-nav{display:flex;align-items:center;padding:1rem 0;gap:1rem}.geo-back-btn{display:flex;align-items:center;gap:.5rem;color:#94a3b8;text-decoration:none;font-size:.875rem;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease}.geo-back-btn:hover{background:#ffffff1a;color:#f1f5f9}.geo-header{text-align:center;margin-bottom:2rem}.geo-header h1{font-size:2rem;margin:0 0 .5rem;font-weight:700}.geo-subtitle{color:#64748b;font-size:1rem;margin:0}.geo-filters{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.geo-filter-group{display:flex;flex-direction:column;gap:.25rem}.geo-filter-group label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.geo-filter-group select{padding:.5rem 1rem;border-radius:6px;background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#f1f5f9;font-size:.875rem;min-width:160px;cursor:pointer}.geo-filter-group select:focus{outline:none;border-color:#3b82f6}.geo-summary{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;flex-wrap:wrap}.geo-stat{display:flex;flex-direction:column;align-items:center}.geo-stat-value{font-size:1.75rem;font-weight:700;color:#f1f5f9}.geo-stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.geo-map-container{position:relative;background:#0f172a;border-radius:12px;padding:1rem;border:1px solid rgba(255,255,255,.1);margin-bottom:2rem}.geo-map{width:100%;height:auto;max-height:500px}.geo-legend{position:absolute;bottom:1.5rem;left:1.5rem;background:#0f172ae6;padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.geo-legend-title{display:block;font-size:.75rem;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.geo-legend-scale{display:flex;height:12px;border-radius:2px;overflow:hidden}.geo-legend-item{flex:1;min-width:20px}.geo-legend-labels{display:flex;justify-content:space-between;font-size:.7rem;color:#94a3b8;margin-top:.25rem}.geo-tooltip{position:fixed;background:#0f172a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.75rem 1rem;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #0000004d;font-size:.875rem}.geo-tooltip strong{display:block;margin-bottom:.25rem;color:#f1f5f9}.geo-tooltip-donors{color:#64748b;font-size:.75rem}.geo-detail-panel{position:fixed;right:0;top:0;bottom:0;width:400px;max-width:100vw;background:#1e293b;border-left:1px solid rgba(255,255,255,.1);padding:1.5rem;overflow-y:auto;z-index:100;box-shadow:-4px 0 20px #0000004d}.geo-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.geo-detail-header h2{margin:0;font-size:1.5rem}.geo-close-btn{background:none;border:none;color:#94a3b8;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease}.geo-close-btn:hover{background:#ffffff1a;color:#f1f5f9}.geo-detail-loading{color:#64748b;text-align:center;padding:2rem}.geo-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.geo-detail-stat{display:flex;flex-direction:column;align-items:center}.geo-detail-stat-value{font-size:1.25rem;font-weight:700;color:#f1f5f9}.geo-detail-stat-label{font-size:.7rem;color:#64748b;text-transform:uppercase}.geo-detail-section{margin-bottom:1.5rem}.geo-detail-section h3{font-size:.875rem;color:#94a3b8;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.geo-detail-list{list-style:none;padding:0;margin:0}.geo-detail-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.geo-donor-name{color:#f1f5f9;font-size:.875rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-donor-amount{color:#10b981;font-weight:600;font-size:.875rem;margin-left:1rem}.geo-candidate-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;flex:1;min-width:0}.geo-candidate-name{color:#3b82f6;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-candidate-link:hover .geo-candidate-name{text-decoration:underline}.geo-party{font-size:.7rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;flex-shrink:0}.geo-party.dem{background:#3b82f633;color:#3b82f6}.geo-party.rep{background:#ef444433;color:#ef4444}.geo-candidate-amount{color:#10b981;font-weight:600;font-size:.875rem;margin-left:1rem;flex-shrink:0}.geo-leaderboard{max-width:800px;margin:0 auto}.geo-leaderboard h2{font-size:1.25rem;margin:0 0 1rem;text-align:center}.geo-state-list{display:flex;flex-direction:column;gap:.5rem}.geo-state-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#1e293b;border-radius:8px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease}.geo-state-row:hover{background:#334155;border-color:#ffffff1a}.geo-state-row.selected{background:#334155;border-color:#3b82f6}.geo-state-rank{color:#64748b;font-weight:600;font-size:.875rem;min-width:2rem}.geo-state-name{flex:1;font-weight:500;color:#f1f5f9}.geo-state-donors{color:#64748b;font-size:.875rem}.geo-state-amount{font-weight:600;color:#10b981;min-width:80px;text-align:right}.geo-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:#64748b}.geo-spinner{width:40px;height:40px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:geo-spin .8s linear infinite}@keyframes geo-spin{to{transform:rotate(360deg)}}.geo-error{display:flex;align-items:center;justify-content:center;min-height:60vh;color:#f87171}@media (max-width: 768px){.geo-header h1{font-size:1.5rem}.geo-filters{flex-direction:column;align-items:center}.geo-filter-group select{width:100%;max-width:300px}.geo-summary{gap:1.5rem}.geo-stat-value{font-size:1.25rem}.geo-detail-panel{width:100%;left:0;top:auto;bottom:0;max-height:60vh;border-left:none;border-top:1px solid rgba(255,255,255,.1);border-radius:16px 16px 0 0}.geo-legend{position:static;margin-top:1rem}.geo-state-row{flex-wrap:wrap}.geo-state-donors{order:3;width:100%;margin-top:.25rem;margin-left:2.5rem;font-size:.75rem}}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#1a1a2e,#16213e)}.not-found-content{max-width:500px;text-align:center}.not-found-code{font-size:120px;font-weight:800;color:#6366f1;line-height:1;margin-bottom:16px;text-shadow:0 4px 20px rgba(99,102,241,.3)}.not-found-content h1{color:#e5e5e5;font-size:32px;margin:0 0 16px}.not-found-message{color:#9ca3af;font-size:16px;margin:0 0 32px}.not-found-actions{display:flex;gap:16px;justify-content:center;margin-bottom:48px}.not-found-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none}.not-found-btn.primary{background:#6366f1;color:#fff}.not-found-btn.primary:hover{background:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.not-found-btn.secondary{background:transparent;color:#9ca3af;border:1px solid #404040}.not-found-btn.secondary:hover{background:#2a2a2a;color:#e5e5e5}.not-found-suggestions{background:#ffffff0d;border-radius:12px;padding:24px;text-align:left}.not-found-suggestions h3{color:#e5e5e5;font-size:14px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.not-found-suggestions ul{list-style:none;padding:0;margin:0}.not-found-suggestions li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.not-found-suggestions li:last-child{border-bottom:none}.not-found-suggestions a{color:#6366f1;text-decoration:none;font-weight:500;display:block;margin-bottom:4px}.not-found-suggestions a:hover{color:#818cf8}.not-found-suggestions span{color:#6b7280;font-size:13px}@media (max-width: 600px){.not-found-code{font-size:80px}.not-found-content h1{font-size:24px}.not-found-actions{flex-direction:column;gap:12px}.not-found-btn{justify-content:center}}.onepager{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:800px;margin:0 auto;padding:24px;background:#fff;color:#1a1a2e;font-size:11px;line-height:1.4}.onepager-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.onepager-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.onepager-error{text-align:center;padding:40px;color:#ef4444}.onepager-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1a1a2e;padding-bottom:12px;margin-bottom:16px}.onepager-branding{display:flex;flex-direction:column}.onepager-site{font-size:18px;font-weight:700;margin:0;color:#1a1a2e}.onepager-tagline{font-size:10px;color:#6b7280;margin-top:2px}.onepager-date{font-size:10px;color:#6b7280;text-align:right}.onepager-candidate{text-align:center;margin-bottom:20px}.onepager-name{font-size:24px;font-weight:700;margin:0 0 8px;color:#1a1a2e}.onepager-meta{font-size:12px;color:#4b5563}.onepager-separator{margin:0 8px;color:#d1d5db}.onepager-funding{background:#f8fafc;border-radius:8px;padding:16px;margin-bottom:20px}.onepager-funding-total{text-align:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.onepager-funding-label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.onepager-funding-amount{font-size:28px;font-weight:700;color:#059669}.onepager-funding-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.onepager-funding-item{text-align:center;padding:8px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.onepager-funding-item-value{display:block;font-size:16px;font-weight:600;color:#1a1a2e}.onepager-funding-item-label{display:block;font-size:9px;color:#6b7280;text-transform:uppercase;margin-top:2px}.onepager-funding-item-count{display:block;font-size:9px;color:#9ca3af;margin-top:2px}.onepager-support .onepager-funding-item-value{color:#059669}.onepager-oppose .onepager-funding-item-value{color:#dc2626}.onepager-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.onepager-section{margin-bottom:16px}.onepager-section-title{font-size:12px;font-weight:600;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #e5e7eb}.onepager-table{width:100%;border-collapse:collapse;font-size:10px}.onepager-table th{text-align:left;font-weight:600;color:#6b7280;font-size:9px;text-transform:uppercase;padding:4px 6px;border-bottom:1px solid #e5e7eb}.onepager-table td{padding:4px 6px;border-bottom:1px solid #f3f4f6;vertical-align:top}.onepager-table tbody tr:last-child td{border-bottom:none}.onepager-right{text-align:right}.onepager-name-cell{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onepager-employer-cell{color:#6b7280;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onepager-no-data{color:#9ca3af;font-style:italic;text-align:center;padding:20px}.onepager-groups{grid-column:1 / -1}.onepager-groups-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.onepager-group{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border-radius:6px;border:1px solid #e5e7eb}.onepager-group-icon{font-size:14px}.onepager-group-name{flex:1;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onepager-group-amount{font-size:10px;font-weight:600;color:#059669}.onepager-footer{margin-top:20px;padding-top:12px;border-top:1px solid #e5e7eb;text-align:center;font-size:9px;color:#6b7280}.onepager-footer p{margin:4px 0}.onepager-disclaimer{font-style:italic;color:#9ca3af}.onepager-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1px dashed #d1d5db}.onepager-print-btn{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:#3b82f6;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.onepager-print-btn:hover{background:#2563eb}.onepager-close-btn{padding:10px 24px;font-size:14px;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.onepager-close-btn:hover{background:#e5e7eb}@media print{.no-print,.onepager-actions{display:none!important}@page{size:letter portrait;margin:.5in}html,body{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.onepager{padding:0;max-width:none;font-size:10px}.onepager-funding,.onepager-group,.onepager-funding-item{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.onepager-section,.onepager-funding,.onepager-table{page-break-inside:avoid}.onepager-table td,.onepager-table th{padding:3px 4px}.onepager-funding-amount{font-size:24px}.onepager-funding-item-value{font-size:14px}.onepager-groups-grid{grid-template-columns:repeat(3,1fr);gap:6px}.onepager-group{padding:6px 8px}}@media screen and (max-width: 768px){.onepager-columns{grid-template-columns:1fr}.onepager-funding-grid,.onepager-groups-grid{grid-template-columns:repeat(2,1fr)}}.candidate-card{display:flex;align-items:center;gap:10px;padding:10px;background:#2a2a2a;border:1px solid #404040;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.candidate-card:hover{background:#333;border-color:#555}.candidate-card.selected{border-color:#646cff;background:#333}.candidate-card.party-dem{border-left:3px solid #3b82f6}.candidate-card.party-rep{border-left:3px solid #ef4444}.candidate-card.party-other{border-left:3px solid #6b7280}.candidate-photo{position:relative;flex-shrink:0}.candidate-photo img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#333}.incumbent-badge{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:#f59e0b;color:#000;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center}.candidate-info{flex:1;min-width:0}.candidate-name{font-size:13px;font-weight:600;color:#e0e0e0;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-party{display:flex;align-items:center;gap:6px;margin-bottom:4px}.party-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.party-badge.party-dem{background:#3b82f633;color:#60a5fa}.party-badge.party-rep{background:#ef444433;color:#f87171}.party-badge.party-other{background:#6b728033;color:#9ca3af}.district-label{font-size:11px;color:#888}.candidate-funding{display:flex;align-items:center;gap:4px}.funding-total{font-size:12px;font-weight:600;color:#10b981}.selected-indicator{position:absolute;top:6px;right:6px;width:20px;height:20px;background:#646cff;color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}.race-grid{display:flex;flex-direction:column;gap:12px}.race-grid-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #333}.race-label{font-size:14px;font-weight:600;color:#e0e0e0}.candidate-count{font-size:12px;color:#888}.candidate-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.candidate-list::-webkit-scrollbar{width:6px}.candidate-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.candidate-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.candidate-list::-webkit-scrollbar-thumb:hover{background:#555}.race-grid-empty,.race-grid-loading,.race-grid-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#252525;border-radius:8px;text-align:center}.race-grid-empty p,.race-grid-loading p,.race-grid-error p{font-size:13px;color:#666;margin:0}.race-grid-error p{color:#f87171}.loading-spinner{width:24px;height:24px;border:2px solid #333;border-top-color:#646cff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:8px}.graph-canvas-container{position:relative;width:100%;height:100%;background:#1a1a1a;border-radius:8px;overflow:hidden}.graph-svg{display:block;width:100%;height:100%}.graph-content{transition:transform .1s ease-out}.node{transition:all .2s ease}.node:hover{filter:brightness(1.3)}.link{transition:stroke-opacity .2s ease}.label{-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.node-tooltip{position:fixed;background:#0f0f0ff2;border:1px solid #404040;border-radius:8px;padding:12px 14px;min-width:180px;max-width:280px;box-shadow:0 4px 16px #00000080;z-index:9999;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tooltip-icon{font-size:16px}.tooltip-name{font-weight:600;color:#fff;font-size:14px;line-height:1.3;word-break:break-word}.tooltip-type{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #333}.tooltip-amount{font-size:13px;color:#10b981;font-weight:600;margin:4px 0}.tooltip-party{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin:6px 0 4px}.tooltip-hint{font-size:10px;color:#6b7280;margin-top:8px;padding-top:6px;border-top:1px solid #333;text-align:center}.network-legend{position:absolute;bottom:20px;left:20px;background:#1a1a1ae6;border:1px solid #404040;border-radius:8px;padding:12px 16px;display:flex;gap:24px;z-index:100}.legend-section{display:flex;flex-direction:column;gap:6px}.network-legend .legend-title{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.network-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#e5e7eb}.network-legend .legend-color{width:14px;height:14px;border-radius:50%;flex-shrink:0}.network-legend .legend-line{width:24px;height:3px;border-radius:2px;flex-shrink:0}.graph-controls-internal{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;gap:4px;background:#1a1a1ae6;border:1px solid #404040;border-radius:8px;padding:4px}.graph-controls-internal button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#888;font-size:18px;cursor:pointer;border-radius:4px;transition:all .2s}.graph-controls-internal button:hover{background:#333;color:#fff}.graph-stats{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#1a1a1ae6;border:1px solid #404040;border-radius:20px;padding:8px 16px;font-size:12px;color:#aaa}.graph-stats .stat-divider{color:#444}.graph-stats .stat-amount{color:#4ade80;font-weight:500}.graph-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#888}.loading-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite}.graph-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#888;text-align:center;padding:20px}.graph-error .error-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:24px;font-weight:700;border-radius:50%}.graph-error .error-detail{font-size:12px;color:#666;max-width:300px}.graph-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#666;text-align:center;padding:20px}.graph-empty .empty-icon{font-size:48px;opacity:.5}@media (max-width: 900px){.network-legend{flex-direction:column;gap:12px}.graph-stats{font-size:11px;padding:6px 12px}}.details-panel{width:360px;min-width:320px;background:#1e1e1e;border-left:1px solid #333;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.details-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px;border-bottom:1px solid #333;gap:12px}.details-title-row{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.party-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;width:fit-content}.details-header h2{font-size:18px;font-weight:600;margin:0;color:#fff;line-height:1.3;word-wrap:break-word}.details-content{padding:16px;flex:1}.money-trails{margin-bottom:20px}.trail-loading{display:flex;align-items:center;gap:10px;padding:16px;background:#252525;border-radius:8px;color:#888;font-size:13px}.loading-spinner-small{width:20px;height:20px;border:2px solid #333;border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite}.trail-breakdown{background:#252525;border-radius:8px;overflow:hidden}.trail-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#2a2a2a;border-bottom:1px solid #333}.total-label{font-size:13px;font-weight:600;color:#e0e0e0}.total-value{font-size:18px;font-weight:700;color:#4ade80}.trail-items{padding:8px 0}.trail-item{padding:10px 16px;transition:background .2s}.trail-item:hover{background:#2a2a2a}.trail-item-header{display:flex;align-items:center;gap:8px}.trail-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.trail-label{flex:1;font-size:13px;color:#e0e0e0}.trail-amount{font-size:14px;font-weight:600}.trail-item-detail{margin-left:16px;margin-top:4px;display:flex;align-items:center;gap:6px}.trail-description{font-size:11px;color:#666}.trail-count{font-size:11px;color:#888}.trail-empty{padding:24px;text-align:center;background:#252525;border-radius:8px}.trail-empty p{color:#666;font-size:13px;margin:0}.trail-ie{padding:10px 16px;background:#22d3ee0d;border-left:3px solid #22d3ee}.trail-ie .trail-item-header{margin-bottom:8px}.ie-label{color:#22d3ee;font-weight:600}.ie-breakdown{display:flex;align-items:center;gap:8px;padding:6px 0 6px 16px}.ie-breakdown .trail-color{width:6px;height:6px}.ie-type{flex:1;font-size:12px;color:#aaa}.ie-amount{font-size:13px;font-weight:600}.ie-support .ie-type{color:#22c55e}.ie-oppose .ie-type{color:#ef4444}.entity-info{padding:16px;background:#252525;border-radius:8px;margin-bottom:20px}.info-text{color:#aaa;font-size:13px;margin:0;line-height:1.5}.details-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px}.action-btn.in-comparison{background:#333;border-color:#4ade80;color:#4ade80}@media (max-width: 1200px){.details-panel{width:320px;min-width:280px}}@media (max-width: 900px){.details-panel{width:100%;max-height:40vh;border-left:none;border-top:1px solid #333}}.export-menu-container{position:relative}.export-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#2a2a2a;border:1px solid #404040;border-radius:8px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s}.export-btn:hover:not(:disabled){background:#333;border-color:#555}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn svg{flex-shrink:0}.export-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#2a2a2a;border:1px solid #404040;border-radius:10px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.export-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;color:#e0e0e0;font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.export-option:hover{background:#333}.export-option svg{flex-shrink:0;color:#888}.export-option:hover svg{color:#aaa}.export-option span:first-of-type{flex:1}.export-count{font-size:12px;color:#888;background:#333;padding:2px 8px;border-radius:10px}.export-hint{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px}.export-divider{height:1px;background:#404040;margin:4px 0}.share-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#2a2a2a;border:1px solid #404040;border-radius:8px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s}.share-btn:hover:not(:disabled){background:#333;border-color:#555}.share-btn:disabled{opacity:.5;cursor:not-allowed}.share-btn svg{flex-shrink:0}.share-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;background:#059669;color:#fff;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 16px #0000004d;z-index:1000;animation:toastSlide .3s ease-out}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-toast svg{flex-shrink:0}.explorer-page{display:flex;flex-direction:column;height:100vh;background:#1a1a1a;color:#e0e0e0}.explorer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#242424;border-bottom:1px solid #333;flex-shrink:0}.explorer-back{display:flex;align-items:center;gap:8px;color:#888;text-decoration:none;font-size:14px;transition:color .2s}.explorer-back:hover{color:#fff}.explorer-header h1{font-size:20px;font-weight:600;margin:0;color:#fff}.explorer-actions{display:flex;gap:8px}.explorer-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-size:13px;cursor:pointer;transition:all .2s}.explorer-btn:hover{background:#404040;border-color:#555}.explorer-network-btn{background:#3b82f633;border-color:#3b82f666;color:#60a5fa;text-decoration:none}.explorer-network-btn:hover{background:#3b82f64d;border-color:#3b82f699;color:#93c5fd}.explorer-body{display:flex;flex:1;overflow:hidden}.explorer-selection-panel{width:320px;min-width:280px;background:#1e1e1e;border-right:1px solid #333;overflow-y:auto;flex-shrink:0}.panel-section{padding:16px;border-bottom:1px solid #333}.panel-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin:0 0 12px}.explorer-select{width:100%;padding:10px 12px;background:#2a2a2a;border:1px solid #404040;border-radius:6px;color:#e0e0e0;font-size:14px;cursor:pointer}.explorer-select:focus{outline:none;border-color:#646cff}.explorer-select:disabled{opacity:.5;cursor:not-allowed}.race-filters{display:flex;gap:8px}.race-filters .explorer-select{flex:1}.race-grid-section{max-height:300px;overflow-y:auto}.race-grid-placeholder{padding:24px;text-align:center;color:#666;font-size:13px;background:#252525;border-radius:8px}.selected-entities{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.empty-state{color:#666;font-size:13px;margin:0;padding:12px;text-align:center}.entity-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#2a2a2a;border-radius:6px;border:1px solid #404040}.entity-chip.entity-candidate{border-left:3px solid #3b82f6}.entity-chip.entity-committee{border-left:3px solid #8b5cf6}.entity-chip.entity-donor{border-left:3px solid #10b981}.entity-chip.entity-interest_group{border-left:3px solid #f59e0b}.entity-chip:hover{background:#333;cursor:pointer}.entity-chip.selected{background:#333;border-color:#646cff}.entity-icon{font-size:14px}.entity-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#666;font-size:16px;cursor:pointer;border-radius:4px;transition:all .2s}.entity-remove:hover{background:#333;color:#ff6b6b}.clear-btn{width:100%;padding:8px;margin-top:8px;background:transparent;border:1px dashed #444;border-radius:6px;color:#888;font-size:12px;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#333;color:#e0e0e0;border-color:#555}.depth-control{margin-bottom:16px}.depth-control label{display:block;font-size:13px;color:#aaa;margin-bottom:8px}.depth-buttons{display:flex;gap:4px}.depth-btn{flex:1;padding:8px 12px;background:#2a2a2a;border:1px solid #404040;border-radius:6px;color:#888;font-size:12px;cursor:pointer;transition:all .2s}.depth-btn:hover{background:#333;color:#e0e0e0}.depth-btn.active{background:#646cff;border-color:#646cff;color:#fff}.toggle-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.toggle-label{display:flex;align-items:center;gap:10px;font-size:13px;color:#aaa;cursor:pointer}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:#646cff}.toggle-label span{flex:1}.amount-filter{display:flex;flex-direction:column;gap:8px}.amount-filter label{font-size:13px;color:#aaa}.amount-filter input[type=range]{width:100%;accent-color:#646cff}.amount-value{font-size:12px;color:#646cff;text-align:right}.explorer-graph-panel{flex:1;display:flex;flex-direction:column;position:relative;background:#1a1a1a;overflow:hidden}.graph-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.graph-empty-state{text-align:center;padding:40px}.empty-icon{font-size:64px;margin-bottom:16px}.graph-empty-state h2{font-size:24px;font-weight:600;margin:0 0 8px;color:#fff}.graph-empty-state p{font-size:14px;color:#888;margin:0 0 24px}.quick-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.quick-action-btn{padding:12px 20px;background:#2a2a2a;border:1px solid #404040;border-radius:8px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background:#333;border-color:#646cff;color:#fff}.explorer-details-panel{width:360px;min-width:320px;background:#1e1e1e;border-left:1px solid #333;overflow-y:auto;flex-shrink:0}.details-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px;border-bottom:1px solid #333}.details-header h2{font-size:18px;font-weight:600;margin:0;color:#fff;line-height:1.3}.close-details{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#888;font-size:20px;cursor:pointer;border-radius:6px;transition:all .2s;flex-shrink:0}.close-details:hover{background:#333;color:#fff}.details-content{padding:16px}.details-type{display:inline-block;padding:4px 10px;background:#333;border-radius:12px;font-size:12px;color:#aaa;margin-bottom:16px}.money-trails h3{font-size:14px;font-weight:600;margin:0 0 12px;color:#e0e0e0}.trail-placeholder{padding:24px;text-align:center;color:#666;font-size:13px;background:#252525;border-radius:8px}.details-actions{display:flex;flex-direction:column;gap:8px;margin-top:20px}.action-btn{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:#2a2a2a;border:1px solid #404040;border-radius:8px;color:#e0e0e0;font-size:14px;text-decoration:none;cursor:pointer;transition:all .2s}.action-btn:hover{background:#333;border-color:#555}.action-btn.primary{background:#646cff;border-color:#646cff;color:#fff}.action-btn.primary:hover{background:#5558e3}@media (max-width: 1200px){.explorer-selection-panel{width:280px;min-width:260px}.explorer-details-panel{width:320px;min-width:280px}}@media (max-width: 900px){.explorer-body{flex-direction:column}.explorer-selection-panel,.explorer-details-panel{width:100%;max-height:40vh;border-right:none;border-left:none;border-bottom:1px solid #333}.explorer-graph-panel{min-height:50vh}}.mega-bundlers-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:#e2e8f0;padding:0}.bundlers-header{background:#0f172ae6;border-bottom:1px solid rgba(255,255,255,.1);padding:24px 32px}.bundlers-title-section{max-width:1200px;margin:0 auto 20px}.bundlers-back-link{color:#60a5fa;text-decoration:none;font-size:14px;margin-bottom:8px;display:inline-block}.bundlers-back-link:hover{color:#93c5fd}.bundlers-header h1{font-size:32px;font-weight:700;margin:8px 0;background:linear-gradient(90deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bundlers-subtitle{color:#94a3b8;font-size:16px;margin:0}.bundlers-filters{max-width:1200px;margin:0 auto;display:flex;gap:20px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.filter-group select{background:#1e293bcc;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;color:#e2e8f0;font-size:14px;min-width:180px;cursor:pointer}.filter-group select:hover{border-color:#fff3}.filter-group select:focus{outline:none;border-color:#3b82f6}.bundlers-stats-bar{max-width:1200px;margin:24px auto;padding:0 32px;display:flex;gap:32px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:24px;font-weight:700;color:#fbbf24}.stat-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.bundlers-content{max-width:1200px;margin:0 auto;padding:0 32px 40px}.bundlers-loading,.bundlers-error,.bundlers-empty{text-align:center;padding:60px 20px;color:#94a3b8}.loading-spinner{width:40px;height:40px;border:3px solid rgba(251,191,36,.2);border-top-color:#fbbf24;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.bundlers-error{color:#f87171}.bundlers-table-wrapper{overflow-x:auto}.bundlers-table{width:100%;border-collapse:collapse;background:#1e293b80;border-radius:12px;overflow:hidden}.bundlers-table thead{background:#0f172acc}.bundlers-table th{text-align:left;padding:14px 16px;font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}.bundlers-table td{padding:16px;border-bottom:1px solid rgba(255,255,255,.05)}.bundler-row{cursor:pointer;transition:background .2s}.bundler-row:hover{background:#3b82f61a}.bundler-row.expanded{background:#fbbf241a}.rank-col{width:60px;text-align:center}.name-col{min-width:200px}.employer-col{min-width:180px}.state-col{width:60px;text-align:center}.amount-col{width:120px;text-align:right}.count-col{width:80px;text-align:center}.expand-col{width:40px;text-align:center}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff1a;font-size:12px;font-weight:600}.rank-badge.top-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b}.rank-badge.top-2{background:linear-gradient(135deg,#94a3b8,#64748b);color:#1e293b}.rank-badge.top-3{background:linear-gradient(135deg,#cd7f32,sienna);color:#1e293b}.bundler-name{font-weight:600;color:#f8fafc}.bundler-employer{color:#94a3b8;font-size:13px}.bundled-amount{font-weight:700;color:#fbbf24;font-size:15px}.expand-icon{color:#64748b;font-size:10px}.bundler-details-row td{padding:0;background:#0f172a99}.bundler-details{padding:20px 24px;display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}.details-section{flex:1;min-width:280px}.details-section h4{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.top-candidates-list{display:flex;flex-wrap:wrap;gap:8px}.candidate-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;text-decoration:none;color:#e2e8f0;font-size:13px;transition:all .2s}.candidate-chip:hover{background:#ffffff1a;border-color:#fff3}.candidate-chip.party-dem{border-color:#3b82f64d;background:#3b82f61a}.candidate-chip.party-rep{border-color:#ef44444d;background:#ef44441a}.candidate-chip .candidate-name{font-weight:500}.candidate-chip .candidate-amount{color:#fbbf24;font-weight:600}.no-data{color:#64748b;font-style:italic;margin:0}.details-stats{display:flex;gap:24px}.detail-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.detail-label{font-size:11px;color:#64748b;text-transform:uppercase}.detail-value{font-size:20px;font-weight:700;color:#e2e8f0}.view-profile-btn{padding:10px 20px;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#60a5fa;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap}.view-profile-btn:hover{background:#3b82f64d;border-color:#3b82f680}.bundlers-explainer{max-width:1200px;margin:0 auto;padding:32px;background:#1e293b80;border-top:1px solid rgba(255,255,255,.1)}.bundlers-explainer h3{font-size:18px;color:#f8fafc;margin:0 0 12px}.bundlers-explainer p{color:#94a3b8;font-size:14px;line-height:1.6;margin:0 0 12px}.bundlers-explainer p:last-child{margin-bottom:0}@media (max-width: 768px){.bundlers-header{padding:20px 16px}.bundlers-header h1{font-size:24px}.bundlers-filters{flex-direction:column}.filter-group select{width:100%}.bundlers-stats-bar{padding:0 16px;gap:20px}.bundlers-content{padding:0 16px 32px}.bundlers-table th,.bundlers-table td{padding:12px 8px;font-size:13px}.employer-col{display:none}.bundler-details{flex-direction:column;gap:20px}.bundlers-explainer{padding:24px 16px}}.story-page{position:relative;min-height:100vh}.story-back-link{position:fixed;top:1.5rem;left:1.5rem;z-index:200;padding:.75rem 1rem;background:#0f172ae6;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#60a5fa;text-decoration:none;font-size:.875rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s}.story-back-link:hover{background:#1e293be6;border-color:#fff3}.visual-flow{display:flex;flex-direction:column;gap:1.5rem}.scrolly-container{background:linear-gradient(180deg,#0f172a,#1e293b);color:#e2e8f0;min-height:100vh}.scrolly-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;position:relative}.scrolly-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;margin:0 0 1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:900px}.scrolly-subtitle{font-size:1.25rem;color:#94a3b8;max-width:600px;margin:0}.scroll-indicator{position:absolute;bottom:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#64748b;font-size:.875rem;animation:bounce 2s infinite}.scroll-arrow{font-size:1.5rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.scrolly-progress{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:100}.progress-dot{width:12px;height:12px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s ease;padding:0}.progress-dot.active{background:#fbbf24;border-color:#fbbf24;transform:scale(1.3)}.progress-dot.completed{background:#fbbf2480;border-color:#fbbf2480}.progress-dot:hover{transform:scale(1.4);border-color:#fbbf24}.scrolly-sections{max-width:1200px;margin:0 auto;padding:0 2rem}.scroll-section{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:4rem 0;opacity:.4;transition:opacity .5s ease}.scroll-section.active{opacity:1}.scroll-section-content{padding-right:2rem}.section-number{font-size:4rem;font-weight:800;color:#fbbf2433;line-height:1;margin-bottom:1rem}.section-title{font-size:2rem;font-weight:700;margin:0 0 1.5rem;color:#f8fafc}.section-text{font-size:1.125rem;line-height:1.7;color:#94a3b8}.section-text p{margin:0 0 1rem}.section-text strong{color:#fbbf24}.scroll-section-visual{position:relative;opacity:0;transform:translate(30px);transition:all .6s ease}.scroll-section-visual.visible{opacity:1;transform:translate(0)}.money-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.money-bar-label{width:120px;font-size:.875rem;color:#94a3b8;text-align:right;flex-shrink:0}.money-bar-track{flex:1;height:32px;background:#ffffff1a;border-radius:4px;overflow:hidden}.money-bar-fill{height:100%;border-radius:4px;transition:width .8s ease}.money-bar-fill.animate{animation:growBar 1s ease forwards}@keyframes growBar{0%{width:0}}.money-bar-amount{width:80px;font-size:.875rem;font-weight:600;color:#fbbf24;flex-shrink:0}.comparison-bars{padding:2rem;background:#0f172acc;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.big-number{text-align:center;padding:3rem}.big-number-value{font-size:5rem;font-weight:800;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem}.big-number-label{font-size:1.5rem;color:#e2e8f0;font-weight:600}.big-number-sublabel{font-size:1rem;color:#64748b;margin-top:.5rem}.scrolly-quote{padding:2rem;background:#fbbf241a;border-left:4px solid #fbbf24;border-radius:0 12px 12px 0;margin:0}.scrolly-quote p{font-size:1.25rem;font-style:italic;color:#e2e8f0;margin:0 0 1rem}.scrolly-quote cite{font-size:.875rem;color:#94a3b8;font-style:normal}.scrolly-footer{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;border-top:1px solid rgba(255,255,255,.1)}.scrolly-footer p{font-size:1.5rem;color:#94a3b8;margin:0 0 1.5rem}.scrolly-cta{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b;text-decoration:none;font-size:1.125rem;font-weight:600;border-radius:8px;transition:all .3s ease}.scrolly-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px #fbbf244d}@media (max-width: 768px){.scrolly-progress{right:1rem}.scroll-section{grid-template-columns:1fr;gap:2rem;min-height:auto;padding:4rem 0}.scroll-section-content{padding-right:0}.section-number{font-size:2.5rem}.section-title{font-size:1.5rem}.money-bar{flex-wrap:wrap}.money-bar-label{width:100%;text-align:left;margin-bottom:.5rem}.big-number-value{font-size:3rem}}.find-rep-page{min-height:100vh;background:#121212;color:#e5e5e5;padding:20px}.find-rep-header{max-width:900px;margin:0 auto 40px}.back-link{display:inline-flex;align-items:center;gap:8px;color:#9ca3af;text-decoration:none;font-size:14px;margin-bottom:16px;transition:color .2s}.back-link:hover{color:#6366f1}.header-main{display:flex;align-items:center;gap:16px;margin-bottom:8px}.find-rep-header h1{font-size:32px;font-weight:700;margin:0;color:#fff}.header-subtitle{color:#9ca3af;font-size:16px;margin:0}.search-section{max-width:600px;margin:0 auto 40px;background:#1e1e1e;border-radius:16px;padding:24px;border:1px solid #333}.search-tabs{display:flex;gap:8px;margin-bottom:20px}.search-tab{flex:1;padding:12px;background:#252525;border:1px solid #404040;border-radius:8px;color:#9ca3af;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.search-tab:hover{border-color:#6366f1;color:#e5e5e5}.search-tab.active{background:#6366f133;border-color:#6366f1;color:#fff}.search-form{display:flex;flex-direction:column;gap:12px}.zip-input-group,.manual-input-group{display:flex;gap:12px}.zip-input{flex:1;padding:14px 16px;background:#252525;border:1px solid #404040;border-radius:10px;color:#fff;font-size:18px;letter-spacing:2px;text-align:center}.zip-input::placeholder{letter-spacing:normal;font-size:14px}.state-select,.district-input{padding:14px 16px;background:#252525;border:1px solid #404040;border-radius:10px;color:#fff;font-size:15px}.state-select{flex:2}.district-input{flex:1;max-width:100px}.search-btn{padding:14px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.search-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-hint{color:#6b7280;font-size:13px;margin:0;text-align:center}.results-section{max-width:900px;margin:0 auto}.results-title{font-size:22px;font-weight:600;margin:0 0 24px;color:#fff}.results-loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px;background:#1e1e1e;border-radius:12px}.loading-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.results-error{padding:40px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;text-align:center;color:#f87171}.results-grid{display:flex;flex-direction:column;gap:32px}.results-category h3{font-size:16px;font-weight:600;color:#9ca3af;margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.rep-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.no-data{padding:24px;background:#1e1e1e;border-radius:12px;border:1px dashed #404040;text-align:center;color:#6b7280}.rep-card{display:flex;flex-direction:column;background:#1e1e1e;border-radius:12px;border:1px solid #333;border-left-width:4px;padding:20px;text-decoration:none;color:inherit;transition:all .2s}.rep-card:hover{background:#252525;transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.rep-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rep-type{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.rep-party{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.rep-name{font-size:20px;font-weight:700;color:#fff;margin:0 0 4px}.rep-office{font-size:14px;color:#9ca3af;margin:0 0 16px}.rep-funding{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px;background:#ffffff08;border-radius:8px;margin-bottom:12px}.rep-funding-total{display:flex;justify-content:space-between;align-items:center}.funding-label{font-size:13px;color:#9ca3af}.funding-amount{font-size:22px;font-weight:700;color:#22c55e}.rep-funding-breakdown{display:flex;flex-wrap:wrap;gap:10px}.funding-item{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af}.funding-item.ie-support{color:#22c55e}.funding-item.ie-oppose{color:#ef4444}.funding-icon{font-size:12px}.rep-card-footer{text-align:right}.view-profile{font-size:13px;color:#6366f1;font-weight:500}.cta-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:900px;margin:0 auto}.cta-card{padding:24px;background:#1e1e1e;border-radius:16px;border:1px solid #333;text-align:center}.cta-card h2{font-size:18px;font-weight:600;margin:0 0 12px;color:#fff}.cta-card p{font-size:14px;color:#9ca3af;margin:0 0 20px;line-height:1.5}.cta-btn{display:inline-block;padding:12px 24px;background:#6366f133;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#a5b4fc;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.cta-btn:hover{background:#6366f14d;border-color:#6366f1;transform:translateY(-2px)}@media (max-width: 600px){.find-rep-page{padding:12px}.find-rep-header h1{font-size:24px}.zip-input-group,.manual-input-group{flex-direction:column}.search-btn{width:100%}.state-select,.district-input{width:100%;max-width:none}.rep-cards{grid-template-columns:1fr}.name-input-group{flex-direction:column}.search-results-grid{grid-template-columns:1fr!important}}.name-input-group{display:flex;gap:12px}.name-input{flex:1;padding:14px 16px;background:#252525;border:1px solid #404040;border-radius:10px;color:#fff;font-size:16px}.name-input::placeholder{color:#6b7280}.name-input:focus{outline:none;border-color:#6366f1}.search-results-loading{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#9ca3af}.name-search-results{margin-top:24px}.name-search-results h3{font-size:14px;font-weight:600;color:#9ca3af;margin:0 0 16px}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.search-result-card{display:block;padding:16px;background:#1e1e1e;border:1px solid #333;border-left:4px solid;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s}.search-result-card:hover{background:#252525;border-color:#6366f1;transform:translateY(-2px)}.search-result-header{display:flex;justify-content:flex-end;margin-bottom:8px}.search-result-party{font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px}.search-result-name{font-size:15px;font-weight:600;color:#fff;margin:0 0 4px}.search-result-info{font-size:13px;color:#9ca3af;margin:0}.no-results{padding:32px 20px;text-align:center;color:#6b7280;background:#1a1a1a;border-radius:8px;margin-top:16px}.committee-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding-bottom:2rem}.committee-loading,.committee-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.committee-error button{padding:.75rem 1.5rem;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500}.committee-header{background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);padding:1.5rem 2rem}.committee-header-content{max-width:1400px;margin:0 auto}.committee-back-link{color:#ffffffb3;text-decoration:none;font-size:.9rem;display:inline-block;margin-bottom:1rem;transition:color .2s}.committee-back-link:hover{color:#fff}.committee-title-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.committee-name{font-size:1.75rem;font-weight:700;margin:0}.committee-badges{display:flex;gap:.5rem}.committee-type-badge{background:#60a5fa33;border:1px solid rgba(96,165,250,.4);color:#93c5fd;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.committee-party-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff}.committee-id{color:#ffffff80;font-size:.85rem;margin:.5rem 0 0;font-family:monospace}.committee-affiliations{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:#00000026;border-bottom:1px solid rgba(255,255,255,.05)}.affiliation-label{color:#fff9;font-size:.85rem}.affiliation-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:20px;color:#fbbf24;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .2s}.affiliation-badge:hover{background:#fbbf2440;border-color:#fbbf2480}.affiliation-icon{font-size:1rem}.committee-stats-grid{max-width:1400px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 900px){.committee-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.committee-stats-grid{grid-template-columns:1fr}}.committee-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;color:#60a5fa}.stat-support .stat-value{color:#34d399}.stat-oppose .stat-value{color:#f87171}.committee-tabs{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button.active{color:#60a5fa;border-bottom-color:#60a5fa}.committee-tab-content{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.text-green{color:#34d399}.text-red{color:#f87171}.donor-location{color:#ffffff80;font-size:.85rem}.transfers-section{padding-top:.5rem}.transfers-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.transfers-grid{grid-template-columns:1fr}}.transfers-heading{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#ffffffe6}.transfers-list{display:flex;flex-direction:column;gap:.5rem}.transfer-card{display:block;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;text-decoration:none;color:inherit;transition:all .2s}.transfer-card:hover{background:#ffffff1a;border-color:#fff3}.transfer-in{border-left:3px solid #34d399}.transfer-out{border-left:3px solid #f87171}.transfer-name{font-weight:500;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transfer-amount{font-size:1.1rem;font-weight:600;color:#60a5fa}.transfer-count{font-size:.8rem;color:#ffffff80}.ig-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding-bottom:2rem}.ig-loading,.ig-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ig-error button{padding:.75rem 1.5rem;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500}.ig-header{background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);padding:1.5rem 2rem}.ig-header-content{max-width:1400px;margin:0 auto}.ig-back-link{color:#ffffffb3;text-decoration:none;font-size:.9rem;display:inline-block;margin-bottom:1rem;transition:color .2s}.ig-back-link:hover{color:#fff}.ig-title-section{display:flex;align-items:center;gap:1rem}.ig-icon{font-size:3rem}.ig-name{font-size:1.75rem;font-weight:700;margin:0}.ig-description{color:#fff9;margin:.25rem 0 0;font-size:1rem}.ig-stats-grid{max-width:1400px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 900px){.ig-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.ig-stats-grid{grid-template-columns:1fr}}.ig-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;color:#fbbf24}.stat-label{font-size:.9rem;color:#ffffffe6;margin-top:.25rem}.stat-sublabel{font-size:.8rem;color:#ffffff80;margin-top:.25rem}.ig-tabs{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button{background:transparent;border:none;padding:1rem 1.5rem;color:#fff9;cursor:pointer;font-size:.95rem;font-weight:500;border-bottom:2px solid transparent;transition:all .2s}.tab-button:hover{color:#ffffffe6}.tab-button.active{color:#fbbf24;border-bottom-color:#fbbf24}.ig-tab-content{max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.no-data{text-align:center;color:#ffffff80;padding:3rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.data-table th{color:#fff9;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr:hover{background:#ffffff08}.text-right{text-align:right!important}.font-bold{font-weight:600}.donor-name{font-weight:500}.donor-employer{color:#fff9;font-size:.85rem}.candidate-link{color:#93c5fd;text-decoration:none;font-weight:500}.candidate-link:hover{color:#60a5fa;text-decoration:underline}.party-badge-small{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.committees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 900px){.committees-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.committees-grid{grid-template-columns:1fr}}.committee-card{display:block;padding:1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s}.committee-card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.committee-card-header{margin-bottom:.5rem}.committee-type-tag{display:inline-block;padding:.2rem .6rem;background:#60a5fa33;border:1px solid rgba(96,165,250,.3);border-radius:4px;font-size:.7rem;font-weight:600;color:#93c5fd;text-transform:uppercase;letter-spacing:.05em}.committee-card-name{font-weight:600;font-size:.95rem;margin-bottom:.75rem;line-height:1.3;color:#fff}.committee-card-stats{display:flex;gap:1.5rem}.committee-stat{display:flex;flex-direction:column}.stat-num{font-weight:700;font-size:1.1rem;color:#60a5fa}.stat-lbl{font-size:.75rem;color:#ffffff80}.ig-explorer-cta{max-width:1400px;margin:2rem auto 0;padding:0 2rem;text-align:center}.explorer-button{display:inline-block;padding:.75rem 2rem;background:linear-gradient(135deg,#fbbf2433,#f59e0b33);border:1px solid rgba(251,191,36,.4);border-radius:8px;color:#fbbf24;text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s}.explorer-button:hover{background:linear-gradient(135deg,#fbbf244d,#f59e0b4d);border-color:#fbbf2499;transform:translateY(-2px)}.embed-widget{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border-radius:12px;overflow:hidden;box-sizing:border-box}.embed-widget.dark{background:linear-gradient(145deg,#1e1e1e,#141414);color:#e5e5e5;border:1px solid #333}.embed-widget.light{background:linear-gradient(145deg,#fff,#f5f5f5);color:#1a1a1a;border:1px solid #e0e0e0}.embed-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px}.embed-spinner{width:20px;height:20px;border:2px solid rgba(99,102,241,.3);border-top-color:#6366f1;border-radius:50%;animation:embed-spin 1s linear infinite}@keyframes embed-spin{to{transform:rotate(360deg)}}.embed-error{padding:40px 20px;text-align:center}.embed-error-hint{font-size:12px;opacity:.6;margin-top:8px}.embed-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-left:4px solid}.dark .embed-header{border-bottom:1px solid #333}.light .embed-header{border-bottom:1px solid #e0e0e0}.embed-candidate-info{flex:1;min-width:0}.embed-name{font-size:16px;font-weight:700;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embed-meta{display:flex;align-items:center;gap:8px;font-size:13px}.embed-party{font-weight:600}.embed-office{opacity:.7}.embed-total{text-align:right;flex-shrink:0}.embed-total-label{display:block;font-size:11px;text-transform:uppercase;opacity:.6;margin-bottom:2px}.embed-total-amount{font-size:20px;font-weight:700;color:#22c55e}.embed-breakdown{padding:12px 16px}.embed-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.embed-icon{font-size:14px;width:20px;text-align:center}.embed-label{flex:1;opacity:.8}.embed-value{font-weight:600}.embed-row.embed-support .embed-value{color:#22c55e}.embed-row.embed-oppose .embed-value{color:#ef4444}.embed-interest-group{padding:12px 16px;margin:0 12px 12px;border-radius:8px}.dark .embed-interest-group{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2)}.light .embed-interest-group{background:#8b5cf60d;border:1px solid rgba(139,92,246,.15)}.embed-ig-title{font-size:12px;font-weight:600;margin:0 0 4px;color:#a78bfa}.embed-ig-total{font-size:18px;font-weight:700;margin-bottom:8px}.embed-trails{display:flex;flex-direction:column;gap:4px}.embed-trail-row{display:flex;justify-content:space-between;font-size:12px;opacity:.8}.embed-trail-amount{font-weight:600}.embed-footer{display:flex;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:background .2s}.dark .embed-footer{background:#1a1a1a;color:#888}.dark .embed-footer:hover{background:#222;color:#aaa}.light .embed-footer{background:#f0f0f0;color:#666}.light .embed-footer:hover{background:#e8e8e8;color:#444}.embed-logo{font-size:16px}.embed-site{font-size:12px;font-weight:600}.embed-cta{margin-left:auto;font-size:12px;color:#6366f1}@media (max-width: 360px){.embed-header{flex-direction:column;align-items:flex-start;gap:8px}.embed-total{text-align:left}.embed-name{font-size:14px}.embed-total-amount{font-size:18px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#1a1a2e,#16213e)}.error-boundary-content{max-width:500px;text-align:center;background:#1e1e1e;border-radius:16px;padding:48px 32px;box-shadow:0 8px 32px #0006}.error-boundary-icon{color:#ef4444;margin-bottom:24px}.error-boundary h1{color:#e5e5e5;font-size:28px;margin:0 0 16px}.error-boundary-message{color:#9ca3af;font-size:15px;line-height:1.6;margin:0 0 24px}.error-boundary-details{background:#2a2a2a;border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.error-boundary-details summary{color:#9ca3af;cursor:pointer;font-size:13px;margin-bottom:12px}.error-boundary-details pre{color:#fca5a5;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin:0}.error-boundary-stack{color:#6b7280!important;margin-top:12px!important;padding-top:12px;border-top:1px solid #404040}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.error-boundary-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-boundary-btn.primary{background:#6366f1;color:#fff}.error-boundary-btn.primary:hover{background:#4f46e5}.error-boundary-btn.secondary{background:transparent;color:#9ca3af;border:1px solid #404040}.error-boundary-btn.secondary:hover{background:#2a2a2a;color:#e5e5e5}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,select{padding:.5em;font-size:1em;border:1px solid #404040;border-radius:4px;background-color:#1a1a1a;color:#ffffffde}input:focus,select:focus{outline:none;border-color:#646cff}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}input,select{background-color:#fff;color:#213547}}.party-dem{--party-primary: #2563eb;--party-secondary: #3b82f6;--party-bg: #1e40af;--party-text: #93c5fd;--party-border: #3b82f6}.party-rep{--party-primary: #dc2626;--party-secondary: #ef4444;--party-bg: #991b1b;--party-text: #fca5a5;--party-border: #ef4444}.party-ind{--party-primary: #7c3aed;--party-secondary: #8b5cf6;--party-bg: #6b21a8;--party-text: #c4b5fd;--party-border: #8b5cf6}.party-lib{--party-primary: #ea580c;--party-secondary: #f97316;--party-bg: #c2410c;--party-text: #fdba74;--party-border: #f97316}.party-gre{--party-primary: #16a34a;--party-secondary: #22c55e;--party-bg: #166534;--party-text: #86efac;--party-border: #22c55e}.party-unknown{--party-primary: #6b7280;--party-secondary: #9ca3af;--party-bg: #374151;--party-text: #9ca3af;--party-border: #6b7280}.party-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background-color:var(--party-bg);color:var(--party-text)}.party-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background-color:var(--party-primary)}.party-border-left{border-left:3px solid var(--party-primary)}.party-border-top{border-top:3px solid var(--party-primary)}.money-positive{color:#10b981}.money-negative{color:#ef4444}.support-color{color:#10b981}.oppose-color{color:#ef4444}.support-bg{background-color:#10b98126}.oppose-bg{background-color:#ef444426}
