@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f1118;--bg-secondary: #14162a;--text-primary: #e2e4f0;--text-secondary: rgba(255, 255, 255, .5);--dem-blue: #3B82F6;--rep-red: #EF4444;--ind-gold: #F59E0B;--border: rgba(255, 255, 255, .06);--radius: 12px;color-scheme:dark}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 50%,rgba(59,130,246,.03) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 20% 80%,rgba(239,68,68,.02) 0%,transparent 50%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#6366f14d;color:#fff}img{display:block;max-width:100%}button{font-family:inherit}a{color:inherit;text-decoration:none}.app-header{position:sticky;top:0;z-index:100;background:#0f1118d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.06)}.header-inner{max-width:1400px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:24px}.header-brand{display:flex;align-items:center;gap:10px}.brand-icon svg{width:36px;height:36px}.brand-name{font-size:20px;font-weight:900;color:#fff;margin:0;letter-spacing:-.5px;background:linear-gradient(135deg,#c7d2fe,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tag{font-size:10px;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:1px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.header-nav{display:flex;gap:4px;margin-left:auto}.nav-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:none;background:transparent;color:#ffffff73;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.nav-tab:hover{background:#ffffff0f;color:#ffffffb3}.nav-tab.active{background:#6366f11f;color:#a5b4fc}.nav-icon{width:16px;height:16px}.header-stats{display:flex;align-items:center;gap:12px;margin-left:8px}.stat{display:flex;flex-direction:column;align-items:center;gap:1px}.stat-value{font-size:15px;font-weight:800;color:#e2e4f0}.stat-label{font-size:9px;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px}.dem-stat .stat-value{color:#60a5fa}.rep-stat .stat-value{color:#f87171}.ind-stat .stat-value{color:#fbbf24}.stat-divider{width:1px;height:24px;background:#ffffff14}@media (max-width: 768px){.header-inner{flex-wrap:wrap;padding:10px 16px;gap:10px}.header-stats{display:none}.header-nav{margin-left:0;order:3;width:100%;justify-content:center}.nav-tab{flex:1;justify-content:center}.brand-icon svg{width:30px;height:30px}.brand-name{font-size:17px}}.member-avatar{position:relative;display:inline-flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s ease,filter .2s ease;width:var(--avatar-size)}.member-avatar:hover{transform:translateY(-3px) scale(1.05);filter:brightness(1.15)}.avatar-ring{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;padding:3px;overflow:hidden;background:var(--party-gradient);box-shadow:0 0 12px var(--party-glow);transition:box-shadow .25s ease}.member-avatar:hover .avatar-ring{box-shadow:0 0 20px var(--party-glow),0 0 40px var(--party-glow-faint)}.member-avatar.dem{--party-gradient: linear-gradient(135deg, #3B82F6, #60A5FA, #2563EB);--party-glow: rgba(59, 130, 246, .4);--party-glow-faint: rgba(59, 130, 246, .15);--party-color: #3B82F6}.member-avatar.rep{--party-gradient: linear-gradient(135deg, #EF4444, #F87171, #DC2626);--party-glow: rgba(239, 68, 68, .4);--party-glow-faint: rgba(239, 68, 68, .15);--party-color: #EF4444}.member-avatar.ind{--party-gradient: linear-gradient(135deg, #F59E0B, #FBBF24, #D97706);--party-glow: rgba(245, 158, 11, .4);--party-glow-faint: rgba(245, 158, 11, .15);--party-color: #F59E0B}.avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#1e2030}.avatar-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #12141f;z-index:3}.avatar-badge svg{width:13px;height:13px}.fame-badge{background:linear-gradient(135deg,#f59e0b,#eab308);color:#fff;box-shadow:0 0 10px #f59e0b80;animation:famePulse 3s ease infinite}@keyframes famePulse{0%,to{box-shadow:0 0 10px #f59e0b80}50%{box-shadow:0 0 18px #f59e0bcc}}.shame-badge{background:linear-gradient(135deg,#6b7280,#4b5563);color:#f87171;box-shadow:0 0 8px #6b728066}.avatar-meta{display:flex;gap:2px;margin-top:4px;align-items:center}.state-code{font-size:9px;font-weight:700;color:#ffffffb3;letter-spacing:.5px}.chamber-badge{font-size:8px;font-weight:600;color:var(--party-color);background:#ffffff0f;padding:1px 4px;border-radius:4px;letter-spacing:.3px}.audit-panel{margin-top:12px;border-top:1px solid rgba(255,255,255,.06)}.audit-tabs{display:flex;gap:2px;background:#0003;padding:3px;border-radius:8px;margin-bottom:12px}.audit-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:transparent;border:none;color:#ffffff80;font-size:.72rem;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.audit-tab svg{width:14px;height:14px}.audit-tab:hover{color:#fffc;background:#ffffff0d}.audit-tab.active{color:#fff;background:#7c3aed4d;box-shadow:0 0 12px #7c3aed33}.audit-content{animation:auditFadeIn .3s ease}@keyframes auditFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.audit-section{margin-bottom:16px}.audit-section-title{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.section-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:.7rem;font-weight:800;color:#fff}.donor-icon{background:linear-gradient(135deg,#10b981,#059669)}.pac-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.bill-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.flag-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.timeline-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.audit-count{margin-left:auto;font-size:.65rem;font-weight:500;color:#fff6;text-transform:none;letter-spacing:0}.audit-loader{display:flex;align-items:center;gap:8px;padding:12px;color:#ffffff80;font-size:.75rem}.audit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#7c3aed;border-radius:50%;animation:spin .8s linear infinite}.audit-error{padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#fca5a5;font-size:.75rem}.audit-empty{padding:16px;text-align:center;color:#ffffff59;font-size:.75rem;font-style:italic}.donor-list{display:flex;flex-direction:column;gap:2px}.donor-row{display:grid;grid-template-columns:24px 1fr auto auto;gap:8px;align-items:center;padding:7px 10px;background:#ffffff08;border-radius:6px;transition:background .15s}.donor-row:hover{background:#ffffff0f}.donor-rank{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#10b98126;color:#10b981;border-radius:50%;font-size:.65rem;font-weight:700}.donor-info{display:flex;flex-direction:column;min-width:0}.donor-name{font-size:.75rem;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donor-meta{display:flex;gap:8px;font-size:.65rem;color:#fff6}.donor-employer{color:#10b981b3}.donor-amount{font-size:.8rem;font-weight:700;color:#10b981;font-variant-numeric:tabular-nums}.donor-date{font-size:.65rem;color:#ffffff59;white-space:nowrap}.pac-list{display:flex;flex-direction:column;gap:2px}.pac-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:8px;align-items:center;padding:8px 10px;background:#ffffff08;border-radius:6px;transition:background .15s}.pac-row:hover{background:#ffffff0f}.pac-row.support{border-left:3px solid rgba(16,185,129,.5)}.pac-row.oppose{border-left:3px solid rgba(239,68,68,.5)}.pac-direction{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;font-weight:800}.pac-direction.support{background:#10b98126;color:#10b981}.pac-direction.oppose{background:#ef444426;color:#ef4444}.pac-info{display:flex;flex-direction:column;min-width:0}.pac-name{font-size:.75rem;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pac-desc{font-size:.65rem;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pac-amount{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.pac-row.support .pac-amount{color:#10b981}.pac-row.oppose .pac-amount{color:#ef4444}.pac-date{font-size:.65rem;color:#ffffff59;white-space:nowrap}.bill-list{display:flex;flex-direction:column;gap:6px}.bill-row{padding:10px 12px;background:#ffffff08;border-radius:6px;border-left:3px solid rgba(59,130,246,.4);transition:background .15s}.bill-row:hover{background:#ffffff0f}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.bill-number{font-size:.72rem;font-weight:700;color:#60a5fa;font-family:SF Mono,Fira Code,monospace}.bill-date{font-size:.65rem;color:#fff6}.bill-title{font-size:.75rem;color:#ffffffd9;line-height:1.4;margin-bottom:4px}.bill-policy{display:inline-block;padding:2px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:10px;font-size:.6rem;color:#93c5fd;margin-bottom:4px}.bill-action{font-size:.65rem;color:#fff6;font-style:italic}.hr4405-section{background:#ef44440d;border:1px solid rgba(239,68,68,.15);border-radius:8px;padding:12px}.hr4405-status{display:flex;align-items:flex-start;gap:10px}.hr4405-badge{display:inline-flex;padding:3px 10px;background:#f59e0b33;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:.6rem;font-weight:800;color:#fbbf24;letter-spacing:1px;white-space:nowrap}.hr4405-text{font-size:.7rem;color:#ffffff80;line-height:1.5}.correlation-list{display:flex;flex-direction:column;gap:8px}.correlation-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border-radius:8px;transition:background .15s}.correlation-row:hover{background:#ffffff0f}.correlation-row.hot{border-left:3px solid #ef4444;background:#ef44440f}.correlation-row.warm{border-left:3px solid #f59e0b;background:#f59e0b0a}.correlation-row.cool{border-left:3px solid rgba(255,255,255,.15)}.correlation-badge{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;font-weight:800;flex-shrink:0}.correlation-row.hot .correlation-badge{background:#ef444433;color:#ef4444}.correlation-row.warm .correlation-badge{background:#f59e0b33;color:#f59e0b}.correlation-row.cool .correlation-badge{background:#ffffff14;color:#ffffff80}.correlation-flow{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.correlation-money,.correlation-vote{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.correlation-arrow{flex-shrink:0;color:#ffffff4d}.correlation-arrow svg{width:18px;height:18px}.corr-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffff59}.corr-donor,.corr-bill{font-size:.72rem;font-weight:600;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corr-bill{color:#60a5fa;font-family:SF Mono,Fira Code,monospace}.corr-amount{font-size:.7rem;font-weight:700;color:#10b981}.corr-date{font-size:.6rem;color:#ffffff59}.corr-bill-title{font-size:.6rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pac-timeline{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.pac-timeline-title{font-size:.7rem;font-weight:600;color:#ffffff80;margin:0 0 8px}.pac-timeline-row{display:flex;align-items:center;gap:8px;padding:5px 0}.pac-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pac-dot.support{background:#10b981}.pac-dot.oppose{background:#ef4444}.pac-timeline-name{font-size:.7rem;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.pac-timeline-amount{font-size:.7rem;font-weight:700;color:#fffc;font-variant-numeric:tabular-nums}.pac-timeline-dir{font-size:.55rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.pac-timeline-dir.support{background:#10b98126;color:#10b981}.pac-timeline-dir.oppose{background:#ef444426;color:#ef4444}.pac-timeline-date{font-size:.6rem;color:#ffffff4d;white-space:nowrap}.bill-tracker{margin-top:16px;margin-bottom:4px;position:relative;padding:0 10px}.tracker-line-bg{position:absolute;top:5px;left:20px;right:20px;height:2px;background:#ffffff1a;border-radius:2px;z-index:1}.tracker-line-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .6s ease;box-shadow:0 0 8px #3b82f699}.tracker-steps{display:flex;justify-content:space-between;position:relative;z-index:2}.tracker-step{display:flex;flex-direction:column;align-items:center;gap:6px;width:20%}.step-dot{width:12px;height:12px;border-radius:50%;background:#1e1e2d;border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.tracker-step.active .step-dot{background:#3b82f6;border-color:#60a5fa;box-shadow:0 0 10px #3b82f680}.step-label{font-size:.55rem;font-weight:600;color:#ffffff4d;text-transform:uppercase;text-align:center;line-height:1.2;letter-spacing:.5px}.tracker-step.active .step-label{color:#fffc}.member-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.member-card:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.member-card.expanded{background:#ffffff0d;border-color:#ffffff1f;box-shadow:0 12px 40px #00000059}.card-accent{height:3px;background:var(--party-gradient)}.member-card.dem{--party-gradient: linear-gradient(90deg, #3B82F6, #60A5FA);--party-accent: #3B82F6}.member-card.rep{--party-gradient: linear-gradient(90deg, #EF4444, #F87171);--party-accent: #EF4444}.member-card.ind{--party-gradient: linear-gradient(90deg, #F59E0B, #FBBF24);--party-accent: #F59E0B}.card-body{display:flex;align-items:center;gap:14px;padding:16px}.card-info{flex:1;min-width:0}.card-name{font-size:14px;font-weight:700;color:#e2e4f0;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-details{display:flex;align-items:center;gap:6px;font-size:12px}.card-party-tag{font-weight:700;font-size:11px;padding:2px 8px;border-radius:6px;letter-spacing:.3px}.card-party-tag.dem{color:#60a5fa;background:#3b82f61f}.card-party-tag.rep{color:#f87171;background:#ef44441f}.card-party-tag.ind{color:#fbbf24;background:#f59e0b1f}.card-divider{color:#fff3}.card-state{color:#ffffff80;font-size:12px}.card-chamber{margin:4px 0 0;font-size:11px;color:#ffffff59;font-weight:500}.card-expand-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.expand-chevron{width:16px;height:16px;color:#ffffff40;transition:transform .3s ease,color .2s ease}.expand-chevron.rotated{transform:rotate(180deg);color:#ffffff80}.card-expanded{padding:0 16px 16px;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#0003;padding:12px;border-radius:10px}.expanded-item{display:flex;flex-direction:column;gap:2px}.expanded-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d;font-weight:600}.expanded-value{font-size:13px;font-weight:600;color:#c8cae0}.card-contact-icons{display:flex;align-items:center;gap:6px;flex-shrink:0}.contact-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;text-decoration:none}.contact-icon svg{width:14px;height:14px}.phone-icon{background:#22c55e1f;color:#4ade80}.phone-icon:hover{background:#22c55e40;transform:scale(1.1)}.email-icon{background:#6366f11f;color:#818cf8}.email-icon:hover{background:#6366f140;transform:scale(1.1)}.contact-loading-row{display:flex;justify-content:center;padding:4px 0 8px}.contact-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.1);border-top-color:#fff6;border-radius:50%;animation:spin .8s linear infinite}.finance-section{margin-top:12px;background:#00000040;border-radius:12px;padding:14px;border:1px solid rgba(255,255,255,.04)}.finance-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#fff9;margin:0 0 12px;text-transform:uppercase;letter-spacing:.6px}.finance-icon{width:14px;height:14px;color:#22c55e}.finance-cycle{margin-left:auto;font-size:10px;font-weight:600;color:#ffffff4d;background:#ffffff0d;padding:2px 8px;border-radius:6px;text-transform:none;letter-spacing:0}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.finance-item{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;background:#ffffff08}.finance-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#ffffff4d}.finance-value{font-size:16px;font-weight:800;color:#e2e4f0;line-height:1}.finance-item.raised .finance-value{color:#4ade80}.finance-item.spent .finance-value{color:#f87171}.finance-item.cash .finance-value{color:#60a5fa}.finance-item.donors .finance-value{color:#c084fc}.finance-bar-container{margin-top:4px}.finance-bar-label{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:#ffffff4d;margin-bottom:4px}.finance-bar-track{height:6px;background:#ffffff0f;border-radius:6px;overflow:hidden}.finance-bar-fill{height:100%;background:linear-gradient(90deg,#4ade80,#f59e0b,#ef4444);border-radius:6px;transition:width .6s ease}.finance-unavailable{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffff40}.finance-na-icon{width:16px;height:16px;flex-shrink:0;color:#fff3}.finance-loading{display:flex;align-items:center;gap:10px;font-size:12px;color:#ffffff59}.finance-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#ffffff80;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.member-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.member-chip:hover{background:#ffffff1a;border-color:#ffffff26}.chip-img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1.5px solid var(--party-color, #555)}.member-chip.dem{--party-color: #3B82F6}.member-chip.rep{--party-color: #EF4444}.member-chip.ind{--party-color: #F59E0B}.chip-name{font-weight:600;color:#d0d2e4}.chip-party{font-weight:700;font-size:10px;color:var(--party-color);letter-spacing:.3px}.investigate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;margin-top:12px;background:linear-gradient(135deg,#7c3aed4d,#ef444433);border:1px solid rgba(124,58,237,.3);border-radius:8px;color:#e2e4f0;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .25s;letter-spacing:.3px}.investigate-btn:hover{background:linear-gradient(135deg,#7c3aed80,#ef444459);border-color:#7c3aed80;box-shadow:0 0 20px #7c3aed40;transform:translateY(-1px)}.investigate-icon{width:16px;height:16px}.audit-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.audit-drawer{width:520px;max-width:90vw;height:100vh;background:#12141f;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;animation:drawerSlideIn .3s ease;position:relative;overflow:hidden}.audit-drawer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.audit-drawer.dem:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.audit-drawer.rep:before{background:linear-gradient(90deg,#ef4444,#f87171)}.audit-drawer.ind:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);background:#0003;flex-shrink:0}.drawer-member-info{display:flex;align-items:center;gap:12px}.drawer-member-name{font-size:1rem;font-weight:700;color:#e2e4f0;margin:0}.drawer-member-detail{font-size:.72rem;color:#ffffff73}.drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;color:#ffffff80;transition:all .15s}.drawer-close:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.drawer-close svg{width:16px;height:16px}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.drawer-body::-webkit-scrollbar{width:4px}.drawer-body::-webkit-scrollbar-track{background:transparent}.drawer-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.member-grid-section{padding:24px 24px 40px;max-width:1440px;margin:0 auto}.grid-header{margin-bottom:16px}.grid-title{font-size:20px;font-weight:800;color:#e2e4f0;margin:0;letter-spacing:-.3px}.grid-controls{margin-bottom:20px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filter-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#ffffff73;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-pill:hover{background:#ffffff14;color:#ffffffb3}.filter-pill.active{background:#ffffff1f;color:#fff;border-color:#fff3}.pill-count{font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;background:#ffffff14;color:#fff6;line-height:1.4}.filter-pill.active .pill-count{background:#ffffff26;color:#ffffffb3}.filter-pill.dem-pill.active{background:#3b82f61f;color:#60a5fa;border-color:#3b82f640}.filter-pill.dem-pill.active .pill-count{background:#3b82f633;color:#60a5fa}.filter-pill.rep-pill.active{background:#ef44441f;color:#f87171;border-color:#ef444440}.filter-pill.rep-pill.active .pill-count{background:#ef444433;color:#f87171}.filter-pill.fame-pill.active{background:#f59e0b1f;color:#f59e0b;border-color:#f59e0b40}.filter-pill.fame-pill.active .pill-count{background:#f59e0b33;color:#f59e0b}.filter-pill.shame-pill.active{background:#6b72801f;color:#9ca3af;border-color:#6b728040}.filter-pill.shame-pill.active .pill-count{background:#6b728033;color:#9ca3af}.search-row{display:flex;gap:10px}.search-box{flex:1;position:relative}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#fff3;pointer-events:none}.search-input{width:100%;padding:10px 14px 10px 40px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff08;color:#e2e4f0;font-size:13px;outline:none;transition:border-color .2s ease;box-sizing:border-box}.search-input:focus{border-color:#6366f166}.search-input::placeholder{color:#fff3}.state-select{padding:10px 14px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff08;color:#e2e4f0;font-size:13px;cursor:pointer;outline:none;min-width:160px}.state-select option{background:#1a1c2e;color:#e2e4f0}.search-spinner{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid rgba(255,255,255,.1);border-top-color:#6366f199;border-radius:50%;animation:searchSpin .7s linear infinite}@keyframes searchSpin{to{transform:translateY(-50%) rotate(360deg)}}.zip-results{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.zip-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:12px;margin-bottom:20px}.zip-icon{width:24px;height:24px;color:#818cf8;flex-shrink:0}.zip-banner-text{flex:1;display:flex;flex-direction:column;gap:2px}.zip-location{font-size:16px;font-weight:800;color:#e2e4f0}.zip-code{font-size:11px;color:#ffffff59;font-weight:600}.zip-clear{padding:6px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffff80;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.zip-clear:hover{background:#ffffff1a;color:#fff}.zip-section{margin-bottom:20px}.zip-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#e2e4f0;margin:0 0 12px}.zip-section-icon{width:18px;height:18px}.senate-icon{color:#818cf8}.house-icon{color:#f59e0b}.zip-hint{margin-left:auto;font-size:11px;font-weight:500;color:#ffffff40}.zip-grid{display:grid;gap:12px}.senators-grid,.house-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.load-more-btn{display:block;margin:28px auto 0;padding:12px 32px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08;color:#ffffff80;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.load-more-btn:hover{background:#ffffff14;color:#fff}.empty-state{text-align:center;padding:60px 20px;color:#fff3}.empty-icon{display:flex;justify-content:center;margin-bottom:12px}.empty-icon svg{width:48px;height:48px;color:#ffffff1a}.empty-state p{font-size:14px;margin:0}@media (max-width: 768px){.member-grid-section{padding:20px 16px 32px}.member-grid{grid-template-columns:1fr;gap:10px}.filter-pills{gap:6px}.filter-pill{padding:5px 10px;font-size:11px}.search-row{flex-direction:column}.state-select{min-width:unset}}.activity-feed{padding:40px 24px;max-width:900px;margin:0 auto}.feed-header{margin-bottom:28px}.feed-title{font-size:22px;font-weight:800;color:#e2e4f0;margin:0 0 6px;display:flex;align-items:center;gap:10px}.feed-pulse{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e80;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px #22c55e80}50%{opacity:.6;box-shadow:0 0 16px #22c55ecc}}.feed-subtitle{font-size:14px;color:#ffffff59;margin:0}.feed-list{display:flex;flex-direction:column;gap:10px}.feed-item{display:flex;gap:14px;padding:16px;background:#ffffff06;border:1px solid rgba(255,255,255,.05);border-radius:14px;transition:all .2s ease;animation:slideFadeIn .35s ease both;position:relative;overflow:hidden}.feed-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--status-color, rgba(255, 255, 255, .1));border-radius:3px 0 0 3px}.feed-item.status-passed{--status-color: #22c55e}.feed-item.status-vetoed{--status-color: #ef4444}.feed-item.status-committee{--status-color: #f59e0b}.feed-item.status-default{--status-color: #6366f1}@keyframes slideFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.feed-item:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px)}.feed-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-icon svg{width:18px;height:18px;color:#ffffff80}.feed-content{flex:1;min-width:0}.feed-bill-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.bill-type-badge{font-size:11px;font-weight:800;color:#a5b4fc;background:#6366f11f;padding:2px 8px;border-radius:6px;letter-spacing:.5px}.chamber-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.4px;text-transform:uppercase}.chamber-tag.house{color:#60a5fa;background:#3b82f61a}.chamber-tag.senate{color:#c084fc;background:#c084fc1a}.feed-time{font-size:11px;color:#ffffff4d;margin-left:auto;font-weight:500}.feed-bill-title{font-size:14px;font-weight:600;color:#d0d3e4;margin:0 0 6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-action{font-size:12px;color:#fff6;margin:0 0 8px;line-height:1.4}.feed-meta{display:flex;gap:10px;align-items:center}.congress-badge{font-size:10px;font-weight:600;color:#ffffff4d;background:#ffffff0a;padding:2px 8px;border-radius:5px}.action-date{font-size:11px;color:#ffffff40}.feed-loading{display:flex;flex-direction:column;gap:10px}.feed-skeleton{display:flex;gap:14px;padding:16px;background:#ffffff06;border-radius:14px}.skel-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0f;animation:shimmer 1.5s ease infinite}.skel-body{flex:1;display:flex;flex-direction:column;gap:8px}.skel-line{height:12px;border-radius:6px;background:#ffffff0f;animation:shimmer 1.5s ease infinite}.skel-title{width:60%}.skel-desc{width:90%}.skel-meta{width:40%;height:10px}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.8}}.feed-error{padding:20px;background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:12px;color:#f87171;font-size:14px;display:flex;align-items:center;gap:8px}.feed-error-icon{display:flex;flex-shrink:0}.feed-error-icon svg{width:18px;height:18px}@media (max-width: 768px){.activity-feed{padding:32px 16px}.feed-item{padding:12px}.feed-bill-title{font-size:13px}}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding-top:60px}.dem-color{color:#60a5fa!important}.rep-color{color:#f87171!important}.ind-color{color:#fbbf24!important}.fame-color{color:#f59e0b!important}.shame-color{color:#6b7280!important}.hero-section{padding:32px 24px 24px;background:radial-gradient(ellipse at top,rgba(99,102,241,.08),transparent 60%)}.hero-inner{max-width:900px;margin:0 auto;text-align:center}.hero-title{font-size:26px;font-weight:900;color:#e2e4f0;margin:0 0 6px;letter-spacing:-.5px}.hero-subtitle{font-size:14px;color:#ffffff59;margin:0 0 24px}.control-boxes{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:700px;margin:0 auto}.control-box{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px;text-align:left;transition:border-color .3s ease}.control-box.rep-control{border-color:#ef444433}.control-box.dem-control{border-color:#3b82f633}.control-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.control-label{font-size:16px;font-weight:800;color:#e2e4f0;letter-spacing:-.3px}.control-tag{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:6px}.rep-control .control-tag{color:#f87171;background:#ef44441f}.dem-control .control-tag{color:#60a5fa;background:#3b82f61f}.control-seats{display:flex;align-items:center;gap:16px;margin-bottom:10px}.seat-group{display:flex;align-items:baseline;gap:4px}.seat-count{font-size:24px;font-weight:900;line-height:1}.seat-label{font-size:11px;font-weight:700;opacity:.5}.dem-seats .seat-count{color:#60a5fa}.rep-seats .seat-count{color:#f87171}.ind-seats .seat-count{color:#fbbf24}.control-bar{display:flex;height:5px;border-radius:5px;overflow:hidden;background:#ffffff0a;margin-bottom:8px}.bar-dem{background:#3b82f6;transition:width .5s ease}.bar-ind{background:#f59e0b;transition:width .5s ease}.bar-rep{background:#ef4444;transition:width .5s ease}.control-note{font-size:10px;color:#fff3;margin:0;font-weight:500}.tab-content{transition:opacity .3s ease}.tab-content.visible{opacity:1}.tab-content.hidden{display:none;opacity:0}.app-footer{padding:32px 24px;text-align:center;border-top:1px solid rgba(255,255,255,.04)}.app-footer p{font-size:12px;color:#fff3;margin:0}.footer-disclaimer{max-width:700px;margin:0 auto}.disclaimer-text{margin-top:8px!important;font-size:10px!important;color:#ffffff1f!important;line-height:1.5}@media (max-width: 768px){.hero-section{padding:24px 16px 20px}.hero-title{font-size:20px}.control-boxes{grid-template-columns:1fr;gap:12px}.seat-count{font-size:20px}}
