@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.dev-toggle{position:fixed;bottom:100px;left:16px;width:44px;height:44px;background:#1e293b;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer;z-index:9999;box-shadow:0 2px 10px #0000004d}.dev-panel{position:fixed;bottom:100px;left:16px;width:320px;max-height:70vh;background:#1e293b;color:#fff;border-radius:16px;z-index:9999;box-shadow:0 4px 20px #0006;overflow:hidden;display:flex;flex-direction:column}.dev-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0f172a}.dev-header h3{margin:0;font-size:14px}.close-btn{background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer}.dev-tabs{display:flex;background:#0f172a;padding:0 8px 8px;gap:4px}.dev-tabs button{flex:1;padding:8px 4px;background:transparent;border:none;color:#94a3b8;font-size:11px;border-radius:6px;cursor:pointer}.dev-tabs button.active{background:#334155;color:#fff}.dev-section{padding:16px;overflow-y:auto;flex:1}.current-info{display:flex;justify-content:space-between;background:#334155;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.zip-input-row{display:flex;gap:8px;margin-bottom:12px}.zip-input-row input{flex:1;padding:10px 12px;border:none;border-radius:8px;background:#334155;color:#fff;font-size:14px}.zip-input-row button{padding:10px 16px;border:none;border-radius:8px;background:#475569;color:#fff;font-size:13px;cursor:pointer}.zip-input-row .apply-btn{background:#2563eb}.quick-zips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.quick-zips span{font-size:11px;color:#94a3b8}.quick-zips button{padding:4px 10px;background:#475569;border:none;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.quick-zips button:hover{background:#2563eb}.test-results{background:#0f172a;border-radius:8px;padding:12px}.test-results h4{margin:0 0 10px;font-size:12px;color:#94a3b8}.result-row{display:flex;justify-content:space-between;padding:8px;border-radius:6px;margin-bottom:6px;font-size:12px}.result-row.success{background:#10b98133}.result-row.warning{background:#f59e0b33}.flag-note{font-size:11px;color:#94a3b8;margin:0 0 12px}.flag-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #334155}.flag-name{font-size:14px;text-transform:capitalize}.flag-toggle{padding:6px 16px;border:none;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer}.flag-toggle.on{background:#10b981;color:#fff}.flag-toggle.off{background:#475569;color:#94a3b8}.api-status{background:#0f172a;border-radius:8px;padding:12px;margin-bottom:16px}.api-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid #1e293b}.api-row:last-child{border-bottom:none}.status-ok{color:#10b981}.status-warn{color:#f59e0b}.status-error{color:#ef4444}.coverage-info{font-size:12px;color:#94a3b8;line-height:1.8}.coverage-info .todo{color:#f59e0b;margin-top:8px}.dev-section h4{font-size:13px;color:#94a3b8;margin:0 0 12px}.admin-info{padding:8px 16px;background:#334155;font-size:12px;color:#94a3b8;border-bottom:1px solid #475569}.premium-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.premium-reset-btn,.premium-unlock-btn{width:100%;padding:10px;border:none;border-radius:8px;font-size:13px;cursor:pointer}.premium-reset-btn{background:#ef4444;color:#fff}.premium-unlock-btn{background:#10b981;color:#fff}.feedback-fab{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;box-shadow:0 4px 12px #3b82f666;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1000}.feedback-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #3b82f680}.feedback-fab:active{transform:scale(.95)}.feedback-fab:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:#3b82f6;z-index:-1;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.3);opacity:0}to{transform:scale(1);opacity:0}}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.feedback-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.feedback-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#f3f4f6;color:#6b7280;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.feedback-close:hover{background:#e5e7eb;color:#374151}.feedback-header{text-align:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.feedback-icon{font-size:40px;display:block;margin-bottom:8px}.feedback-header h2{margin:0;font-size:22px;color:#111827}.feedback-header p{margin:4px 0 0;color:#6b7280;font-size:14px}.feedback-modal form{padding:20px 24px 24px}.feedback-types{display:flex;gap:8px;margin-bottom:16px}.type-btn{flex:1;padding:10px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#6b7280;transition:all .2s}.type-btn:hover{border-color:#d1d5db;background:#f9fafb}.type-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.feedback-field{margin-bottom:16px}.feedback-field label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.feedback-field textarea,.feedback-field input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;transition:border-color .2s;resize:vertical;box-sizing:border-box}.feedback-field textarea:focus,.feedback-field input:focus{outline:none;border-color:#3b82f6}.feedback-field textarea::placeholder,.feedback-field input::placeholder{color:#9ca3af}.feedback-submit{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.feedback-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-note{margin:12px 0 0;font-size:12px;color:#9ca3af;text-align:center}.feedback-success{padding:40px 24px;text-align:center}.success-icon{font-size:48px;display:block;margin-bottom:12px}.feedback-success h3{margin:0;font-size:20px;color:#059669}.feedback-success p{margin:8px 0 0;color:#6b7280}@media (max-width: 480px){.feedback-fab{bottom:90px;right:12px;width:50px;height:50px;font-size:22px}.feedback-modal{max-height:85vh;margin:auto 10px}.type-btn{padding:8px 4px;font-size:12px}}.landing{min-height:100vh;background:#fafafa}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:40px;height:40px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;font-size:22px;font-weight:800;border-radius:10px;display:flex;align-items:center;justify-content:center}.logo-text{font-size:24px;font-weight:700;color:#1e293b}.nav-links{display:flex;align-items:center;gap:20px}.nav-link{color:#64748b;text-decoration:none;font-weight:500}.nav-btn{background:#1e40af;color:#fff;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:600}.hero{padding:40px 24px 80px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-badge{display:inline-block;background:#eff6ff;color:#1e40af;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;margin-bottom:20px}.hero h1{font-size:48px;line-height:1.15;color:#0f172a;margin:0 0 24px;font-weight:800}.hero h1 .highlight{color:#1e40af}.hero-subtitle{font-size:18px;color:#475569;line-height:1.7;margin:0 0 32px}.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}.cta-primary{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:16px 32px;border-radius:12px;text-decoration:none;font-weight:600;font-size:16px;box-shadow:0 4px 14px #1e40af4d;transition:transform .2s,box-shadow .2s}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e40af66}.cta-primary.large{padding:18px 40px;font-size:18px}.cta-secondary{color:#1e40af;padding:16px 32px;text-decoration:none;font-weight:600;font-size:16px}.hero-image{display:flex;justify-content:center}.hero-phone{width:280px;background:#1e293b;border-radius:36px;padding:12px;box-shadow:0 25px 50px #0003}.phone-screen{background:#f8fafc;border-radius:28px;padding:20px;min-height:300px}.phone-header{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:20px}.phone-rep{display:flex;align-items:center;gap:12px;background:#fff;padding:14px;border-radius:12px;margin-bottom:10px;box-shadow:0 2px 8px #0000000f}.rep-avatar{width:44px;height:44px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.rep-avatar.red{background:linear-gradient(135deg,#dc2626,#b91c1c)}.rep-info strong{display:block;font-size:14px;color:#1e293b}.rep-info span{font-size:12px;color:#64748b}.rep-call{font-size:20px}.problem-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto}.problem-box,.solution-box{padding:32px;border-radius:20px}.problem-box{background:#fef2f2}.problem-box h2{color:#991b1b;font-size:18px;margin:0 0 12px}.problem-box p{color:#7f1d1d;margin:0;line-height:1.6}.solution-box{background:#ecfdf5}.solution-box h2{color:#166534;font-size:18px;margin:0 0 12px}.solution-box p{color:#14532d;margin:0;line-height:1.6}.section{padding:80px 24px;max-width:1200px;margin:0 auto}.section h2{font-size:36px;color:#0f172a;text-align:center;margin:0 0 48px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step{text-align:center}.step-icon{font-size:48px;margin-bottom:16px}.step h3{font-size:18px;color:#1e293b;margin:0 0 8px}.step p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature{background:#fff;padding:32px;border-radius:16px;box-shadow:0 4px 20px #0000000f}.feature-icon{font-size:36px;display:block;margin-bottom:16px}.feature h3{font-size:18px;color:#1e293b;margin:0 0 8px}.feature p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.social-proof{background:#1e293b;border-radius:24px;padding:60px 40px!important}.proof-stats{display:flex;justify-content:center;gap:80px}.proof-stat{text-align:center}.proof-num{display:block;font-size:48px;font-weight:800;color:#fff}.proof-label{color:#94a3b8;font-size:16px}.final-cta{text-align:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:24px;padding:80px 40px!important}.final-cta h2{margin-bottom:16px}.final-cta>p{color:#475569;font-size:18px;margin:0 0 32px}.trust-note{color:#64748b;font-size:14px;margin-top:20px!important}.landing-footer{background:#0f172a;padding:60px 24px 30px}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:60px}.footer-brand p{color:#64748b;margin-top:12px}.footer-brand .logo-mark{background:#1e40af}.footer-brand .logo-text{color:#fff}.footer-links{display:flex;gap:60px}.footer-col h4{color:#fff;font-size:14px;margin:0 0 16px}.footer-col a{display:block;color:#64748b;text-decoration:none;font-size:14px;margin-bottom:10px}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid #1e293b}.footer-bottom p{color:#64748b;font-size:14px;margin:0}@media (max-width: 900px){.hero{grid-template-columns:1fr;text-align:center;gap:40px}.hero h1{font-size:36px}.hero-ctas{justify-content:center}.hero-image{order:-1}.hero-phone{width:240px}.problem-section{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:1fr}.proof-stats{flex-direction:column;gap:30px}.footer-content{flex-direction:column;gap:40px}.footer-links{flex-wrap:wrap;gap:30px}}@media (max-width: 500px){.steps{grid-template-columns:1fr}.hero h1,.section h2{font-size:28px}}.feature.highlight{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:2px solid #6366f1}.feature.highlight h3{color:#4f46e5}.town-hall-spotlight{background:linear-gradient(135deg,#22c55e,#16a34a);padding:32px!important;border-radius:20px;margin:40px auto;max-width:900px}.spotlight-content{display:flex;align-items:center;gap:24px;color:#fff}.spotlight-icon{font-size:48px}.spotlight-content h2{font-size:24px;margin:0 0 8px;color:#fff}.spotlight-content p{font-size:15px;margin:0;opacity:.95;line-height:1.5}.spotlight-btn{padding:14px 28px;background:#fff;color:#16a34a;text-decoration:none;border-radius:12px;font-weight:700;font-size:16px;white-space:nowrap;transition:all .2s}.spotlight-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}@media (max-width: 768px){.spotlight-content{flex-direction:column;text-align:center}}.login-page{min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:440px}.back-link{display:inline-block;color:#ffffffb3;text-decoration:none;margin-bottom:24px;font-size:14px}.login-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:24px}.login-logo{font-size:48px;display:block;margin-bottom:12px}.login-header h1{font-size:28px;color:#1e3a5f;margin:0 0 4px}.login-header p{color:#64748b;margin:0}.error-msg{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.success-msg{background:#d1fae5;color:#065f46;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.oauth-section{margin-bottom:24px}.oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;font-size:15px;font-weight:500;color:#1e293b;cursor:pointer;margin-bottom:10px;transition:all .2s}.oauth-btn:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-btn.google:hover:not(:disabled){border-color:#4285f4}.oauth-btn.facebook:hover:not(:disabled){border-color:#1877f2}.oauth-btn.twitter:hover:not(:disabled){border-color:#000}.oauth-divider{text-align:center;margin:20px 0;position:relative}.oauth-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#e2e8f0}.oauth-divider span{position:relative;background:#fff;padding:0 16px;color:#94a3b8;font-size:13px}.name-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:#334155}.form-group input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#2563eb}.submit-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#1d4ed8}.login-footer{margin-top:24px;text-align:center}.link-btn{background:none;border:none;color:#2563eb;font-size:14px;cursor:pointer;padding:0;margin-left:4px}.switch-text{color:#64748b;font-size:14px;margin:16px 0 0}.demo-notice{margin-top:24px;padding:12px;background:#fef3c7;border-radius:8px;text-align:center;font-size:13px;color:#92400e}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;flex-direction:column;padding:20px}.progress-container{padding:20px 0}.progress-bar{height:6px;background:#fff3;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width .4s ease}.progress-text{display:block;text-align:center;color:#fff9;font-size:12px;margin-top:8px}.onboarding-content{flex:1;display:flex;flex-direction:column;max-width:480px;margin:0 auto;width:100%}.step-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 0}.step-icon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.step-container h1{font-size:28px;font-weight:700;color:#fff;text-align:center;margin:0 0 10px}.step-subtitle{font-size:16px;color:#ffffffb3;text-align:center;margin:0 0 30px;line-height:1.5}.input-group{width:100%;margin-bottom:20px}.input-group label{display:block;font-size:14px;font-weight:500;color:#fffc;margin-bottom:8px}.input-group input{width:100%;padding:16px 20px;font-size:18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;outline:none;transition:all .2s}.input-group input::placeholder{color:#fff6}.input-group input:focus{border-color:#3b82f6;background:#ffffff26}.privacy-note{font-size:13px;color:#ffffff80;text-align:center;margin-top:16px}.select-all-btn{width:100%;padding:12px;margin-bottom:16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.select-all-btn:hover{background:#ffffff26;border-color:#ffffff4d}.issues-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;margin-bottom:16px}.issue-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:16px;cursor:pointer;transition:all .2s}.issue-card:hover{background:#ffffff1f;border-color:#ffffff40}.issue-card.selected{background:#3b82f633;border-color:#3b82f6}.issue-emoji{font-size:28px;margin-bottom:6px}.issue-name{font-size:13px;font-weight:600;color:#fff;text-align:center;margin-bottom:2px}.issue-desc{font-size:10px;color:#ffffff80;text-align:center;line-height:1.3}.check-mark{position:absolute;top:8px;right:8px;width:20px;height:20px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.selected-count{font-size:14px;color:#fff9;text-align:center}.household-options{width:100%}.option-group{margin-bottom:24px}.option-group label{display:block;font-size:14px;font-weight:500;color:#fffc;margin-bottom:12px}.option-buttons{display:flex;gap:10px}.option-buttons button{flex:1;padding:14px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.option-buttons button:hover{background:#ffffff1f}.option-buttons button.selected{background:#3b82f633;border-color:#3b82f6}.income-options{display:flex;flex-direction:column;gap:8px}.income-options button{padding:14px 20px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.income-options button:hover{background:#ffffff1f}.income-options button.selected{background:#3b82f633;border-color:#3b82f6}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:12px 16px;border-radius:10px;font-size:14px;text-align:center;margin-bottom:16px}.nav-buttons{display:flex;gap:12px;margin-top:auto;padding-top:20px}.back-btn{padding:16px 24px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{background:#ffffff26}.next-btn{flex:1;padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.skip-btn{display:block;width:100%;padding:12px;background:transparent;border:none;color:#ffffff80;font-size:14px;cursor:pointer;margin-top:12px}.skip-btn:hover{color:#fffc}.detect-location-btn{width:100%;padding:12px 16px;margin-top:12px;background:#3b82f61a;color:#93c5fd;border:1px dashed #3b82f6;border-radius:12px;font-size:14px;cursor:pointer;transition:all .2s}.detect-location-btn:hover{background:#3b82f633;border-style:solid}.detect-location-btn:active{transform:scale(.98)}.top-bar{position:fixed;top:0;left:0;right:0;height:56px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;z-index:100}.logo{display:flex;align-items:center;gap:8px}.logo-icon{font-size:24px}.logo-text{font-size:20px;font-weight:700;color:#1e293b}.tap-hint{position:absolute;top:-5px;right:-10px;width:18px;height:18px;background:#ef4444;border-radius:50%;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.logo{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:center;align-items:center;gap:8px;padding:0 12px;z-index:100}.nav-item{display:flex;flex-direction:row;align-items:center;gap:4px;padding:10px 14px;text-decoration:none;border-radius:12px;transition:all .2s}.nav-icon{font-size:18px}.nav-label{font-size:13px;font-weight:500;color:#64748b}.nav-item.active{background:#eff6ff}.nav-item.active .nav-label{color:#2563eb;font-weight:600}.nav-item:hover:not(.active){background:#f8fafc}@media (max-width: 400px){.nav-item{padding:8px 10px;gap:2px}.nav-label{font-size:11px}.nav-icon{font-size:16px}}.community-calendar{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header h3{margin:0;font-size:18px;color:#1e293b}.calendar-filters{display:flex;gap:6px}.calendar-filters button{padding:6px 12px;border:none;background:#f1f5f9;border-radius:16px;font-size:13px;cursor:pointer;transition:all .2s}.calendar-filters button.active{background:#3b82f6;color:#fff}.event-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#f8fafc;border-radius:12px;border-left:4px solid #3b82f6}.event-card.townhall{border-left-color:#8b5cf6}.event-card.community{border-left-color:#10b981}.event-card.education{border-left-color:#f59e0b}.event-card.election{border-left-color:#ef4444}.event-date-badge{display:flex;flex-direction:column;align-items:center;min-width:70px;padding:8px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.event-day{font-size:12px;font-weight:600;color:#1e293b}.event-time{font-size:11px;color:#64748b}.event-details{flex:1;min-width:0}.event-type-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600;color:#fff;margin-bottom:6px}.event-details h4{margin:0 0 4px;font-size:14px;color:#1e293b;line-height:1.3}.event-location{margin:0;font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.virtual-badge{background:#dbeafe;color:#1d4ed8;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:500}.event-actions{display:flex;flex-direction:column;gap:6px}.event-btn{padding:6px 12px;border:none;background:#3b82f6;color:#fff;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;text-align:center;white-space:nowrap}.event-btn.secondary{background:#e2e8f0;color:#475569}.event-btn:hover{opacity:.9}.no-events{text-align:center;padding:30px 20px;color:#64748b}.no-events a{color:#3b82f6;text-decoration:none;font-size:13px}.calendar-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0;text-align:center}.calendar-footer a{color:#3b82f6;text-decoration:none;font-size:13px;font-weight:500}@media (max-width: 480px){.event-card{flex-wrap:wrap}.event-date-badge{width:100%;flex-direction:row;justify-content:center;gap:8px;margin-bottom:8px}.event-actions{width:100%;flex-direction:row;margin-top:8px}}.community-calendar.compact{background:#fff;border-radius:12px;padding:14px;margin-bottom:16px;border:1px solid #e5e7eb}.community-calendar.compact .calendar-header h3{font-size:.95rem;margin:0 0 10px;color:#374151}.compact-events-list{display:flex;flex-direction:column;gap:8px}.compact-event{display:flex;align-items:center;gap:10px;padding:8px;background:#f9fafb;border-radius:8px}.compact-icon{font-size:1.2rem;flex-shrink:0}.compact-details{display:flex;flex-direction:column;gap:2px;min-width:0}.compact-title{font-size:.85rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-meta{font-size:.75rem;color:#6b7280}.see-all-events{display:block;text-align:center;margin-top:10px;font-size:.85rem;color:#2563eb;text-decoration:none}.see-all-events:hover{text-decoration:underline}.no-events-compact{font-size:.85rem;color:#6b7280;text-align:center;padding:8px}@media (prefers-color-scheme: dark){.community-calendar.compact{background:#1f2937;border-color:#374151}.community-calendar.compact .calendar-header h3{color:#e5e7eb}.compact-event{background:#374151}.compact-title{color:#f3f4f6}.compact-meta{color:#9ca3af}.see-all-events{color:#60a5fa}}.adsense-container{display:flex;justify-content:center;align-items:center;margin:16px 0;overflow:hidden}.adsense-placeholder{display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px dashed #cbd5e1;border-radius:8px;margin:16px auto;box-sizing:border-box}.ad-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:4px;color:#94a3b8;text-align:center;padding:12px}.ad-icon{font-size:24px;opacity:.6}.ad-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.ad-size{font-size:10px;opacity:.7}.adsense-placeholder.rectangle{width:300px;height:250px}.adsense-placeholder.horizontal{width:100%;max-width:728px;height:90px}.adsense-placeholder.vertical{width:160px;height:600px}.adsense-placeholder.leaderboard{width:100%;max-width:970px;height:90px}.adsense-placeholder.large-rectangle{width:336px;height:280px}.adsense-placeholder.in-feed,.adsense-placeholder.in-article,.adsense-placeholder.auto{width:100%;min-height:100px;height:auto;padding:20px}.banner-ad{background:#f8fafc;padding:8px 0}.in-feed-ad{margin:8px 0}.in-feed-ad .adsense-placeholder{border-radius:12px;background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047}.in-feed-ad .ad-placeholder-content{color:#a16207}.in-article-ad{margin:24px 0}.in-article-ad .adsense-placeholder{border-radius:8px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.in-article-ad .ad-placeholder-content{color:#166534}.responsive-ad .adsense-placeholder{min-height:120px}@media (max-width: 320px){.adsense-placeholder.horizontal,.adsense-placeholder.leaderboard{display:none}}@media (max-width: 350px){.adsense-placeholder.rectangle,.adsense-placeholder.large-rectangle{width:100%;max-width:300px}}.ad-disclosure{font-size:10px;color:#94a3b8;text-align:center;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.no-ads-badge{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:20px;font-size:12px;color:#1d4ed8;margin:16px auto;width:fit-content}.no-ads-badge:before{content:"⭐"}.rewarded-ad-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.rewarded-ad-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.rewarded-ad-btn:active{transform:translateY(0)}.rewarded-ad-container{position:relative}.rewarded-ad-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999}.rewarded-ad-content{text-align:center;color:#fff;padding:40px}.ad-playing-icon{font-size:64px;margin-bottom:20px;animation:pulse 1s ease-in-out infinite}.reward-icon{font-size:64px;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.rewarded-ad-content p{font-size:18px;margin-bottom:16px}.ad-progress-bar{width:200px;height:8px;background:#fff3;border-radius:4px;margin:0 auto 16px;overflow:hidden}.ad-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .1s linear}.ad-timer{font-size:14px;color:#ffffffb3}.native-feed-ad{background:#fff;border-radius:16px;padding:16px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.native-feed-ad:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.native-ad-label{margin-bottom:10px}.sponsored-tag{font-size:10px;font-weight:600;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.native-ad-content{min-height:100px}.native-feed-ad.news:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.native-feed-ad.bill:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.promoted-card{display:block;background:linear-gradient(135deg,#fefce8,#fef9c3);border-radius:16px;padding:16px;border:1px solid #fde047;text-decoration:none;transition:all .2s}.promoted-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #fde0474d}.promoted-label{margin-bottom:10px}.promoted-tag{font-size:10px;font-weight:600;color:#a16207;background:#fef08a;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.promoted-content{display:flex;align-items:center;gap:12px;margin-bottom:12px}.promoted-icon{font-size:32px}.promoted-text h4{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px}.promoted-text p{font-size:13px;color:#64748b;margin:0}.promoted-cta{font-size:13px;font-weight:600;color:#a16207;display:block;text-align:right}.poll-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:16px;padding:18px;border:1px solid #86efac}.poll-label{margin-bottom:10px}.poll-tag{font-size:12px;font-weight:600;color:#166534}.poll-question{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 14px;line-height:1.4}.poll-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.poll-option{padding:12px 16px;background:#fff;border:2px solid #86efac;border-radius:10px;font-size:14px;font-weight:500;color:#166534;cursor:pointer;transition:all .2s}.poll-option:hover{background:#166534;color:#fff;border-color:#166534}.poll-note{font-size:12px;color:#166534;text-align:center;margin:0}.engagement-link{text-decoration:none;display:block}.engagement-card{background:#fff;border-radius:16px;padding:18px;border:2px solid #6366f1;transition:all .2s}.engagement-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f133}.engagement-header{margin-bottom:12px}.engagement-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.engagement-card h4{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 6px}.engagement-card p{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.4}.engagement-cta{font-size:14px;font-weight:600;display:block;text-align:right}.ad-placeholder{background:#f8fafc;border-radius:16px;padding:20px;border:1px dashed #cbd5e1;text-align:center;min-height:100px;display:flex;align-items:center;justify-content:center}.ad-placeholder span{font-size:13px;color:#94a3b8}@media (max-width: 480px){.poll-options{grid-template-columns:1fr}.promoted-content{flex-direction:column;text-align:center}.promoted-cta{text-align:center}}.home-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.home-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.home-header{margin-bottom:20px}.welcome-text h1{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 6px}.location-line{font-size:14px;color:#64748b;margin:0}.primary-cta{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:18px;margin-bottom:20px;text-decoration:none;color:#fff;box-shadow:0 4px 20px #6366f159;transition:all .2s}.primary-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f173}.primary-cta.completed{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 20px #22c55e59;padding:14px 20px}.cta-content{display:flex;align-items:center;gap:14px}.cta-icon{font-size:36px}.primary-cta h3{font-size:18px;font-weight:700;margin:0 0 4px}.primary-cta p{font-size:13px;margin:0;opacity:.9}.cta-arrow{font-size:14px;font-weight:600;background:#fff3;padding:10px 16px;border-radius:12px;white-space:nowrap}.quick-actions-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:24px}.action-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;transition:all .2s}.action-tile:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.tile-icon{font-size:28px}.tile-label{font-size:12px;font-weight:600;color:#475569;text-align:center}.section-header{margin-bottom:12px}.section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.section-header p{font-size:13px;color:#64748b;margin:0}.town-halls-section{margin-bottom:24px}.town-hall-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#fff;border:2px solid #22c55e;border-radius:16px;text-decoration:none;color:#1e293b;transition:all .2s}.town-hall-card:hover{background:#f0fdf4;box-shadow:0 4px 16px #22c55e33}.th-content{flex:1}.th-badge{display:inline-block;padding:4px 10px;background:#dcfce7;color:#166534;border-radius:12px;font-size:11px;font-weight:700;margin-bottom:8px}.th-content h3{font-size:16px;font-weight:700;margin:0 0 6px;color:#1e293b}.th-content p{font-size:13px;color:#64748b;margin:0 0 8px;line-height:1.4}.th-reps{font-size:12px;color:#22c55e;font-weight:600}.th-arrow{font-size:14px;font-weight:600;color:#22c55e;white-space:nowrap}.town-hall-note{font-size:13px;color:#64748b;text-align:center;margin:12px 0 0}.civic-wins-section{margin-bottom:24px}.wins-list{display:flex;flex-direction:column;gap:12px}.win-card-compact{background:#fff;border-radius:14px;padding:16px;border-left:4px solid #f59e0b;box-shadow:0 2px 8px #0000000d}.win-header{display:flex;gap:10px;align-items:center;margin-bottom:10px}.win-badge{padding:4px 10px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:12px;font-size:11px;font-weight:700}.win-region{font-size:12px;color:#6366f1;font-weight:600}.win-card-compact h3{font-size:15px;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.4}.win-card-compact p{font-size:13px;color:#64748b;line-height:1.5;margin:0}.win-inspiration{margin-top:10px;padding:10px 12px;background:#f0fdf4;border-radius:10px;font-size:12px;color:#166534}.news-section{margin-bottom:24px}.news-list{display:flex;flex-direction:column;gap:10px}.news-card-compact{display:block;padding:14px 16px;background:#fff;border-radius:12px;text-decoration:none;border:1px solid #e2e8f0;transition:all .2s}.news-card-compact:hover{border-color:#6366f1;box-shadow:0 2px 8px #00000014}.news-card-compact h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 6px;line-height:1.4}.news-source{font-size:12px;color:#94a3b8}.loading-placeholder,.no-news{padding:30px;text-align:center;color:#94a3b8;background:#fff;border-radius:12px}.bottom-cta{text-align:center;padding:28px 20px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:18px;margin-bottom:20px}.bottom-cta h3{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 8px}.bottom-cta p{font-size:14px;color:#64748b;margin:0 0 16px}.contact-btn{display:inline-block;padding:12px 24px;background:#6366f1;color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:15px;transition:all .2s}.contact-btn:hover{background:#4f46e5}.feedback-section{text-align:center;padding:20px}.feedback-section p{font-size:13px;color:#94a3b8;margin:0 0 10px}.feedback-link{font-size:14px;color:#6366f1;text-decoration:none;font-weight:500}@media (max-width: 480px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.primary-cta{flex-direction:column;gap:12px;text-align:center}.cta-content{flex-direction:column}.town-hall-card{flex-direction:column;gap:12px;text-align:center}}.profile-prompt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:14px;margin-bottom:16px;position:relative}.prompt-content{display:flex;align-items:center;gap:12px;flex:1}.prompt-icon{font-size:24px}.prompt-content strong{display:block;font-size:14px;color:#92400e;margin-bottom:2px}.prompt-content p{font-size:12px;color:#a16207;margin:0}.prompt-btn{padding:8px 14px;background:#f59e0b;color:#fff;text-decoration:none;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap}.prompt-close{position:absolute;top:8px;right:8px;background:none;border:none;color:#a16207;cursor:pointer;font-size:16px;padding:4px}.location-note{font-size:12px;color:#94a3b8;font-style:italic}.news-section .section-header{display:flex;justify-content:space-between;align-items:center}.news-location{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.news-meta{display:flex;gap:12px;align-items:center}.news-time{font-size:11px;color:#94a3b8}.fallback-link{display:inline-block;margin-top:12px;color:#6366f1;text-decoration:none;font-weight:500;font-size:14px}.fallback-link:hover{text-decoration:underline}.town-hall-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:14px;text-decoration:none;margin-bottom:24px;transition:all .2s}.town-hall-banner:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b40}.town-hall-banner .th-icon{font-size:28px}.town-hall-banner .th-text{flex:1}.town-hall-banner .th-text strong{display:block;font-size:15px;font-weight:700;color:#92400e;margin-bottom:2px}.town-hall-banner .th-text span{font-size:12px;color:#a16207}.town-hall-banner .th-arrow{font-size:18px;color:#92400e;font-weight:600}.feed-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.feed-info{font-size:12px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:12px}.feed-loading{text-align:center;padding:40px 20px}.feed-loading .spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.feed-loading p{font-size:14px;color:#64748b;margin:0}.feed-item-link{text-decoration:none}.feed-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feed-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}.local-badge{margin-left:8px;font-size:11px;color:#16a34a;background:#dcfce7;padding:3px 8px;border-radius:10px}.feed-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 6px;line-height:1.3}.feed-subtitle{font-size:13px;color:#64748b;margin:0 0 6px}.feed-description{font-size:14px;color:#475569;margin:0 0 10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vote-result{display:flex;gap:16px;margin-bottom:10px;font-size:14px;font-weight:600}.vote-result .yes{color:#16a34a}.vote-result .no{color:#dc2626}.feed-footer{display:flex;justify-content:flex-end}.feed-action{font-size:13px;font-weight:600;color:#6366f1}.feed-card.state_bill{border-left:4px solid #8b5cf6}.feed-card.federal_bill{border-left:4px solid #3b82f6}.feed-card.rep_vote{border-left:4px solid #22c55e}.feed-card.bill_passed{border-left:4px solid #16a34a}.feed-card.bill_failed{border-left:4px solid #ef4444}.feed-card.political_news{border-left:4px solid #64748b}.feed-card.town_hall{border-left:4px solid #f59e0b}.no-feed{text-align:center;padding:30px 20px;background:#fff;border-radius:16px}.no-feed p{font-size:14px;color:#64748b;margin:0 0 16px}.fallback-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.fallback-btn{padding:10px 16px;background:#f1f5f9;color:#475569;text-decoration:none;border-radius:10px;font-size:13px;font-weight:500;transition:all .2s}.fallback-btn:hover{background:#e2e8f0}.contact-rep-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 24px;margin-bottom:20px;background:#2563eb;color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:1.05rem;box-shadow:0 4px 12px #2563eb4d;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.contact-rep-cta:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.contact-rep-cta:active{transform:translateY(0)}.contact-rep-cta .cta-icon{font-size:1.3rem}.contact-rep-cta .cta-text{flex:1;text-align:center;text-shadow:none}.contact-rep-cta .cta-arrow{font-size:1.1rem;font-weight:700}@media (max-width: 480px){.contact-rep-cta{padding:16px 20px;font-size:1rem;border-radius:10px}.contact-rep-cta .cta-icon{font-size:1.1rem}}.events-section{margin-bottom:20px}.events-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.events-section .section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0}.events-section .see-all{font-size:13px;color:#2563eb;text-decoration:none;font-weight:500}.events-preview-list{display:flex;flex-direction:column;gap:10px}.event-preview-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.event-preview-badge{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.event-preview-content{flex:1;min-width:0}.event-preview-content h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-preview-date{font-size:12px;color:#64748b}.event-preview-link{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:8px;color:#64748b;text-decoration:none;font-size:16px;flex-shrink:0}@media (prefers-color-scheme: dark){.events-section .section-header h2{color:#f1f5f9}.events-section .see-all{color:#60a5fa}.event-preview-card{background:#1e293b;border-color:#334155}.event-preview-content h4{color:#f1f5f9}.event-preview-date{color:#94a3b8}.event-preview-link{background:#334155;color:#94a3b8}}.streak-level-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:14px;margin-bottom:12px}.streak-section{display:flex;align-items:center;gap:10px}.streak-fire{font-size:28px}.streak-info{display:flex;flex-direction:column}.streak-count{font-size:18px;font-weight:700;color:#92400e}.streak-label{font-size:11px;color:#b45309;text-transform:uppercase;letter-spacing:.5px}.level-section{display:flex;align-items:center;gap:8px}.level-emoji{font-size:24px}.level-info{display:flex;flex-direction:column;min-width:80px}.level-name{font-size:13px;font-weight:600;color:#92400e}.level-progress-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden;margin-top:4px}.level-progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.points-badge{font-size:11px;font-weight:700;color:#fff;background:#92400e;padding:4px 8px;border-radius:10px}.fun-fact-card{padding:14px 16px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:1px solid #93c5fd;border-radius:14px;margin-bottom:12px}.fun-fact-label{font-size:11px;font-weight:600;color:#1e40af;text-transform:uppercase;letter-spacing:.5px}.fun-fact-text{font-size:14px;color:#1e3a8a;margin:6px 0 0;line-height:1.4}@media (prefers-color-scheme: dark){.streak-level-card{background:linear-gradient(135deg,#422006,#78350f);border-color:#92400e}.streak-count{color:#fde68a}.streak-label{color:#fcd34d}.level-name{color:#fde68a}.points-badge{background:#fbbf24;color:#422006}.fun-fact-card{background:linear-gradient(135deg,#1e3a5f,#312e81);border-color:#3b82f6}.fun-fact-label{color:#93c5fd}.fun-fact-text{color:#bfdbfe}}.why-lobbyus-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid #bae6fd}.why-lobbyus-card h3{margin:0 0 12px;font-size:1rem;color:#0369a1}.value-props{display:flex;flex-direction:column;gap:8px}.value-prop{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#334155}.value-prop .vp-icon{font-size:1.1rem;flex-shrink:0}.value-prop .vp-text{flex:1}.value-prop strong{color:#0369a1}@media (prefers-color-scheme: dark){.why-lobbyus-card{background:linear-gradient(135deg,#0c4a6e,#075985);border-color:#0369a1}.why-lobbyus-card h3{color:#7dd3fc}.value-prop{color:#e0f2fe}.value-prop strong{color:#7dd3fc}}.main-street-cta{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;margin-bottom:16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;text-decoration:none;border-radius:12px;box-shadow:0 4px 12px #f59e0b4d;transition:all .2s}.main-street-cta:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b66}.ms-content{display:flex;align-items:center;gap:12px}.ms-icon{font-size:1.5rem}.ms-text h3{margin:0;font-size:1rem;font-weight:600}.ms-text p{margin:2px 0 0;font-size:.85rem;opacity:.9}.ms-arrow{font-size:1.2rem;opacity:.8}@media (prefers-color-scheme: dark){.main-street-cta{background:linear-gradient(135deg,#d97706,#b45309)}}.earn-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.earn-content{max-width:600px;margin:0 auto;padding:20px 16px}.earn-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.earn-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.earn-header p{color:#64748b;font-size:14px;margin:0}.points-display{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:12px 20px;border-radius:24px;font-weight:700;box-shadow:0 4px 12px #f59e0b4d}.points-icon,.points-amount{font-size:20px}.earn-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat-card{background:#fff;border-radius:16px;padding:20px 16px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-value{display:block;font-size:28px;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-label{font-size:12px;color:#64748b}.earn-section{margin-bottom:28px}.earn-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.earn-option{display:flex;align-items:center;gap:16px;background:#fff;border-radius:16px;padding:18px;margin-bottom:12px;text-decoration:none;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.earn-option:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.earn-option.disabled{opacity:.6;cursor:not-allowed}.earn-option-icon{width:56px;height:56px;background:#f1f5f9;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.earn-option-info{flex:1;min-width:0}.earn-option-info h3{font-size:16px;color:#1e293b;margin:0 0 4px}.earn-option-info p{font-size:13px;color:#64748b;margin:0;line-height:1.4}.coming-soon{display:inline-block;font-size:11px;color:#f59e0b;background:#fef3c7;padding:2px 8px;border-radius:4px;margin-top:6px;font-weight:600}.earn-option-reward{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.earn-option-reward span:first-child{font-size:14px;font-weight:700;color:#f59e0b}.earn-option-reward .arrow{font-size:18px;color:#cbd5e1}.rewards-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;padding:24px}.rewards-section h2{font-size:18px;color:#92400e;margin:0 0 16px}.rewards-info{color:#78350f}.rewards-info p{font-size:14px;line-height:1.6;margin:0 0 16px}.rewards-info ul{list-style:none;padding:0;margin:0 0 16px}.rewards-info li{font-size:14px;padding:8px 0;border-bottom:1px solid rgba(120,53,15,.1)}.rewards-info li:last-child{border-bottom:none}.rewards-note{font-size:13px;font-style:italic;opacity:.8;margin:0!important}.polls-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.polls-content{max-width:600px;margin:0 auto;padding:20px 16px}.polls-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.polls-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.polls-header p{color:#64748b;font-size:14px;margin:0}.points-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:10px 16px;border-radius:20px;font-weight:700}.points-icon,.points-value{font-size:16px}.message{padding:14px 18px;border-radius:12px;margin-bottom:16px;font-weight:500;text-align:center}.message.success{background:#d1fae5;color:#065f46}.message.error{background:#fee2e2;color:#991b1b}.polls-tabs{display:flex;gap:8px;margin-bottom:20px}.polls-tabs button{flex:1;padding:12px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer}.polls-tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.polls-list,.surveys-list{display:flex;flex-direction:column;gap:16px}.poll-card,.survey-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.poll-card.voted,.survey-card.completed{opacity:.85}.poll-header,.survey-header{display:flex;justify-content:space-between;margin-bottom:12px}.poll-category,.survey-category{font-size:12px;font-weight:600;color:#2563eb;background:#eff6ff;padding:4px 10px;border-radius:6px;text-transform:capitalize}.poll-points,.survey-points{font-size:14px;font-weight:700;color:#f59e0b}.poll-bill-tag{display:block;font-size:12px;color:#2563eb;background:#eff6ff;padding:8px 12px;border-radius:8px;margin-bottom:12px;text-decoration:none;transition:background .2s}.poll-bill-tag:hover{background:#dbeafe}.poll-card h3,.survey-card h3{font-size:17px;color:#1e293b;margin:0 0 12px;line-height:1.4}.survey-desc{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 12px}.poll-meta,.survey-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#64748b;margin-bottom:16px}.vote-btn,.start-btn{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.voted-note,.completed-note{text-align:center;color:#10b981;font-weight:500;margin:0;padding:12px;background:#ecfdf5;border-radius:10px}.poll-results{margin-top:16px}.result-bar{position:relative;background:#f1f5f9;border-radius:8px;padding:12px;margin-bottom:8px;overflow:hidden}.result-fill{position:absolute;left:0;top:0;bottom:0;background:#dbeafe;border-radius:8px}.result-label{position:relative;font-size:14px;color:#1e293b}.result-pct{position:relative;float:right;font-weight:600;color:#2563eb}.poll-modal,.survey-modal{background:#fff;border-radius:20px;width:100%;max-width:400px;overflow:hidden}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;font-size:20px;cursor:pointer}.poll-modal-header,.survey-modal-header{padding:24px;text-align:center}.poll-modal-header h2,.survey-modal-header h2{font-size:18px;color:#1e293b;margin:12px 0 0;line-height:1.4}.survey-modal-header span{color:#64748b;font-size:14px}.poll-options,.survey-options{padding:0 24px 24px}.poll-option,.choice-option{width:100%;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;text-align:left;cursor:pointer;margin-bottom:10px;transition:all .2s}.poll-option:hover,.choice-option:hover{border-color:#2563eb}.poll-option.selected{border-color:#2563eb;background:#eff6ff}.submit-vote-btn{width:calc(100% - 48px);margin:0 24px 24px;padding:16px;background:#f59e0b;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.submit-vote-btn:disabled{background:#94a3b8;cursor:not-allowed}.survey-progress{height:4px;background:#e2e8f0}.survey-progress .progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .3s}.scale-options{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.scale-options button{width:50px;height:50px;border:2px solid #e2e8f0;border-radius:50%;background:#fff;font-size:18px;font-weight:600;cursor:pointer}.scale-options button:hover{border-color:#f59e0b;background:#fffbeb}.scale-labels{display:flex;justify-content:space-between;font-size:11px;color:#94a3b8;margin-top:8px}.text-answer textarea{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;resize:none;margin-bottom:12px;box-sizing:border-box}.text-answer button{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.skip-btn{display:block;width:100%;padding:16px;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;border-top:1px solid #f1f5f9}.points-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-top:24px}.points-info h3{font-size:16px;color:#92400e;margin:0 0 8px}.points-info p{font-size:14px;color:#78350f;line-height:1.5;margin:0 0 16px}.points-rates{display:flex;flex-direction:column;gap:8px}.points-rates div{display:flex;align-items:center;gap:8px;font-size:13px;color:#92400e}.points-rates span{font-size:16px}.reps-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.reps-content{max-width:900px;margin:0 auto;padding:80px 16px 16px}.zip-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.zip-modal{background:#fff;border-radius:20px;padding:32px;max-width:400px;width:100%;text-align:center}.zip-modal h2{font-size:1.5rem;color:#1e293b;margin:0 0 12px}.zip-modal>p{color:#64748b;margin:0 0 24px}.zip-modal form{display:flex;flex-direction:column;gap:12px}.zip-modal-input{width:100%;padding:16px;font-size:1.5rem;text-align:center;letter-spacing:8px;border:3px solid #e2e8f0;border-radius:12px;outline:none;font-weight:700}.zip-modal-input:focus{border-color:#3b82f6}.zip-error{color:#ef4444;font-size:.9rem;margin:0}.zip-modal-btn{padding:16px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s}.zip-modal-btn:hover{background:#2563eb}.zip-modal-note{font-size:.85rem;color:#94a3b8;margin:16px 0 0}.reps-header{text-align:center;margin-bottom:24px}.reps-header h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 8px}.reps-header p{color:#64748b;margin:0;font-size:.95rem}.zip-form{margin-bottom:24px}.zip-input-group{display:flex;align-items:center;max-width:450px;margin:0 auto;background:#fff;border-radius:12px;padding:6px;border:2px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.zip-input-group:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.zip-icon{padding:0 12px;font-size:1.25rem}.zip-input{flex:1;border:none;background:transparent;padding:12px 8px;font-size:1.1rem;outline:none;font-weight:600;letter-spacing:2px}.zip-btn{background:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.zip-btn:hover{background:#2563eb}.current-location{text-align:center;margin-top:12px;font-size:.9rem;color:#64748b}.current-location strong{color:#1e293b}.detected-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#fef3c7;color:#92400e;font-size:.75rem;border-radius:10px;font-weight:600}.coming-soon-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #7dd3fc;border-radius:16px;padding:24px;text-align:center;margin-top:20px}.coming-soon-card h3{color:#0369a1;margin:0 0 12px;font-size:1.1rem}.coming-soon-card p{color:#0284c7;margin:0 0 8px}.coming-soon-card .data-note{font-size:.85rem;color:#64748b;margin:0}.no-data-card{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;padding:24px;text-align:center}.no-data-card p{color:#64748b;margin:0}.district-note{text-align:center;padding:16px;background:#fef3c7;border-radius:12px;color:#92400e;font-size:.9rem;margin-top:16px}.rep-card.disabled{opacity:.7;cursor:not-allowed}.rep-card.disabled:hover{transform:none;box-shadow:0 2px 8px #0000000f;border-color:transparent}.rep-card.disabled .view-profile{background:#94a3b8}.reps-error{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;background:#fef2f2;border-radius:12px;color:#dc2626;margin-bottom:20px}.reps-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b}.reps-loading .spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.level-tabs{display:flex;gap:8px;margin-bottom:24px;padding:8px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.level-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .2s;color:#64748b}.level-tab:hover{background:#f1f5f9}.level-tab.active{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.tab-icon{font-size:1.25rem}.tab-label{font-weight:600;font-size:.95rem}.tab-count{background:#0000001a;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:600}.level-tab.active .tab-count{background:#fff3}.reps-section{margin-bottom:24px}.section-intro{margin-bottom:20px}.section-intro h2{font-size:1.25rem;color:#1e293b;margin:0 0 4px}.section-intro p{color:#64748b;margin:0;font-size:.9rem}.reps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.no-reps{text-align:center;padding:40px;color:#64748b;background:#fff;border-radius:12px}.no-reps-box{text-align:center;padding:40px;background:#fff;border-radius:12px}.no-reps-box p{margin:0 0 8px;color:#64748b}.no-reps-box .note{font-size:.85rem;color:#94a3b8}.rep-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:all .2s;box-shadow:0 2px 8px #0000000f;border:2px solid transparent;position:relative}.rep-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#3b82f6}.party-bar{height:6px;width:100%}.your-rep-badge{position:absolute;top:12px;left:12px;background:#22c55e;color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:20px;z-index:10;text-transform:uppercase;letter-spacing:.5px}.rep-photo{position:relative;width:100%;height:180px;overflow:hidden;background:linear-gradient(135deg,#e2e8f0,#f1f5f9)}.rep-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}.grade-badge{position:absolute;bottom:10px;right:10px;color:#fff;padding:6px 12px;border-radius:8px;font-size:1rem;font-weight:700;box-shadow:0 2px 8px #0003}.rep-info{padding:16px;flex:1}.rep-name{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 4px;line-height:1.3}.rep-office{font-size:.8rem;color:#64748b;margin:0 0 8px;line-height:1.4}.rep-party{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rep-contact{display:flex;gap:8px;padding:0 16px 12px}.contact-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:8px;text-decoration:none;font-size:1rem;transition:all .2s}.contact-btn:hover{background:#e2e8f0;transform:scale(1.1)}.view-profile{padding:12px 16px;background:#1e293b;color:#fff;text-align:center;font-size:.85rem;font-weight:600}.rep-card:hover .view-profile{background:#3b82f6}.coming-soon-box{text-align:center;padding:48px 24px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.coming-soon-icon{font-size:3rem;margin-bottom:16px}.coming-soon-box h3{font-size:1.5rem;color:#1e293b;margin:0 0 12px}.coming-soon-box p{color:#64748b;max-width:400px;margin:0 auto 12px}.coming-soon-box .api-note{font-size:.85rem;color:#94a3b8}.coming-soon-box code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.8rem;color:#475569}.api-link{display:inline-block;margin-top:16px;padding:10px 20px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.9rem;transition:background .2s}.api-link:hover{background:#2563eb}.reps-summary{text-align:center;margin-top:32px;padding:24px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.reps-summary p{margin:0;color:#64748b}.reps-summary strong{color:#1e293b;font-size:1.25rem}.summary-note{margin-top:8px!important;font-size:.85rem;color:#94a3b8!important}@media (max-width: 768px){.reps-content{padding:70px 12px 12px}.reps-header h1{font-size:1.5rem}.zip-input-group{flex-direction:column;gap:8px;padding:12px}.zip-input{width:100%;text-align:center}.zip-btn{width:100%}.level-tabs{padding:4px}.level-tab{flex-direction:column;padding:10px 8px;gap:4px}.tab-label{font-size:.8rem}.tab-count{font-size:.7rem}.reps-grid{grid-template-columns:1fr}.rep-photo{height:160px}}@media (max-width: 400px){.level-tab{padding:8px 4px}.tab-icon{font-size:1.1rem}.tab-label{font-size:.7rem}}.rep-ad-slot{grid-column:1 / -1;margin:.5rem 0}.section-end-ad{margin:1.5rem 0}.sticky-banner-ad{position:fixed;bottom:70px;left:0;right:0;z-index:100;padding:.5rem 1rem;background:#f8f9faf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #e5e7eb}.banner-content{max-width:600px;margin:0 auto;text-align:center}.ad-label{display:block;font-size:.6rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.reps-page main{padding-bottom:100px}@media (prefers-color-scheme: dark){.sticky-banner-ad{background:#0f0f1af2;border-color:#3a3a5e}}.local-officials{padding:1rem 0}.local-header h3{margin:0 0 1rem;color:#4f46e5}.officials-group{margin-bottom:1.5rem}.officials-group h4{margin:0 0 .75rem;font-size:.9rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.officials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.local-official-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.local-official-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.official-header{display:flex;gap:.75rem;margin-bottom:.75rem}.role-icon{font-size:2rem}.official-info h5{margin:0;font-size:1rem;color:#1f2937}.official-office{margin:.25rem 0;font-size:.85rem;color:#6b7280}.party-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;color:#fff;font-weight:500}.official-contact{display:flex;flex-wrap:wrap;gap:.5rem}.official-contact .contact-btn{padding:6px 12px;background:#f3f4f6;border-radius:20px;font-size:.8rem;color:#374151;text-decoration:none;transition:background .2s}.official-contact .contact-btn:hover{background:#e5e7eb}.no-local-data{text-align:center;padding:2rem;background:#f9fafb;border-radius:12px}.no-local-data p{margin:.5rem 0;color:#6b7280}.no-local-data .help-text{font-size:.9rem}@media (prefers-color-scheme: dark){.local-official-card{background:#1a1a2e}.official-info h5{color:#fff}.official-contact .contact-btn{background:#2a2a4e;color:#e5e7eb}.no-local-data{background:#1a1a2e}}.local-resources{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.local-resources a{display:inline-block;padding:.75rem 1rem;background:#4f46e5;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s}.local-resources a:hover{background:#4338ca}.coverage-note{margin-top:1rem;padding:.75rem;background:#f0fdf4;border-radius:8px;font-size:.85rem;color:#166534}@media (prefers-color-scheme: dark){.coverage-note{background:#14532d;color:#bbf7d0}}.local-officials-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite}.local-officials-loading p{color:#6b7280;font-size:.95rem}.local-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.data-source{font-size:.75rem;padding:4px 10px;background:#f0fdf4;color:#166534;border-radius:20px}.refresh-btn{padding:.5rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s}.refresh-btn:hover{background:#4338ca}.no-officials-found{text-align:center;padding:2rem;background:#fef3c7;border-radius:12px}.no-officials-found p{margin-bottom:1rem;color:#92400e}@media (prefers-color-scheme: dark){.data-source{background:#14532d;color:#bbf7d0}.no-officials-found{background:#78350f}.no-officials-found p{color:#fef3c7}}.legistar-note{background:#eff6ff;border-radius:12px;padding:16px;margin:16px 0;border:1px solid #bfdbfe}.legistar-note p{margin:0 0 8px;color:#1e40af;font-size:.9rem}.legistar-note .hint{color:#3b82f6;font-size:.85rem;margin-top:12px}.city-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.city-chip{background:#dbeafe;color:#1d4ed8;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.local-official-card .role-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.local-official-card .role-badge.mayor{background:#fef3c7;color:#92400e}.local-official-card .role-badge.president{background:#dbeafe;color:#1d4ed8}.local-official-card .role-badge.council{background:#f1f5f9;color:#475569}.data-source{font-size:.75rem;padding:4px 8px;border-radius:6px;background:#f0fdf4;color:#166534}@media (prefers-color-scheme: dark){.legistar-note{background:#1e3a5f;border-color:#1d4ed8}.legistar-note p{color:#93c5fd}.city-chip{background:#1e3a5f;color:#93c5fd}.local-official-card .role-badge.mayor{background:#78350f;color:#fef3c7}.local-official-card .role-badge.president{background:#1e3a5f;color:#93c5fd}.local-official-card .role-badge.council{background:#334155;color:#cbd5e1}}.legislators-section{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.legislators-section h3{font-size:1.1rem;color:#1f2937;margin-bottom:8px}.legislators-section .section-note{font-size:.85rem;color:#6b7280;margin-bottom:16px;font-style:italic}.legislators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.legislator-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;transition:all .2s}.legislator-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#d1d5db}.leg-header{display:flex;gap:12px;align-items:flex-start}.leg-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;background:#f3f4f6}.leg-info{display:flex;flex-direction:column;gap:2px}.leg-name{font-weight:600;color:#111827;font-size:.95rem}.leg-party{font-size:.8rem;font-weight:500}.leg-party.party-D{color:#2563eb}.leg-party.party-R{color:#dc2626}.leg-party.party-I{color:#6b7280}.leg-district{font-size:.8rem;color:#6b7280}.leg-contact{display:inline-block;margin-top:8px;font-size:.85rem;color:#2563eb;text-decoration:none}.leg-contact:hover{text-decoration:underline}.show-more{text-align:center;color:#6b7280;font-size:.9rem;margin-top:12px;padding:8px;background:#f9fafb;border-radius:6px}.loading-card{text-align:center;padding:24px;color:#6b7280}@media (max-width: 640px){.legislators-grid{grid-template-columns:1fr}.legislator-card{padding:10px}.leg-photo{width:40px;height:40px}}.adgate-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;text-align:center}.ad-prompt{display:flex;flex-direction:column;align-items:center;gap:12px}.lock-icon{font-size:48px;margin-bottom:8px}.ad-prompt h3{font-size:20px;font-weight:600;color:#1e293b;margin:0}.ad-prompt p{font-size:14px;color:#64748b;margin:0}.ads-progress{display:flex;gap:12px;margin:16px 0}.ad-dot{width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#94a3b8}.ad-dot.watched{background:#22c55e;border-color:#22c55e;color:#fff}.watch-ad-btn{padding:14px 32px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.watch-ad-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.subscription-hint{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.subscription-hint p{font-size:13px;color:#94a3b8;margin-bottom:8px}.subscribe-link{background:none;border:none;color:#7c3aed;font-size:14px;font-weight:600;cursor:pointer;padding:0}.ad-player{position:relative;border-radius:12px;overflow:hidden;background:#000}.youtube-container{position:relative;width:100%;padding-bottom:56.25%;background:#000;max-height:250px}@media (max-height: 600px){.youtube-container{max-height:180px;padding-bottom:0;height:180px}}.youtube-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.ad-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:16px;display:flex;flex-direction:column;gap:10px}.ad-label{position:absolute;top:12px;left:12px;background:#000000b3;color:#fbbf24;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.ad-progress-bar{width:100%;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden}.ad-progress{height:100%;background:#fbbf24;transition:width 1s linear}.ad-controls{display:flex;justify-content:space-between;align-items:center}.ad-timer{color:#fff;font-size:14px;font-weight:500}.skip-btn{padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.skip-btn:hover{background:#ffffff4d}.skip-countdown{color:#fff9;font-size:12px}.adgate-premium-required{background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:2px solid #c4b5fd;border-radius:16px;padding:32px 24px;text-align:center}.premium-icon{font-size:48px;margin-bottom:12px}.adgate-premium-required h3{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 8px}.adgate-premium-required>p{font-size:14px;color:#64748b;margin:0 0 20px}.premium-benefits{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.benefit{font-size:14px;color:#1e293b;padding:8px 16px;background:#fff;border-radius:8px}.premium-pricing{display:flex;gap:12px;justify-content:center}.plan-btn{padding:12px 24px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s}.plan-btn .price{display:block;font-size:20px;font-weight:700;color:#1e293b}.plan-btn .label{font-size:12px;color:#64748b}.plan-btn.yearly{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent}.plan-btn.yearly .price,.plan-btn.yearly .label{color:#fff}.plan-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.subscribe-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.subscribe-modal{background:#fff;border-radius:24px;max-width:400px;width:100%;padding:32px 24px;position:relative}.close-modal{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:none;font-size:20px;color:#64748b;cursor:pointer}.subscribe-modal .modal-header{text-align:center;margin-bottom:24px}.premium-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:16px;font-size:12px;font-weight:600;color:#b45309;margin-bottom:12px}.subscribe-modal .modal-header h2{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.subscribe-modal .modal-header p{font-size:14px;color:#64748b;margin:0}.premium-features{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.feature{display:flex;align-items:flex-start;gap:12px;text-align:left}.feature .icon{font-size:24px;flex-shrink:0}.feature strong{display:block;font-size:14px;color:#1e293b}.feature p{font-size:12px;color:#64748b;margin:2px 0 0}.pricing-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.pricing-btn{padding:16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;position:relative}.pricing-btn .plan-name{font-size:12px;color:#64748b;margin-bottom:4px}.pricing-btn .plan-price{font-size:24px;font-weight:700;color:#1e293b}.pricing-btn .plan-price span{font-size:14px;font-weight:400;color:#64748b}.pricing-btn.recommended{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent}.pricing-btn.recommended .plan-name,.pricing-btn.recommended .plan-price,.pricing-btn.recommended .plan-price span,.pricing-btn.recommended .savings{color:#fff}.recommended-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#fbbf24;color:#78350f;font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap}.savings{font-size:11px;color:#22c55e;margin-top:4px}.pricing-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.terms{font-size:11px;color:#94a3b8;text-align:center;margin:0}.admin-bypass{margin-top:12px;padding:8px 16px;background:#0000000d;border:1px dashed #94a3b8;border-radius:8px;color:#64748b;font-size:12px;cursor:pointer}.admin-bypass:hover{background:#0000001a;color:#475569}.ad-gate{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.ad-gate.showing-ad{padding:0;overflow:hidden}.gate-content{text-align:center}.gate-icon{font-size:48px;display:block;margin-bottom:12px}.gate-content h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.gate-content p{font-size:14px;color:#64748b;margin:0 0 20px}.gate-options{display:flex;flex-direction:column;gap:10px}.gate-btn{padding:14px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.gate-btn.premium{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.gate-btn.ad{background:#2563eb;color:#fff}.gate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ad-container{background:#0f172a}.ad-label{padding:10px;background:#1e293b;color:#94a3b8;font-size:12px;text-align:center}.ad-title{padding:12px;margin:0;color:#fff;font-size:14px;text-align:center}.rep-report-page{min-height:100vh;padding-bottom:80px;background:#f8fafc}.rep-report-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.report-header h1{font-size:24px;font-weight:700;color:#1e293b}.year-review-btn{padding:8px 14px;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.report-intro{color:#64748b;font-size:14px;margin-bottom:16px}.your-interests{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px 16px;margin-bottom:16px}.interests-label{font-size:12px;color:#2563eb;font-weight:500;display:block;margin-bottom:8px}.interest-tags{display:flex;flex-wrap:wrap;gap:6px}.interest-tag{font-size:12px;padding:4px 10px;background:#fff;border:1px solid #bfdbfe;border-radius:12px;color:#2563eb}.no-interests-warning{display:flex;align-items:center;gap:10px;padding:14px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:16px}.no-interests-warning span{font-size:20px}.no-interests-warning p{font-size:13px;color:#92400e;margin:0}.no-interests-warning a{color:#b45309;font-weight:600}.premium-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#f3e8ff,#eff6ff);border:1px solid #c4b5fd;border-radius:12px;margin-bottom:16px}.premium-banner span{font-size:20px}.premium-banner p{flex:1;font-size:13px;color:#6d28d9;margin:0}.upgrade-link{padding:6px 12px;background:#7c3aed;color:#fff;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none}.report-cards{display:flex;flex-direction:column;gap:12px}.report-card{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .2s}.report-card:hover{box-shadow:0 4px 12px #00000014}.report-card.governor-card{background:linear-gradient(135deg,#f3e8ff,#eff6ff);border-color:#c4b5fd}.rep-avatar{width:50px;height:50px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600}.rep-avatar.democrat{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.rep-avatar.republican{background:linear-gradient(135deg,#dc2626,#b91c1c)}.rep-avatar.large{width:60px;height:60px;font-size:24px}.rep-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #e2e8f0}.rep-avatar-img.democrat{border-color:#2563eb}.rep-avatar-img.republican{border-color:#dc2626}.rep-info{flex:1}.rep-info h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:2px}.rep-title{font-size:13px;color:#64748b;margin-bottom:6px}.party-badge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:8px}.party-badge.d{background:#eff6ff;color:#2563eb}.party-badge.r{background:#fef2f2;color:#dc2626}.grade-display{text-align:center}.grade-letter{display:block;font-size:32px;font-weight:700;line-height:1}.grade-label{font-size:10px;color:#94a3b8;text-transform:uppercase}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:24px 24px 0 0;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;position:relative}.close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#f1f5f9;border:none;font-size:24px;color:#64748b;cursor:pointer}.modal-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.modal-header h2{font-size:20px;font-weight:600;color:#1e293b;margin:0}.modal-header p{font-size:14px;color:#64748b;margin:4px 0 0}.header-grade{margin-left:auto;font-size:40px;font-weight:700}.grade-explanation{background:#f8fafc;padding:12px 16px;border-radius:10px;margin-bottom:20px}.grade-explanation p{font-size:14px;color:#64748b;margin:0}.voting-section{margin-bottom:24px}.voting-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.vote-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.vote-card.user-topic{border-color:#bfdbfe;background:#eff6ff}.vote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vote-position{font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px}.vote-position.yes{background:#dcfce7;color:#059669}.vote-position.no{background:#fef2f2;color:#dc2626}.vote-card h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 6px}.vote-desc{font-size:13px;color:#64748b;margin:0 0 10px;line-height:1.4}.vote-topic{font-size:12px;color:#64748b;display:flex;align-items:center;gap:8px;margin-bottom:12px}.tracked-badge{font-size:10px;background:#2563eb;color:#fff;padding:2px 6px;border-radius:4px}.rate-vote{border-top:1px solid #e2e8f0;padding-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rate-label{font-size:12px;color:#64748b}.rate-buttons{display:flex;gap:8px}.rate-btn{padding:6px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.rate-btn.agree:hover,.rate-btn.agree.selected{background:#dcfce7;border-color:#86efac;color:#059669}.rate-btn.disagree:hover,.rate-btn.disagree.selected{background:#fef2f2;border-color:#fecaca;color:#dc2626}.points-earned{font-size:11px;color:#059669;font-weight:500}.ai-section{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.ai-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.ai-analysis{background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:1px solid #c4b5fd;border-radius:12px;padding:16px}.ai-analysis>p{font-size:14px;color:#1e293b;line-height:1.5;margin:0 0 16px}.analysis-section h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 8px}.analysis-section ul{padding-left:18px;margin:0 0 12px}.analysis-section li{font-size:13px;color:#64748b;margin-bottom:4px}.modal-content.year-review{text-align:center}.year-review-header{margin-bottom:24px}.year-emoji{font-size:48px;display:block;margin-bottom:12px}.year-review-header h2{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.year-review-header p{font-size:14px;color:#64748b;margin:0}.year-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.year-stat-card{display:flex;align-items:center;gap:12px;padding:14px;background:#f8fafc;border-radius:12px;text-align:left}.stat-rep{flex:1;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1e293b}.party-dot{width:10px;height:10px;border-radius:50%}.stat-grade{font-size:28px;font-weight:700}.stat-detail{font-size:11px;color:#64748b;max-width:120px}.year-summary{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:16px}.year-summary h3{font-size:14px;font-weight:600;color:#059669;margin:0 0 8px}.year-summary p{font-size:13px;color:#047857;margin:4px 0}.loading{display:flex;flex-direction:column;align-items:center;padding:40px;gap:12px}.loading.small{padding:20px}.loading p{color:#64748b;font-size:14px}.spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.report-footer p{font-size:13px;color:#64748b}.version-badge{position:fixed;bottom:80px;right:16px;background:#fff;color:#94a3b8;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:500;z-index:50;border:1px solid #e2e8f0}.location-subtitle{font-size:13px;color:#64748b;margin:0}.your-interests{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-link{margin-left:auto;font-size:12px;color:#2563eb;text-decoration:none}.grade-legend{display:flex;justify-content:center;gap:12px;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px}.legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.grade-dot{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.grade-dot.a{background:#059669}.grade-dot.b{background:#2563eb}.grade-dot.c{background:#d97706}.grade-dot.d{background:#ea580c}.grade-dot.f{background:#dc2626}.no-zip{text-align:center;padding:60px 20px}.no-zip span{font-size:48px;display:block;margin-bottom:16px}.no-zip p{font-size:16px;color:#64748b;margin-bottom:16px}.add-zip-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:500}.no-data{text-align:center;padding:40px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.no-data p{margin:0;color:#64748b}.no-data .subtext{font-size:13px;margin-top:8px;color:#94a3b8}.topic-grades-section{margin-top:20px}.topic-grades-section h3{font-size:16px;font-weight:600;margin:0 0 4px;color:#1e293b}.section-subtitle{font-size:13px;color:#64748b;margin:0 0 16px}.topic-grades-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.topic-grade-card{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-align:center}.topic-grade-card.tracked{background:#eff6ff;border-color:#bfdbfe}.topic-header{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.topic-emoji{font-size:16px}.topic-name{font-size:12px;font-weight:500;color:#475569}.tracked-badge{font-size:10px;color:#2563eb}.topic-grade{font-size:28px;font-weight:700;line-height:1}.topic-score{font-size:13px;color:#64748b;margin-top:4px}.topic-votes{font-size:11px;color:#94a3b8;margin-top:2px}.premium-teaser{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;margin-top:20px}.premium-icon{font-size:28px}.premium-teaser strong{display:block;font-size:14px;color:#92400e}.premium-teaser p{font-size:12px;color:#b45309;margin:4px 0 0}.upgrade-btn{margin-left:auto;padding:8px 16px;background:#b45309;color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500}.data-source{margin-top:20px;padding:12px;background:#f1f5f9;border-radius:8px}.data-source p{margin:0;font-size:12px;color:#64748b}.data-source p+p{margin-top:4px}.report-footer{margin-top:24px;text-align:center}.report-footer p{font-size:13px;color:#64748b;margin:0 0 8px}.report-footer a{color:#2563eb;text-decoration:none}.modal-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.modal-tab{flex:1;padding:12px 16px;background:#f1f5f9;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.modal-tab:hover{background:#e2e8f0}.modal-tab.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.modal-tab .premium-badge{background:#f59e0b;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700}.modal-large{max-height:90vh;overflow-y:auto}.voting-records-section{margin-top:16px}.voting-records-section h3{font-size:18px;font-weight:600;margin-bottom:8px}.voting-records-section .section-subtitle{color:#64748b;font-size:14px;margin-bottom:16px}.topic-filter{margin-bottom:16px}.filter-label{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:8px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#e2e8f0}.filter-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.votes-list{display:flex;flex-direction:column;gap:12px}.votes-list.full-access{max-height:400px;overflow-y:auto;padding-right:8px}.vote-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.vote-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.vote-info{flex:1;min-width:0}.vote-bill{font-size:13px;font-weight:600;color:#3b82f6;margin-bottom:4px}.vote-title{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:6px;line-height:1.4}.vote-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vote-date{font-size:12px;color:#64748b}.vote-topic{font-size:11px;background:#f1f5f9;color:#475569;padding:2px 8px;border-radius:10px}.vote-result{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.vote-result.passed{background:#dcfce7;color:#166534}.vote-result.failed{background:#fee2e2;color:#991b1b}.vote-position-label{font-size:12px;font-weight:700;flex-shrink:0}.loading-votes{text-align:center;padding:40px;color:#64748b}.loading-votes .spinner{width:30px;height:30px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.no-votes{text-align:center;padding:40px;color:#64748b}.reset-filter{margin-top:12px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.votes-summary{margin-top:16px;padding:12px;background:#f8fafc;border-radius:8px;text-align:center;color:#64748b;font-size:13px}.votes-premium-gate{position:relative}.votes-blur-overlay{position:relative;margin-top:-60px;padding-top:80px;background:linear-gradient(to bottom,#f8fafc00,#f8fafcf2 30%,#f8fafc)}.votes-teaser-content{text-align:center;padding:24px;background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;color:#fff}.votes-teaser-content .lock-icon{font-size:40px;margin-bottom:12px;display:block}.votes-teaser-content h4{font-size:20px;font-weight:700;margin-bottom:8px}.votes-teaser-content p{font-size:14px;color:#fffc;margin-bottom:16px}.premium-benefits{list-style:none;padding:0;text-align:left;max-width:250px;margin:0 auto 20px}.premium-benefits li{font-size:14px;padding:6px 0;color:#ffffffe6}.upgrade-btn-large{display:inline-block;padding:14px 28px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:16px;font-weight:600;border-radius:12px;text-decoration:none;transition:transform .2s ease}.upgrade-btn-large:hover{transform:scale(1.05)}@media (max-width: 480px){.modal-tabs{flex-direction:row}.modal-tab{padding:10px 12px;font-size:13px}.filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-chip{flex-shrink:0}.vote-meta{flex-wrap:wrap}}.campaign-finance-section{background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:16px;padding:24px;margin-bottom:24px;color:#fff}.campaign-finance-section.loading{min-height:200px}.campaign-finance-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.campaign-finance-section .section-header h2{font-size:1.5rem;margin:0;color:#fbbf24}.campaign-finance-section .data-source{font-size:.75rem;color:#fff9;background:#ffffff1a;padding:4px 8px;border-radius:4px}.loading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#ffffffb3}.spinner-small{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fbbf24;border-radius:50%;animation:spin 1s linear infinite}.finance-note{background:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:8px;padding:12px;margin-bottom:16px;font-size:.85rem;color:#fcd34d}.finance-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.finance-tab{background:#ffffff1a;border:none;color:#ffffffb3;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.finance-tab:hover{background:#ffffff26;color:#fff}.finance-tab.active{background:#fbbf24;color:#0f172a;font-weight:600}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.finance-stat{background:#ffffff14;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.finance-stat .stat-icon{font-size:1.5rem}.finance-stat .stat-content{display:flex;flex-direction:column}.finance-stat .stat-value{font-size:1.25rem;font-weight:700;color:#fff}.finance-stat .stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.finance-stat.raised .stat-value{color:#4ade80}.finance-stat.spent .stat-value{color:#f97316}.finance-stat.cash .stat-value{color:#60a5fa}.funding-breakdown{margin-bottom:24px}.funding-breakdown h3{font-size:1rem;color:#ffffffe6;margin-bottom:12px}.funding-bar{height:32px;background:#ffffff1a;border-radius:16px;overflow:hidden;display:flex;margin-bottom:16px}.funding-segment{height:100%;transition:width .5s ease;position:relative}.funding-segment.individuals{background:linear-gradient(90deg,#22c55e,#4ade80)}.funding-segment.pacs{background:linear-gradient(90deg,#ef4444,#f87171)}.funding-segment.party{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.funding-segment.self{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.funding-legend{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.legend-color{width:12px;height:12px;border-radius:4px}.legend-color.individuals{background:#22c55e}.legend-color.pacs{background:#ef4444}.legend-color.party{background:#3b82f6}.legend-color.self{background:#f59e0b}.legend-label{color:#fffc}.legend-value{color:#fff9;font-size:.75rem}.pac-alert{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:24px}.pac-alert .alert-icon{font-size:1.25rem}.pac-alert .alert-text{font-size:.85rem;color:#fca5a5;line-height:1.4}.superpac-section{background:#ffffff0d;border-radius:12px;padding:16px;margin-bottom:20px}.superpac-section h3{font-size:1rem;margin:0 0 8px;color:#ffffffe6}.superpac-explainer{font-size:.8rem;color:#fff9;margin-bottom:12px}.superpac-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.superpac-stat{display:flex;align-items:center;gap:10px;background:#ffffff0d;padding:12px;border-radius:8px}.superpac-stat .stat-icon{font-size:1.25rem}.superpac-stat .stat-content{display:flex;flex-direction:column}.superpac-stat .stat-label{font-size:.7rem;color:#ffffff80;text-transform:uppercase}.superpac-stat .stat-value{font-size:1.1rem;font-weight:600}.superpac-stat .stat-value.green{color:#4ade80}.superpac-stat .stat-value.red{color:#f87171}.superpac-net{font-size:.85rem;margin-top:12px;text-align:center;color:#fffc}.contributors-section{margin-bottom:20px}.contributors-section h3{font-size:1rem;margin-bottom:8px;color:#ffffffe6}.contributors-note{font-size:.8rem;color:#fff9;margin-bottom:16px;line-height:1.4}.contributors-list{display:flex;flex-direction:column;gap:8px}.contributor-item{display:flex;align-items:center;gap:12px;background:#ffffff14;padding:12px 16px;border-radius:10px;transition:background .2s}.contributor-item:hover{background:#ffffff1f}.contributor-rank{font-size:.85rem;font-weight:700;color:#fbbf24;min-width:28px}.contributor-info{flex:1;display:flex;flex-direction:column}.contributor-name{font-size:.95rem;font-weight:500;color:#fff}.contributor-count{font-size:.75rem;color:#ffffff80}.contributor-amount{font-size:1rem;font-weight:600;color:#4ade80}.contributors-disclaimer{margin-top:16px;padding:12px;background:#3b82f61a;border-radius:8px}.contributors-disclaimer p{font-size:.8rem;color:#ffffffb3;margin:0;line-height:1.4}.no-data{text-align:center;padding:24px;color:#ffffff80;font-style:italic}.filings-section h3{font-size:1rem;margin-bottom:16px;color:#ffffffe6}.filings-list{display:flex;flex-direction:column;gap:8px}.filing-item{display:flex;align-items:center;gap:12px;background:#ffffff14;padding:12px 16px;border-radius:10px;text-decoration:none;color:#fff;transition:background .2s}.filing-item:hover{background:#ffffff26}.filing-info{flex:1;display:flex;flex-direction:column}.filing-type{font-size:.9rem;font-weight:600;color:#fff}.filing-date{font-size:.75rem;color:#ffffff80}.filing-amounts{display:flex;gap:12px}.filing-receipts{font-size:.85rem;color:#4ade80}.filing-disbursements{font-size:.85rem;color:#f97316}.filing-arrow{color:#ffffff4d;font-size:1.25rem}.fec-link{text-align:center;margin:20px 0}.fec-link a{display:inline-flex;align-items:center;gap:6px;color:#60a5fa;text-decoration:none;font-size:.9rem;padding:10px 16px;background:#60a5fa1a;border-radius:8px;transition:all .2s}.fec-link a:hover{background:#60a5fa33;color:#93c5fd}.finance-explainer{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.explainer-toggle{background:none;border:none;color:#fff9;cursor:pointer;font-size:.85rem;padding:8px 0;display:flex;align-items:center;gap:8px}.explainer-toggle:hover{color:#ffffffe6}.explainer-content{margin-top:12px;padding:16px;background:#ffffff0d;border-radius:8px}.explainer-content p{font-size:.85rem;color:#fffc;margin:0 0 12px;line-height:1.5}.explainer-content p:last-child{margin-bottom:0}.explainer-content strong{color:#fff}.finance-compact{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;background:#ffffff0d;border-radius:8px}.finance-compact:hover{background:#ffffff1a}.finance-compact .finance-raised{font-weight:600;color:#4ade80}.finance-compact .finance-label{font-size:.75rem;color:#ffffff80}.finance-compact .finance-pac-indicator{width:40px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.finance-compact .pac-bar{height:100%;background:#ef4444}@media (max-width: 768px){.campaign-finance-section{padding:16px;margin:0 -16px 24px;border-radius:0}.finance-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.finance-tab{white-space:nowrap;padding:8px 12px;font-size:.85rem}.finance-summary{grid-template-columns:1fr;gap:12px}.finance-stat{padding:12px}.funding-legend{flex-direction:column;gap:8px}.superpac-stats{grid-template-columns:1fr}.contributor-item{padding:10px 12px}.contributor-amount{font-size:.9rem}}.interest-ratings-section{background:linear-gradient(135deg,#312e81,#1e1b4b);border-radius:16px;padding:24px;margin-bottom:24px;color:#fff}.interest-ratings-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.interest-ratings-section .section-header h2{font-size:1.5rem;margin:0;color:#fde047}.ratings-year{font-size:.8rem;background:#ffffff1a;padding:4px 10px;border-radius:12px;color:#ffffffb3}.ratings-explainer{font-size:.9rem;color:#ffffffb3;margin-bottom:20px}.interest-ratings-section.loading,.interest-ratings-section.empty{min-height:200px}.interest-ratings-section .loading-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#ffffffb3}.interest-ratings-section .spinner-small{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fde047;border-radius:50%;animation:spin 1s linear infinite}.interest-ratings-section .no-data{text-align:center;padding:40px;color:#ffffff80;font-style:italic}.category-filters{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.category-btn{background:#ffffff1a;border:none;color:#ffffffb3;padding:8px 14px;border-radius:20px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:all .2s}.category-btn:hover{background:#ffffff26;color:#fff}.category-btn.active{background:#fde047;color:#1e1b4b;font-weight:600}.ratings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.rating-card{background:#ffffff14;border-radius:12px;padding:16px;transition:background .2s}.rating-card:hover{background:#ffffff1f}.rating-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.group-icon{font-size:1.5rem}.group-info{flex:1;display:flex;flex-direction:column}.group-name{font-weight:600;font-size:1rem;color:#fff}.group-category{font-size:.75rem;color:#ffffff80}.rating-badge{font-size:1.25rem;font-weight:700;color:#fff;padding:6px 14px;border-radius:8px;min-width:50px;text-align:center}.rating-interpretation{font-size:.85rem;color:#ffffffb3;margin:0 0 10px;line-height:1.4}.rating-source{font-size:.75rem;color:#93c5fd;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.rating-source:hover{color:#bfdbfe;text-decoration:underline}.show-more-btn{display:block;width:100%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:20px;transition:all .2s}.show-more-btn:hover{background:#ffffff26;border-color:#ffffff4d}.ratings-legend{background:#ffffff0d;border-radius:10px;padding:16px}.ratings-legend h4{font-size:.9rem;margin:0 0 12px;color:#ffffffe6}.legend-items{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#ffffffb3}.legend-color{width:14px;height:14px;border-radius:4px}.legend-note{font-size:.75rem;color:#ffffff80;margin:0;line-height:1.5}.ratings-compact{display:flex;gap:12px;flex-wrap:wrap}.rating-compact-item{display:flex;align-items:center;gap:6px;background:#ffffff14;padding:6px 10px;border-radius:6px}.compact-icon{font-size:1rem}.compact-rating{font-weight:700;font-size:.9rem}.rating-summary{display:flex;gap:20px}.summary-item{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:#ffffff14;border-radius:10px}.summary-label{font-size:.75rem;color:#fff9;margin-bottom:4px}.summary-value{font-size:1.5rem;font-weight:700}@media (max-width: 768px){.interest-ratings-section{padding:16px;margin:0 -16px 24px;border-radius:0}.ratings-grid{grid-template-columns:1fr}.category-filters{margin:0 -16px 16px;padding:0 16px 8px}.rating-card{padding:14px}.rating-badge{font-size:1.1rem;padding:5px 12px}.legend-items{flex-direction:column;gap:8px}.rating-summary{flex-direction:column;gap:12px}}.contact-rep-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.contact-rep-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.contact-rep-btn.small{padding:8px 14px;font-size:13px}.contact-rep-btn.large{padding:14px 28px;font-size:16px}.contact-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.contact-modal{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.contact-modal .modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:#ffffffe6;border-radius:50%;font-size:22px;cursor:pointer;z-index:10}.contact-header{padding:24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:20px 20px 0 0}.rep-info-mini{display:flex;align-items:center;gap:14px}.rep-photo-mini{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3)}.rep-photo-placeholder{width:56px;height:56px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:28px}.rep-info-mini h3{margin:0 0 4px;font-size:20px}.rep-info-mini p{margin:0;opacity:.9;font-size:14px}.contact-tabs{display:flex;border-bottom:1px solid #e2e8f0}.contact-tabs .tab{flex:1;padding:14px;background:none;border:none;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.contact-tabs .tab.active{color:#10b981;border-bottom-color:#10b981}.contact-tabs .tab:hover:not(.active){background:#f8fafc}.tab-content{padding:24px}.phone-section{margin-bottom:24px;text-align:center}.call-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-decoration:none;border-radius:12px;font-size:18px;font-weight:600;transition:all .2s}.call-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #10b98166}.call-tip{margin:10px 0 0;font-size:13px;color:#64748b}.script-section{margin-bottom:24px}.script-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.script-header h4{margin:0;font-size:15px;color:#1e293b}.copy-btn{padding:6px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.copy-btn:hover{background:#e2e8f0}.copy-btn.copied{background:#dcfce7;border-color:#bbf7d0;color:#166534}.script-box{padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;line-height:1.6;color:#334155;white-space:pre-wrap}.script-box p{margin:0}.tips-section{margin-bottom:24px}.tips-section h4{margin:0 0 12px;font-size:15px;color:#1e293b}.tips-section ul{margin:0;padding-left:20px}.tips-section li{font-size:13px;color:#64748b;margin-bottom:6px}.completed-btn{width:100%;padding:14px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.completed-btn:hover{background:#2563eb}.call-success{text-align:center;padding:20px 0}.success-icon{font-size:64px;display:block;margin-bottom:16px}.call-success h4{margin:0 0 8px;font-size:22px;color:#166534}.call-success p{margin:0 0 20px;font-size:14px;color:#64748b}.success-stats{padding:16px;background:#f0fdf4;border-radius:10px;margin-bottom:20px}.success-stats p{margin:0;font-size:14px;color:#166534}.done-btn{padding:12px 32px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.email-actions{display:flex;gap:12px;margin-bottom:24px}.email-btn{flex:1;padding:14px;text-align:center;border-radius:10px;text-decoration:none;font-weight:600;transition:all .2s}.email-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.email-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.email-btn.secondary{background:#f1f5f9;color:#334155}.email-btn.secondary:hover{background:#e2e8f0}.email-preview{margin-bottom:16px}.email-field{display:flex;align-items:center;gap:10px;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:12px}.field-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase}.field-value{flex:1;font-size:14px;color:#1e293b}.copy-btn-mini{padding:4px 8px;background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:12px}.copy-btn-mini.copied{background:#dcfce7;border-color:#bbf7d0}.email-body{background:#f8fafc;border-radius:10px;overflow:hidden}.body-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0}.email-script{border-radius:0;border:none}.email-tip{font-size:13px;color:#64748b;margin:0}.social-links{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.social-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:10px;text-decoration:none;font-weight:500;transition:all .2s}.social-btn.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}.social-btn:hover{transform:translate(4px)}.social-icon{font-size:20px}.tweet-preview{margin-bottom:16px}.tweet-preview h4{margin:0 0 12px;font-size:14px;color:#1e293b}.tweet-box{background:#f8fafc;border:1px solid #1da1f2}.social-tip{font-size:13px;color:#64748b;margin:0}.quick-contact-bar{display:flex;gap:8px}.quick-action{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;cursor:pointer;transition:all .2s}.quick-action span:first-child{font-size:18px}.quick-action span:last-child{font-size:11px;color:#64748b}.quick-action.call{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.quick-action.call:hover{background:#dcfce7}.quick-action.email{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.quick-action.email:hover{background:#dbeafe}.quick-action.twitter{background:#f8fafc;color:#000}.quick-action.twitter:hover{background:#e2e8f0}.quick-action.copy.copied{background:#dcfce7;border-color:#bbf7d0;color:#166534}@media (max-width: 480px){.contact-tabs .tab{padding:12px 8px;font-size:13px}.email-actions{flex-direction:column}.quick-contact-bar{flex-wrap:wrap}.quick-action{flex:1;min-width:70px}}.rep-detail-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.rep-detail-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.rep-header{margin-bottom:24px}.back-link{display:inline-block;margin-bottom:16px;color:#6366f1;text-decoration:none;font-weight:500}.rep-info{display:flex;align-items:center;gap:16px}.rep-photo-large{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 4px 12px #0000001a}.rep-avatar-large{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;border:3px solid white;box-shadow:0 4px 12px #0000001a}.rep-avatar-large.D{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.rep-avatar-large.R{background:linear-gradient(135deg,#ef4444,#dc2626)}.rep-avatar-large.I{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.rep-details h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.rep-title{font-size:14px;color:#64748b;margin:0 0 4px}.rep-location{font-size:13px;color:#94a3b8;margin:0}.grade-section{margin-bottom:24px}.grade-card{display:flex;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;margin-bottom:12px}.grade-circle{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grade-letter{font-size:42px;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.grade-info h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.grade-label{font-size:16px;font-weight:600;color:#475569;margin:0 0 4px}.grade-score{font-size:14px;color:#94a3b8;margin:0}.grade-summary{font-size:14px;color:#64748b;line-height:1.5;padding:0 8px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:14px 10px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.stat-value{font-size:24px;font-weight:700;color:#1e293b}.stat-label{font-size:11px;color:#64748b;text-align:center}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0}.section-note{font-size:12px;color:#94a3b8}.unlocked-badge{padding:4px 10px;background:#dcfce7;color:#166534;border-radius:12px;font-size:12px;font-weight:600}.votes-section,.full-votes-section{margin-bottom:24px}.votes-list{display:flex;flex-direction:column;gap:10px}.vote-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:14px;text-decoration:none;border:1px solid #e2e8f0;transition:all .2s}.vote-item:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126;transform:translateY(-1px)}.vote-position{font-size:24px;flex-shrink:0}.vote-content{flex:1;min-width:0}.vote-content h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vote-content p{font-size:12px;color:#64748b;margin:0 0 4px}.vote-date{font-size:11px;color:#94a3b8}.vote-meta{display:flex;gap:12px;align-items:center}.party-align{font-size:11px;padding:2px 8px;border-radius:8px}.party-align.aligned{background:#dcfce7;color:#166534}.party-align.diverged{background:#fee2e2;color:#991b1b}.vote-arrow{color:#94a3b8;font-size:16px}.more-votes-note{text-align:center;font-size:13px;color:#64748b;margin-top:12px}.no-votes{padding:30px;text-align:center;background:#fff;border-radius:14px;color:#94a3b8}.unlock-section{margin-bottom:24px}.unlock-card{padding:28px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;border:2px dashed #cbd5e1;text-align:center}.unlock-icon{font-size:48px;margin-bottom:12px}.unlock-card h3{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 8px}.unlock-card p{font-size:14px;color:#64748b;margin:0 0 16px}.unlock-card ul{list-style:none;padding:0;text-align:left;max-width:280px;margin:0 auto 20px}.unlock-card li{padding:8px 0;font-size:14px;color:#475569}.unlock-progress{margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s}.unlock-progress span{font-size:12px;color:#64748b}.unlock-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #6366f166}.breakdown-section{margin-bottom:24px}.breakdown-cards{display:flex;flex-direction:column;gap:12px}.breakdown-card{padding:16px;background:#fff;border-radius:14px;border:1px solid #e2e8f0}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.breakdown-header h4{font-size:15px;font-weight:600;color:#1e293b;margin:0}.breakdown-score{font-size:18px;font-weight:700}.breakdown-desc{font-size:12px;color:#64748b;margin:0 0 10px}.breakdown-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:6px}.breakdown-fill{height:100%;border-radius:3px;transition:width .5s}.breakdown-weight{font-size:11px;color:#94a3b8}.alignment-section{margin-bottom:24px}.party-info{padding:16px;background:#fff;border-radius:14px;margin-bottom:12px}.party-info h4{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px}.party-info p{font-size:13px;color:#64748b;margin:0 0 12px}.values-list{display:flex;flex-wrap:wrap;gap:8px}.value-tag{padding:6px 12px;background:#f1f5f9;color:#475569;border-radius:16px;font-size:12px}.alignment-score{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-radius:14px}.alignment-label{font-size:14px;font-weight:600;color:#475569}.alignment-value{font-size:28px;font-weight:700}.suggestions-section{margin-bottom:24px}.suggestion-card{padding:16px;background:#fff;border-radius:14px;border-left:4px solid #f59e0b;margin-bottom:10px}.suggestion-card h4{font-size:14px;font-weight:600;color:#92400e;margin:0 0 6px}.suggestion-card p{font-size:13px;color:#64748b;margin:0 0 8px}.suggestion-action{font-size:12px;color:#6366f1;font-weight:500}.no-suggestions{padding:20px;background:#f0fdf4;border-radius:14px;color:#166534;text-align:center}.contact-section{text-align:center;padding:24px;background:#fff;border-radius:20px}.contact-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.contact-btn{padding:12px 20px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}.contact-btn.phone{background:#dcfce7;color:#166534}.contact-btn.web{background:#dbeafe;color:#1d4ed8}.contact-btn.townhall{background:#fef3c7;color:#92400e}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 480px){.quick-stats{grid-template-columns:repeat(2,1fr)}.contact-buttons{flex-direction:column}.contact-btn{width:100%;text-align:center}}.president-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.president-content{max-width:800px;margin:0 auto;padding:80px 16px 16px}.loading-container .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.president-header-card{display:flex;gap:24px;background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #00000014;margin-bottom:24px}.president-photo{position:relative;flex-shrink:0}.president-photo img{width:160px;height:200px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #00000026}.president-photo .grade-badge{position:absolute;bottom:-10px;right:-10px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;box-shadow:0 4px 12px #0003;border:4px solid white}.president-info h1{font-size:1.75rem;color:#1e293b;margin:0 0 4px}.president-info .title{font-size:.9rem;color:#64748b;margin:0 0 8px}.president-info .party{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:8px}.president-info .party.republican{background:#fee2e2;color:#dc2626}.president-info .party.democrat{background:#dbeafe;color:#2563eb}.president-info .term,.president-info .inauguration{font-size:.85rem;color:#64748b;margin:4px 0}.quick-stats{display:flex;gap:20px;margin-top:16px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.president-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.president-tabs .tab{flex:1;min-width:100px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.president-tabs .tab:hover{border-color:#cbd5e1}.president-tabs .tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.tab-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px}.tab-content h2{font-size:1.25rem;color:#1e293b;margin:0 0 16px}.info-section{margin-bottom:32px}.info-section p{color:#64748b;margin-bottom:16px}.president-powers{list-style:none;padding:0;margin:0}.president-powers li{display:flex;gap:16px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:8px}.power-icon{font-size:1.5rem;flex-shrink:0}.president-powers li strong{display:block;color:#1e293b;margin-bottom:4px}.president-powers li p{margin:0;font-size:.9rem}.eo-summary-section{margin-bottom:32px}.eo-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.eo-category{background:#f8fafc;padding:20px;border-radius:12px;text-align:center}.category-count{display:block;font-size:2rem;font-weight:700;color:#1e293b}.category-label{font-size:.85rem;color:#64748b}.average-impact-preview{background:#f0f9ff;padding:24px;border-radius:12px;border:2px solid #bae6fd}.impact-meter{margin:20px 0}.meter-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#64748b;margin-bottom:8px}.meter-bar{height:12px;background:linear-gradient(to right,#ef4444,#facc15,#22c55e);border-radius:6px;position:relative}.meter-fill{position:absolute;top:-4px;width:20px;height:20px;border-radius:50%;border:3px solid white;box-shadow:0 2px 8px #0003;transform:translate(-50%)}.impact-summary{color:#0369a1;font-size:.95rem;margin:16px 0}.see-your-impact-btn{width:100%;padding:14px;background:#0ea5e9;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:background .2s}.see-your-impact-btn:hover{background:#0284c7}.setup-profile-prompt{text-align:center;padding:40px 20px}.prompt-icon{font-size:4rem;margin-bottom:16px}.setup-profile-prompt h3{color:#1e293b;margin-bottom:12px}.setup-profile-prompt>p{color:#64748b;margin-bottom:24px}.setup-btn{display:inline-block;padding:14px 32px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:10px;font-weight:600;transition:background .2s}.setup-btn:hover{background:#2563eb}.profile-questions{margin-top:32px;text-align:left;background:#f8fafc;padding:20px;border-radius:12px}.profile-questions p{font-weight:600;color:#1e293b;margin-bottom:12px}.profile-questions ul{margin:0;padding-left:20px;color:#64748b}.profile-questions li{margin-bottom:6px}.personal-impact-analysis{padding:20px 0}.your-impact-score{text-align:center;margin-bottom:32px}.impact-dial{width:200px;height:100px;margin:0 auto 16px;background:linear-gradient(to right,#ef4444,#facc15,#22c55e);border-radius:100px 100px 0 0;position:relative;overflow:hidden}.dial-indicator{position:absolute;bottom:0;left:50%;width:8px;height:80px;transform-origin:bottom center;border-radius:4px}.impact-label{text-align:center}.impact-value{display:block;font-size:2rem;font-weight:700;color:#1e293b}.impact-text{color:#64748b;font-size:.9rem}.impact-categories{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.impact-category{padding:16px;border-radius:12px;border:2px solid #e2e8f0}.impact-category.positive{background:#f0fdf4;border-color:#86efac}.impact-category.negative{background:#fef2f2;border-color:#fecaca}.impact-category.neutral{background:#fefce8;border-color:#fde047}.category-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.category-icon{font-size:1.5rem}.category-name{font-weight:600;color:#1e293b;flex:1}.category-impact{font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:20px}.category-impact.positive{background:#22c55e;color:#fff}.category-impact.negative{background:#ef4444;color:#fff}.category-impact.neutral{background:#facc15;color:#1e293b}.category-explanation{color:#64748b;font-size:.9rem;margin:0 0 12px}.related-orders{font-size:.8rem;color:#94a3b8}.order-tag{display:inline-block;background:#f1f5f9;padding:2px 8px;border-radius:4px;margin-left:4px;font-size:.75rem}.profile-factors{background:#f8fafc;padding:20px;border-radius:12px}.profile-factors h4{margin:0 0 12px;color:#1e293b}.factors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.factor{display:flex;flex-direction:column}.factor-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.factor-value{font-weight:600;color:#1e293b}.update-profile-link{color:#3b82f6;font-size:.85rem;text-decoration:none}.update-profile-link:hover{text-decoration:underline}.average-comparison{margin-top:32px;padding-top:24px;border-top:2px solid #e2e8f0}.average-comparison h3{margin:0 0 16px;color:#1e293b}.average-american-impact{background:#f8fafc;padding:20px;border-radius:12px}.average-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.avg-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px;background:#fff;border-radius:12px}.avg-icon{font-size:1.5rem;margin-bottom:8px}.avg-label{font-size:.8rem;color:#64748b;margin-bottom:4px}.avg-value{font-size:1.25rem;font-weight:700}.avg-value.positive{color:#22c55e}.avg-value.negative{color:#ef4444}.avg-disclaimer{font-size:.75rem;color:#94a3b8;text-align:center;margin:16px 0 0}.orders-intro{color:#64748b;margin-bottom:20px}.orders-list{display:flex;flex-direction:column;gap:12px}.eo-card{border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.eo-card.high{border-left:4px solid #ef4444}.eo-card.medium{border-left:4px solid #facc15}.eo-card.low{border-left:4px solid #22c55e}.eo-header{padding:16px;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.eo-type-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;background:#e2e8f0;padding:4px 8px;border-radius:4px;color:#64748b}.eo-title{flex:1 1 100%;font-size:.95rem;color:#1e293b;margin:0}.eo-meta{display:flex;gap:12px;width:100%}.eo-date{font-size:.8rem;color:#94a3b8}.eo-impact{font-size:.75rem;font-weight:600}.eo-details{padding:0 16px 16px;border-top:1px solid #e2e8f0}.eo-abstract{color:#64748b;font-size:.9rem;line-height:1.6;margin:16px 0}.eo-links{display:flex;gap:16px}.eo-links a{color:#3b82f6;font-size:.85rem;text-decoration:none}.eo-links a:hover{text-decoration:underline}.see-all-orders{display:block;text-align:center;padding:16px;background:#f1f5f9;border-radius:12px;color:#3b82f6;text-decoration:none;font-weight:600;margin-top:12px}.see-all-orders:hover{background:#e2e8f0}.grade-breakdown{display:flex;flex-direction:column;gap:24px}.overall-grade{text-align:center}.grade-circle{width:120px;height:120px;margin:0 auto 12px;border-radius:50%;border:8px solid;display:flex;flex-direction:column;align-items:center;justify-content:center}.grade-letter{font-size:2.5rem;font-weight:800;color:#1e293b}.grade-score{font-size:.9rem;color:#64748b}.grade-label{font-size:1rem;color:#64748b;margin:0}.criteria-grades{display:flex;flex-direction:column;gap:16px}.criterion{padding:16px;background:#f8fafc;border-radius:12px}.criterion-header{display:flex;justify-content:space-between;margin-bottom:8px}.criterion-label{font-weight:600;color:#1e293b}.criterion-score{font-weight:700}.criterion-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.criterion-fill{height:100%;border-radius:4px;transition:width .5s}.criterion-desc{font-size:.85rem;color:#64748b;margin:0}.grading-methodology{margin-top:24px;padding:20px;background:#f0f9ff;border-radius:12px;border:2px solid #bae6fd}.grading-methodology h3{margin:0 0 12px;color:#0369a1}.grading-methodology p{color:#0369a1;margin-bottom:12px}.grading-methodology ul{margin:0;padding-left:20px;color:#0369a1}.grading-methodology li{margin-bottom:6px}.contact-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f}.contact-section h3{margin:0 0 16px;color:#1e293b}.contact-options{display:flex;flex-wrap:wrap;gap:12px}.contact-option{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:10px;text-decoration:none;color:#1e293b;font-weight:500;transition:background .2s}.contact-option:hover{background:#f1f5f9}.contact-icon{font-size:1.25rem}@media (max-width: 768px){.president-content{padding-top:70px}.president-header-card{flex-direction:column;text-align:center;padding:20px}.president-photo{margin:0 auto}.president-photo img{width:140px;height:175px}.quick-stats{justify-content:center}.president-tabs{gap:4px}.president-tabs .tab{padding:10px 12px;font-size:.8rem;min-width:70px}.eo-category-grid{grid-template-columns:repeat(2,1fr)}.factors-grid,.average-stats{grid-template-columns:1fr}.contact-options{flex-direction:column}}.governor-detail-page{min-height:100vh;background:#f8fafc}.governor-content{max-width:900px;margin:0 auto;padding:1rem}.governor-header{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d}.back-link{display:inline-block;margin-bottom:1rem;color:#64748b;text-decoration:none;font-size:.9rem}.back-link:hover{color:#3b82f6}.governor-info{display:flex;align-items:flex-start;gap:1.5rem}.governor-photo{width:120px;height:140px;object-fit:cover;border-radius:12px;flex-shrink:0}.governor-avatar{width:120px;height:140px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;flex-shrink:0}.governor-avatar.D{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.governor-avatar.R{background:linear-gradient(135deg,#ef4444,#b91c1c)}.governor-text{flex:1}.governor-text h1{margin:0 0 .5rem;font-size:1.75rem;color:#1e293b}.gov-title{margin:0 0 .75rem;color:#64748b;font-size:1rem}.gov-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.party-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.party-badge.dem{background:#dbeafe;color:#1e40af}.party-badge.rep{background:#fee2e2;color:#991b1b}.term-info{font-size:.85rem;color:#64748b}.grade-badge{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border-radius:12px;flex-shrink:0}.grade-badge .grade-letter{font-size:2.5rem;font-weight:700;line-height:1}.grade-badge .grade-label{font-size:.75rem;text-transform:uppercase;opacity:.8}.grade-badge.grade-a{background:#dcfce7;color:#166534}.grade-badge.grade-b{background:#d1fae5;color:#047857}.grade-badge.grade-c{background:#fef3c7;color:#92400e}.grade-badge.grade-d{background:#fed7aa;color:#c2410c}.grade-badge.grade-f{background:#fee2e2;color:#991b1b}.grade-badge.grade-\?{background:#f1f5f9;color:#64748b}.tab-nav{display:flex;gap:.5rem;background:#fff;padding:.5rem;border-radius:12px;margin-bottom:1rem;overflow-x:auto}.tab-nav button{flex:1;min-width:max-content;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab-nav button:hover{background:#f1f5f9}.tab-nav button.active{background:#3b82f6;color:#fff}.tab-content{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.tab-content section{margin-bottom:2rem}.tab-content section:last-child{margin-bottom:0}.tab-content h2{margin:0 0 1rem;font-size:1.25rem;color:#1e293b}.grade-display{display:flex;gap:1.5rem;align-items:flex-start}.big-grade{font-size:5rem;font-weight:700;line-height:1;padding:1rem 2rem;border-radius:16px}.big-grade.grade-a{background:#dcfce7;color:#166534}.big-grade.grade-b{background:#d1fae5;color:#047857}.big-grade.grade-c{background:#fef3c7;color:#92400e}.big-grade.grade-d{background:#fed7aa;color:#c2410c}.big-grade.grade-f{background:#fee2e2;color:#991b1b}.big-grade.grade-\?{background:#f1f5f9;color:#64748b}.grade-details{flex:1}.grade-summary{font-size:1.1rem;color:#475569;margin-bottom:1rem}.grade-breakdown{display:flex;flex-wrap:wrap;gap:1rem}.breakdown-item{background:#f8fafc;padding:.75rem 1rem;border-radius:8px}.breakdown-label{display:block;font-size:.8rem;color:#64748b;margin-bottom:.25rem}.breakdown-value{font-size:1.25rem;font-weight:600;color:#1e293b}.accomplishments-list{list-style:none;padding:0;margin:0}.accomplishments-list li{padding:.75rem 0 .75rem 2rem;border-bottom:1px solid #f1f5f9;position:relative}.accomplishments-list li:before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card{text-align:center;padding:1.25rem;background:#f8fafc;border-radius:12px}.stat-icon{font-size:1.5rem;display:block;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#1e293b;display:block}.stat-label{font-size:.85rem;color:#64748b}.signing-list{display:flex;flex-direction:column;gap:1rem}.signing-item{padding:1rem;border-radius:10px;border-left:4px solid}.signing-item.signed{background:#f0fdf4;border-color:#22c55e}.signing-item.vetoed{background:#fef2f2;border-color:#ef4444}.signing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.bill-number{font-weight:600;color:#64748b;font-size:.85rem}.action-badge{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.action-badge.signed{background:#dcfce7;color:#166534}.action-badge.vetoed{background:#fee2e2;color:#991b1b}.bill-title{margin:0 0 .5rem;font-size:1rem;color:#1e293b}.signing-meta{display:flex;gap:1rem;font-size:.85rem;color:#64748b}.impact-badge{font-weight:500}.impact-badge.positive{color:#16a34a}.impact-badge.negative{color:#dc2626}.impact-badge.mixed{color:#d97706}.eo-list{display:flex;flex-direction:column;gap:1rem}.eo-item{padding:1rem;background:#f8fafc;border-radius:10px}.eo-number{font-size:.8rem;font-weight:600;color:#64748b}.eo-item h4{margin:.25rem 0 .5rem;color:#1e293b}.eo-item p{margin:0 0 .5rem;color:#475569;font-size:.9rem}.budget-list{display:flex;flex-direction:column;gap:1.25rem}.budget-item{padding:1rem;background:#f8fafc;border-radius:10px}.budget-header{display:flex;justify-content:space-between;align-items:center}.budget-header h4{margin:0;color:#1e293b}.change{font-size:.85rem;font-weight:600}.change.increase{color:#16a34a}.change.decrease{color:#dc2626}.budget-amount{font-size:1.5rem;font-weight:700;color:#3b82f6;margin:.5rem 0}.budget-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.budget-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.contact-card{display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:#f8fafc;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s}.contact-card:hover{background:#e2e8f0;transform:translateY(-2px)}.contact-icon{font-size:2rem;margin-bottom:.5rem}.contact-label{font-size:.8rem;color:#64748b}.contact-value{font-weight:600;color:#1e293b;text-align:center}.contact-message{background:linear-gradient(135deg,#eff6ff,#dbeafe);padding:1.5rem;border-radius:12px;text-align:center}.contact-message h3{margin:0 0 .5rem}.contact-message p{margin:0 0 1rem;color:#475569}.message-btn{display:inline-block;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;transition:background .2s}.message-btn:hover{background:#2563eb}.no-data{text-align:center;padding:3rem;color:#64748b}.external-link{display:inline-block;margin-top:1rem;color:#3b82f6;text-decoration:none}.loading,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem}@media (max-width: 768px){.governor-info,.grade-display{flex-direction:column;align-items:center;text-align:center}.stats-grid{grid-template-columns:1fr}.tab-nav{gap:.25rem}.tab-nav button{padding:.5rem .75rem;font-size:.8rem}}.report-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.report-card.loading{padding:2rem;text-align:center;color:#888}.grade-section{padding:1.5rem}.grade-section.universal{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.grade-section.alignment{background:#fff}.grade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.grade-header h3{margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.grade-type-badge{font-size:.7rem;padding:.25rem .5rem;background:#e2e8f0;color:#64748b;border-radius:4px;font-weight:500}.grade-type-badge.personal{background:#fef3c7;color:#92400e}.grade-display{display:flex;justify-content:center;margin:1.5rem 0}.grade-circle{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #00000026}.grade-letter{font-size:2.5rem;font-weight:800;line-height:1}.grade-score{font-size:.9rem;opacity:.9}.grade-description{text-align:center;color:#64748b;font-size:.9rem;margin:0;line-height:1.5}.unlock-btn{display:block;width:100%;margin-top:1rem;padding:.875rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4f46e54d}.ad-playing{text-align:center;padding:2rem;background:#1a1a2e;border-radius:10px;color:#fff;margin-top:1rem}.ad-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.ad-timer{font-size:.8rem;opacity:.7}.grade-breakdown{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.grade-breakdown h4{margin:0 0 1rem;font-size:.95rem;color:#334155}.breakdown-row{margin-bottom:.75rem}.breakdown-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.breakdown-label span:first-child{color:#334155}.breakdown-weight{color:#94a3b8;font-size:.75rem}.breakdown-bar-container{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;position:relative}.breakdown-bar{height:100%;border-radius:4px;transition:width .5s ease}.breakdown-score{display:block;text-align:right;font-size:.8rem;color:#64748b;margin-top:.125rem}.breakdown-details{margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.detail-item{margin:0 0 .5rem;font-size:.8rem;color:#64748b}.detail-item:last-child{margin-bottom:0}.detail-item strong{color:#334155}.grade-divider{display:flex;align-items:center;padding:0 1.5rem;background:#f1f5f9}.grade-divider:before,.grade-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.grade-divider span{padding:.5rem 1rem;font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.needs-quiz{text-align:center;padding:1.5rem;background:#f8fafc;border-radius:10px}.needs-quiz p{margin:0 0 1rem;color:#64748b}.quiz-btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.quiz-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.alignment-locked{text-align:center}.locked-preview{padding:1.5rem;background:#f8fafc;border-radius:10px;margin-bottom:1rem}.blur-score{font-size:3rem;font-weight:800;color:#cbd5e1;filter:blur(4px)}.locked-preview p{margin:.5rem 0 0;color:#64748b}.alignment-unlocked{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.alignment-display{text-align:center;margin-bottom:1rem}.alignment-score{margin-bottom:.75rem}.score-number{font-size:3rem;font-weight:800;color:#4f46e5}.score-label{display:block;font-size:.9rem;color:#64748b}.alignment-bar{height:12px;border-radius:6px;margin:0 auto;max-width:300px}.alignment-description{text-align:center;color:#64748b;font-size:.9rem;margin:1rem 0}.issue-alignments{margin-top:1.5rem}.issue-alignments h4{margin:0 0 1rem;font-size:.9rem;color:#64748b}.issue-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem}.issue-icon{font-size:1rem;width:24px}.issue-name{width:100px;color:#334155}.issue-bar-container{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.issue-bar{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:3px}.issue-score{width:40px;text-align:right;font-weight:600;color:#4f46e5}.alignment-disclaimer{margin-top:1rem;padding:.75rem;background:#fef3c7;border-radius:8px;font-size:.8rem;color:#92400e}.data-sources{padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;text-align:center}.data-sources p{margin:0 0 .5rem;font-size:.75rem;color:#94a3b8}.methodology-link{font-size:.8rem;color:#4f46e5;text-decoration:none}.methodology-link:hover{text-decoration:underline}.grade-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#fff;font-weight:700;font-size:.9rem}.grade-badge.universal{box-shadow:0 2px 4px #0000001a}.values-quiz{background:#fff;border-radius:16px;max-width:500px;margin:0 auto;overflow:hidden}.quiz-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.quiz-header h3{margin:0;font-size:1.1rem}.close-btn{width:32px;height:32px;border:none;border-radius:50%;background:#fff3;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.quiz-progress{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:#f8fafc}.quiz-progress .progress-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.quiz-progress .progress-bar:after{content:"";display:block;height:100%;background:#4f46e5;width:var(--progress, 0%);transition:width .3s ease}.quiz-progress span{font-size:.8rem;color:#64748b}.quiz-question{padding:1.5rem}.issue-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.issue-header .issue-icon{font-size:2rem}.issue-header h4{margin:0;font-size:1.25rem}.question-text{color:#64748b;margin:1rem 0 .75rem;font-size:.9rem}.position-scale,.importance-scale{display:flex;flex-wrap:wrap;gap:.5rem}.position-scale button,.importance-scale button{flex:1;min-width:calc(50% - .25rem);padding:.75rem .5rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.8rem;cursor:pointer;transition:all .2s}.position-scale button:hover,.importance-scale button:hover{border-color:#4f46e5}.position-scale button.active,.importance-scale button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.importance-scale button{min-width:calc(20% - .4rem)}.quiz-nav{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.nav-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.nav-btn.back{background:#f1f5f9;color:#64748b}.nav-btn.next{background:#4f46e5;color:#fff}.nav-btn.complete{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.nav-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.grade-circle{width:80px;height:80px}.grade-letter{font-size:2rem}.issue-name{width:80px;font-size:.75rem}.position-scale button{min-width:100%;padding:.625rem}.importance-scale button{min-width:calc(33.33% - .33rem);font-size:.7rem;padding:.5rem .25rem}}@media (prefers-color-scheme: dark){.report-card{background:#1a1a2e;color:#fff}.grade-section.universal,.grade-section.alignment{background:#1a1a2e}.grade-description{color:#94a3b8}.grade-type-badge{background:#334155;color:#94a3b8}.breakdown-bar-container,.issue-bar-container{background:#334155}.needs-quiz,.locked-preview,.breakdown-details{background:#2a2a4e}.data-sources{background:#0f0f1a;border-color:#334155}.values-quiz{background:#1a1a2e}.quiz-progress{background:#2a2a4e}.position-scale button,.importance-scale button{background:#2a2a4e;border-color:#334155;color:#fff}}.state-rep-detail{min-height:100vh;background:#f8f9fa}.detail-content{max-width:700px;margin:0 auto;padding:1rem;padding-bottom:100px}.back-link{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 0;color:#4f46e5;background:none;border:none;font-size:.9rem;cursor:pointer;margin-bottom:1rem}.official-header{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:1rem}.official-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.official-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.photo-placeholder.d{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.photo-placeholder.r{background:linear-gradient(135deg,#dc2626,#b91c1c)}.official-info{flex:1}.official-info h1{margin:0;font-size:1.35rem;line-height:1.2}.official-role{margin:.25rem 0;color:#64748b;font-size:.9rem}.official-state{margin:0;color:#94a3b8;font-size:.85rem}.official-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.party-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.party-badge.d{background:#dbeafe;color:#1d4ed8}.party-badge.r{background:#fee2e2;color:#b91c1c}.term-info{font-size:.75rem;color:#94a3b8}.official-grade{text-align:center;flex-shrink:0}.grade-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto}.grade-letter{font-size:1.5rem;font-weight:800;color:#fff}.grade-label{display:block;margin-top:.25rem;font-size:.65rem;color:#94a3b8}.detail-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.25rem}.tab{padding:.75rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:all .2s}.tab:hover{border-color:#4f46e5}.tab.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.tab-content{animation:fadeIn .2s ease}.tab-content section{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000a}.tab-content h2{margin:0 0 1rem;font-size:1.1rem}.section-note{color:#64748b;font-size:.85rem;margin:-.5rem 0 1rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem;background:#f8f9fa;border-radius:10px;text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1f2937}.stat-label{display:block;font-size:.75rem;color:#64748b;margin-top:.25rem}.bills-list{display:flex;flex-direction:column;gap:.75rem}.bill-card{padding:1rem;background:#f8f9fa;border-radius:10px;border-left:4px solid #94a3b8}.bill-card.signed{border-left-color:#22c55e}.bill-card.vetoed{border-left-color:#ef4444}.bill-status{font-size:.75rem;font-weight:600;margin-bottom:.5rem}.bill-card h4{margin:0 0 .5rem;font-size:.95rem}.bill-description{margin:0 0 .5rem;font-size:.85rem;color:#64748b}.bill-meta{display:flex;gap:1rem;font-size:.75rem;color:#94a3b8}.no-data{text-align:center;padding:2rem;color:#64748b}.data-note{font-size:.85rem;margin-top:.5rem}.external-link{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:#f1f5f9;color:#4f46e5;text-decoration:none;border-radius:8px;font-size:.9rem}.contact-methods{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.contact-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:10px;text-decoration:none;color:inherit;transition:all .2s}.contact-card:hover{background:#f1f5f9}.contact-icon{font-size:1.5rem}.contact-card strong{display:block;font-size:.85rem;color:#64748b}.contact-card span{color:#1f2937}.social-links{margin-bottom:1.5rem}.social-links h3{margin:0 0 .75rem;font-size:.9rem;color:#64748b}.social-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.social-btn{padding:.5rem 1rem;border-radius:8px;text-decoration:none;font-size:.85rem}.social-btn.twitter{background:#1a1a1a;color:#fff}.action-buttons{display:flex;gap:.75rem}.action-btn{flex:1;padding:.875rem;border-radius:10px;text-align:center;text-decoration:none;font-weight:600;transition:all .2s}.action-btn.primary{background:#4f46e5;color:#fff}.action-btn.secondary{background:#f1f5f9;color:#1f2937}.data-sources{text-align:center;padding:1.5rem;color:#94a3b8;font-size:.8rem}.methodology-link{color:#4f46e5;text-decoration:none}.loading-container,.error-container{text-align:center;padding:3rem 1rem}.back-btn{padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;margin-top:1rem}@media (max-width: 480px){.official-header{flex-direction:column;text-align:center}.official-photo{margin:0 auto}.official-meta{justify-content:center}.stats-grid{grid-template-columns:1fr 1fr}.action-buttons{flex-direction:column}}@media (prefers-color-scheme: dark){.state-rep-detail{background:#0f0f1a}.official-header,.tab-content section{background:#1a1a2e}.official-info h1{color:#fff}.tab{background:#1a1a2e;border-color:#3a3a5e;color:#fff}.stat-card,.bill-card,.contact-card{background:#2a2a4e}.stat-value{color:#fff}}.executive-orders-page{max-width:900px;margin:0 auto;padding:24px}.eo-header{margin-bottom:24px}.eo-title h1{font-size:2rem;margin:0 0 8px;color:#1e293b}.eo-title p{color:#64748b;margin:0}.eo-why{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px;margin-top:16px}.why-icon{font-size:1.5rem}.why-text{font-size:.95rem;color:#92400e;line-height:1.5}.eo-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:12px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.85rem;font-weight:600;color:#475569}.filter-group select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.filter-group select:focus{outline:none;border-color:#3b82f6}.search-form{display:flex;flex:1;min-width:200px}.search-form input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px 0 0 8px;font-size:.9rem}.search-form input:focus{outline:none;border-color:#3b82f6}.search-form button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:0 8px 8px 0;cursor:pointer}.search-form button:hover{background:#2563eb}.eo-stats{display:flex;gap:24px;margin-bottom:24px;padding:16px;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:12px}.eo-stats .stat{display:flex;flex-direction:column;align-items:center}.eo-stats .stat-num{font-size:1.5rem;font-weight:700;color:#fbbf24}.eo-stats .stat-label{font-size:.75rem;color:#ffffffb3;text-transform:uppercase}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b}.loading-state .spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-state{text-align:center;padding:40px;background:#fef2f2;border-radius:12px;color:#dc2626}.error-state button{margin-top:12px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:8px;cursor:pointer}.orders-list{display:flex;flex-direction:column;gap:16px}.order-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid #94a3b8;transition:all .2s}.order-card:hover{box-shadow:0 4px 12px #0000001f}.order-card.impact-high{border-left-color:#ef4444;background:linear-gradient(to right,#fef2f2,#fff)}.order-card.impact-medium{border-left-color:#f59e0b}.order-card.impact-low{border-left-color:#22c55e}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:8px}.order-type{display:flex;align-items:center;gap:8px}.type-icon{font-size:1.25rem}.type-label{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase}.eo-number{font-size:.85rem;font-weight:700;color:#3b82f6;background:#eff6ff;padding:2px 8px;border-radius:4px}.order-meta{display:flex;align-items:center;gap:12px}.order-date{font-size:.85rem;color:#64748b}.impact-badge{font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase}.impact-badge.high{background:#fecaca;color:#dc2626}.order-title{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 12px;line-height:1.4}.order-abstract{font-size:.9rem;color:#475569;line-height:1.6;margin:0 0 12px;max-height:80px;overflow:hidden;position:relative}.order-abstract:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,#fff)}.order-abstract.expanded{max-height:none}.order-abstract.expanded:after{display:none}.order-card.impact-high .order-abstract:after{background:linear-gradient(transparent,#fef2f2)}.order-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.expand-btn{background:none;border:none;color:#3b82f6;font-size:.85rem;cursor:pointer;padding:0}.expand-btn:hover{text-decoration:underline}.order-links{display:flex;gap:16px}.order-links a{font-size:.85rem;color:#3b82f6;text-decoration:none;display:flex;align-items:center;gap:4px}.order-links a:hover{text-decoration:underline}.agencies-affected{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.agencies-label{font-size:.8rem;color:#64748b}.agency-tag{font-size:.75rem;background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:4px}.agency-more{font-size:.75rem;color:#64748b}.empty-state{text-align:center;padding:60px;color:#64748b}.empty-state button{margin-top:12px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer}.eo-footer{margin-top:32px;padding:20px;background:#f8fafc;border-radius:12px;text-align:center}.data-source{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;color:#64748b;margin-bottom:8px}.data-source a{color:#3b82f6;text-decoration:none;font-weight:600}.disclaimer{font-size:.8rem;color:#94a3b8;margin:0;line-height:1.5}.eo-compact{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000014}.eo-compact.loading{min-height:100px;display:flex;align-items:center;justify-content:center}.eo-compact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eo-compact-header h3{font-size:1rem;margin:0;color:#1e293b}.eo-compact-header a{font-size:.85rem;color:#3b82f6;text-decoration:none}.eo-compact-list{display:flex;flex-direction:column;gap:8px}.eo-compact-item{display:flex;align-items:center;gap:12px;padding:10px;background:#f8fafc;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s}.eo-compact-item:hover{background:#f1f5f9}.eo-compact-number{font-size:.75rem;font-weight:600;color:#3b82f6;background:#eff6ff;padding:4px 8px;border-radius:4px;white-space:nowrap}.eo-compact-title{flex:1;font-size:.9rem;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eo-compact-date{font-size:.75rem;color:#94a3b8;white-space:nowrap}.eo-widget{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px}.widget-icon{font-size:1.5rem}.widget-content{display:flex;flex-direction:column}.widget-num{font-size:1.25rem;font-weight:700;color:#92400e}.widget-label{font-size:.75rem;color:#b45309}.spinner-small{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.executive-orders-page{padding:16px}.eo-title h1{font-size:1.5rem}.eo-filters{flex-direction:column;gap:12px}.filter-group{width:100%;justify-content:space-between}.filter-group select{flex:1}.search-form{width:100%}.eo-stats{justify-content:space-around}.order-header{flex-direction:column}.order-links{flex-wrap:wrap;gap:12px}.eo-compact-title{font-size:.85rem}}.bill-analysis-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.bill-analysis-container{max-width:900px;margin:0 auto;padding:20px 20px 100px}.page-header{text-align:center;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:700;color:#1e293b;margin-bottom:8px}.page-header p{color:#64748b;font-size:16px}.controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.search-form{display:flex;gap:8px}.search-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:16px}.search-input:focus{outline:none;border-color:#6366f1}.search-btn{padding:12px 20px;background:#6366f1;color:#fff;border:none;border-radius:12px;font-size:18px;cursor:pointer}.filters{display:flex;gap:12px}.filter-select{flex:1;padding:10px 14px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff}.profile-editor{background:#fff;border-radius:16px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d}.profile-editor summary{cursor:pointer;font-weight:600;color:#475569}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.profile-grid label{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border-radius:10px;cursor:pointer;font-size:13px;border:2px solid transparent}.profile-grid label.checked{background:#eef2ff;border-color:#6366f1;color:#4f46e5}.loading{display:flex;flex-direction:column;align-items:center;padding:60px 20px}.spinner-small{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.bills-list{display:flex;flex-direction:column;gap:16px}.no-results{text-align:center;padding:40px;background:#fff;border-radius:16px}.bill-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000d;transition:all .3s;border-left:4px solid #e2e8f0}.bill-card.impact-high{border-left-color:#ef4444}.bill-card.impact-medium{border-left-color:#f59e0b}.bill-card.impact-low{border-left-color:#22c55e}.bill-card.expanded{box-shadow:0 8px 24px #6366f126;border-left-color:#6366f1}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;cursor:pointer}.bill-meta{display:flex;flex-direction:column;gap:6px}.bill-number{font-size:13px;font-weight:700;color:#6366f1;text-transform:uppercase}.bill-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.impact-badge{font-size:11px;padding:4px 10px;border-radius:20px;font-weight:600}.impact-badge.high{background:#fee2e2;color:#991b1b}.impact-badge.medium{background:#fef3c7;color:#92400e}.impact-badge.low{background:#dcfce7;color:#166534}.topic-badge{font-size:11px;padding:4px 10px;background:#f1f5f9;color:#475569;border-radius:20px}.status-badge{font-size:10px;padding:3px 8px;border-radius:12px;font-weight:600}.status-badge.law{background:#dcfce7;color:#166534}.status-badge.passed,.status-badge.house_passed,.status-badge.senate_passed{background:#dbeafe;color:#1e40af}.status-badge.committee{background:#fef3c7;color:#92400e}.status-badge.introduced{background:#f3f4f6;color:#4b5563}.bill-summary p{font-size:14px;color:#334155;line-height:1.5;margin-bottom:12px}.impact-quick{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;margin-bottom:12px;font-size:13px;font-weight:500}.impact-quick.high{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.impact-quick.medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.impact-quick.low{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.expand-btn{width:100%;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer}.expand-btn:hover{background:#f1f5f9;color:#6366f1}.bill-expanded{margin-top:16px;padding-top:16px;border-top:2px solid #e2e8f0}.details-loading{display:flex;align-items:center;gap:12px;padding:20px;background:#f8fafc;border-radius:12px;color:#64748b}.locked-content{text-align:center;padding:24px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;border:2px dashed #cbd5e1}.lock-icon{font-size:48px;margin-bottom:12px}.locked-content h4{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:8px}.locked-content p{color:#64748b;margin-bottom:16px}.locked-content ul{list-style:none;padding:0;margin:0 0 20px;display:inline-block;text-align:left}.locked-content li{padding:6px 0;color:#475569;font-size:14px}.unlock-btn{padding:14px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.detail-section{margin-bottom:20px}.detail-section h4{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:10px}.summary-text{font-size:13px;color:#475569;line-height:1.6;padding:14px;background:#f8fafc;border-radius:10px;max-height:200px;overflow-y:auto}.impact-section{background:linear-gradient(135deg,#eef2ff,#e0e7ff);padding:16px;border-radius:12px;margin:0 -16px 20px;width:calc(100% + 32px)}.impact-section h4{color:#4338ca}.impact-list{list-style:none;padding:0;margin:0}.impact-list li{padding:8px 0;font-size:14px;color:#4338ca;border-bottom:1px solid rgba(99,102,241,.1)}.impact-list li:last-child{border-bottom:none}.sponsors-list{display:flex;flex-wrap:wrap;gap:8px}.sponsor-badge{font-size:12px;padding:5px 10px;border-radius:16px}.sponsor-badge.d{background:#dbeafe;color:#1e40af}.sponsor-badge.r{background:#fee2e2;color:#991b1b}.cosponsors-count{font-size:12px;color:#64748b;margin-top:8px}.action-text{font-size:13px;color:#475569;padding:12px;background:#f8fafc;border-radius:8px}.congress-link{display:inline-block;padding:10px 16px;background:#6366f1;color:#fff;text-decoration:none;border-radius:10px;font-size:13px;font-weight:500}@media (max-width: 640px){.profile-grid{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.impact-section{margin:0 -12px 20px;width:calc(100% + 24px)}}.level-tabs{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:#f1f5f9;border-radius:12px;overflow-x:auto}.level-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-radius:10px;font-size:.95rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.level-tab:hover{background:#ffffff80;color:#334155}.level-tab.active{background:#fff;color:#1e293b;box-shadow:0 2px 8px #00000014}.level-tab .tab-count{background:#e2e8f0;padding:2px 8px;border-radius:12px;font-size:.8rem;color:#64748b}.level-tab.active .tab-count{background:#2563eb;color:#fff}.level-tab .limited-badge{font-size:.65rem;background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;text-transform:uppercase}.level-description{padding:12px 16px;background:#eff6ff;border-radius:8px;margin-bottom:16px;border-left:4px solid #2563eb}.level-description p{margin:0;font-size:.9rem;color:#1e40af}.level-badge{font-size:.75rem;padding:4px 8px;border-radius:6px;font-weight:500}.level-badge.federal{background:#dbeafe;color:#1d4ed8}.level-badge.state{background:#fef3c7;color:#92400e}.level-badge.local{background:#dcfce7;color:#166534}.bill-card.state-bill{border-left:4px solid #f59e0b}.bill-card.local-bill{border-left:4px solid #22c55e}.impact-quick.local{background:#dcfce7;border-color:#86efac}.local-not-available{text-align:center;padding:32px 24px}.local-not-available h3{margin:0 0 16px;font-size:1.2rem}.local-not-available .explanation{color:#64748b;margin:16px 0 12px;font-size:.9rem}.supported-cities{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0}.city-chip{background:#e2e8f0;padding:6px 12px;border-radius:20px;font-size:.85rem;color:#475569}.city-chip.more{background:#f1f5f9;color:#94a3b8}.local-not-available .hint{font-size:.85rem;color:#94a3b8;margin-top:16px}.local-not-available .supported-count{font-size:1rem;color:#64748b}.chamber-badge{font-size:.75rem;padding:3px 8px;border-radius:4px;background:#f1f5f9;color:#64748b;margin-left:8px}.type-badge{font-size:.75rem;padding:3px 8px;border-radius:4px;background:#e0e7ff;color:#4338ca}@media (prefers-color-scheme: dark){.level-tabs{background:#1e293b}.level-tab{color:#94a3b8}.level-tab:hover{background:#ffffff1a;color:#e2e8f0}.level-tab.active{background:#334155;color:#f1f5f9}.level-tab .tab-count{background:#475569;color:#cbd5e1}.level-description{background:#1e3a5f;border-color:#3b82f6}.level-description p{color:#93c5fd}.local-not-available{background:#1e293b}.city-chip{background:#334155;color:#cbd5e1}}.elections-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.elections-content{max-width:700px;margin:0 auto;padding:20px 16px}.elections-header{margin-bottom:24px}.elections-header h1{font-size:28px;color:#1e293b;margin:0 0 4px}.elections-header p{color:#64748b;font-size:14px;margin:0}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}.spinner.small{width:20px;height:20px;border-width:3px;margin:0}.fec-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:20px;font-size:12px;color:#15803d;font-weight:500}.fec-badge-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.countdown-card{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:20px;padding:28px;display:flex;align-items:center;gap:24px;margin-bottom:16px;color:#fff}.countdown-days{text-align:center;background:#ffffff26;padding:20px;border-radius:16px;min-width:100px}.days-num{display:block;font-size:48px;font-weight:800;line-height:1}.days-label{font-size:12px;opacity:.9}.countdown-info h3{font-size:20px;margin:0 0 4px}.countdown-info p{margin:0;opacity:.9}.countdown-desc{font-size:14px;margin-top:8px!important;opacity:.8}.section{margin-bottom:24px}.section h2{font-size:20px;color:#1e293b;margin:0 0 16px}.race-loading{display:flex;align-items:center;gap:12px;padding:20px;background:#fff;border-radius:16px;color:#64748b;font-size:14px}.no-data-card{background:#fff;border-radius:16px;padding:24px;text-align:center}.no-data-card p{color:#1e293b;font-size:15px;margin:0 0 8px}.no-data-hint{color:#94a3b8;font-size:13px}.elections-list{display:flex;flex-direction:column;gap:12px}.election-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f;position:relative}.election-type{font-size:11px;font-weight:600;color:#1e40af;background:#eff6ff;padding:4px 10px;border-radius:6px;display:inline-block;margin-bottom:8px}.election-card h3{font-size:17px;color:#1e293b;margin:0 0 4px}.election-card p{color:#64748b;font-size:14px;margin:0}.days-badge{position:absolute;top:20px;right:20px;background:#fef3c7;color:#92400e;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600}.races-list{display:flex;flex-direction:column;gap:16px}.race-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .2s}.race-card:hover{transform:translateY(-2px)}.race-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.race-type{font-size:11px;font-weight:600;color:#1e40af;background:#eff6ff;padding:4px 10px;border-radius:6px}.race-office{font-size:14px;color:#64748b;font-weight:500}.candidate{display:flex;align-items:center;gap:14px;padding:14px;background:#f8fafc;border-radius:12px;margin-bottom:12px}.candidate-photo{width:50px;height:50px;border-radius:50%;object-fit:cover}.candidate-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px;flex-shrink:0}.candidate-avatar.D{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.candidate-avatar.R{background:linear-gradient(135deg,#dc2626,#b91c1c)}.candidate-avatar.I{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.candidate-avatar.large{width:70px;height:70px;font-size:24px}.candidate-info{flex:1;min-width:0}.candidate-info strong{display:block;font-size:16px;color:#1e293b}.party-tag{font-size:12px;color:#64748b}.party-tag.D{color:#2563eb}.party-tag.R{color:#dc2626}.party-tag.I{color:#8b5cf6}.incumbent-star{font-size:20px;margin-left:auto;flex-shrink:0}.inline-raised{display:block;font-size:13px;color:#166534;font-weight:600;margin-top:4px}.incumbent-badge{display:inline-block;font-size:12px;color:#64748b;margin-top:4px}.race-note{font-size:13px;color:#64748b;font-style:italic;margin:0 0 12px}.learn-more-btn{width:100%;padding:12px;background:#f1f5f9;border:none;border-radius:10px;color:#1e40af;font-weight:600;font-size:14px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.race-modal{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;font-size:20px;cursor:pointer;z-index:10}.modal-header{padding:24px;border-bottom:1px solid #f1f5f9}.modal-header h2{font-size:22px;color:#1e293b;margin:8px 0}.candidate-detail{padding:24px}.candidate-header{display:flex;gap:16px;margin-bottom:24px}.candidate-photo-large{width:80px;height:80px;border-radius:50%;object-fit:cover}.candidate-header h3{font-size:20px;color:#1e293b;margin:0 0 4px}.candidate-header p{color:#64748b;font-size:14px;margin:8px 0 0}.stat-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1f5f9}.stat-row span{color:#64748b;font-size:14px}.stat-row strong{color:#1e293b;font-size:14px;font-family:monospace}.detail-section{margin-top:20px}.detail-section h4{font-size:14px;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.finance-item{background:#f8fafc;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.finance-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.finance-value{font-size:20px;font-weight:700;color:#1e293b}.finance-item.raised{background:#f0fdf4}.finance-item.raised .finance-value{color:#166534}.finance-item.spent{background:#fef2f2}.finance-item.spent .finance-value{color:#991b1b}.finance-item.cash{background:#eff6ff}.finance-item.cash .finance-value{color:#1e40af}.finance-item.donors{background:#fefce8}.finance-item.donors .finance-value{color:#854d0e}.finance-item.pac{background:#faf5ff}.finance-item.pac .finance-value{color:#7e22ce}.finance-item.self{background:#f1f5f9}.finance-bar-section{grid-column:1 / -1;padding:14px;background:#f8fafc;border-radius:12px}.finance-bar{display:flex;height:24px;border-radius:12px;overflow:hidden;margin:8px 0;background:#e2e8f0}.bar-segment{height:100%;min-width:2px;transition:width .5s ease}.bar-segment.small-donors{background:#22c55e}.bar-segment.large-donors{background:#f59e0b}.bar-segment.pac-money{background:#8b5cf6}.bar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.small-donors{background:#22c55e}.legend-dot.large-donors{background:#f59e0b}.legend-dot.pac-money{background:#8b5cf6}.finance-footnote{grid-column:1 / -1;text-align:center;color:#94a3b8;font-size:12px;margin:4px 0 0}.modal-actions{padding:0;margin-top:20px}.fec-link-btn{display:block;width:100%;padding:16px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;transition:opacity .2s}.fec-link-btn:hover{opacity:.9}.register-section{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:20px;padding:28px;text-align:center}.register-section h2{color:#166534;margin:0 0 8px}.register-section p{color:#15803d;font-size:15px;margin:0 0 20px}.register-btn{display:inline-block;background:#166534;color:#fff;padding:14px 28px;border-radius:10px;text-decoration:none;font-weight:600}.match-cta{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e40af,#3b82f6);padding:20px;border-radius:16px;margin-bottom:24px;text-decoration:none;color:#fff;transition:transform .2s}.match-cta:hover{transform:translateY(-2px)}.match-cta-content{display:flex;align-items:center;gap:16px}.match-icon{font-size:36px}.match-cta h3{font-size:18px;margin:0 0 4px}.match-cta p{font-size:14px;opacity:.9;margin:0}.match-arrow{font-size:24px;opacity:.7}.quiz-prompt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:14px;margin-bottom:16px;border:2px solid #6366f1}.quiz-prompt span{font-size:28px}.quiz-prompt p{flex:1;font-size:14px;color:#4f46e5;margin:0}.quiz-prompt a{padding:8px 16px;background:#6366f1;color:#fff;text-decoration:none;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap}.match-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:700;margin-left:auto}.match-badge.green{background:#dcfce7;color:#166534}.match-badge.blue{background:#dbeafe;color:#1e40af}.match-badge.yellow{background:#fef9c3;color:#854d0e}.match-badge.orange{background:#ffedd5;color:#9a3412}.match-badge.red{background:#fee2e2;color:#991b1b}.candidate.incumbent{display:flex;align-items:center;gap:12px}.state-selector{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.state-selector-label{font-size:13px;color:#64748b;font-weight:500;white-space:nowrap}.state-pills{display:flex;gap:8px;flex-wrap:wrap}.state-pill{padding:8px 16px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.state-pill:hover{border-color:#3b82f6;color:#1e40af}.state-pill.active{background:#1e40af;border-color:#1e40af;color:#fff}.party-filter{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.filter-btn{padding:8px 16px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{border-color:#94a3b8}.filter-btn.active{border-color:#1e40af;background:#eff6ff;color:#1e40af}.filter-btn.dem.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.filter-btn.rep.active{border-color:#dc2626;background:#fef2f2;color:#dc2626}.filter-btn.ind.active{border-color:#8b5cf6;background:#faf5ff;color:#8b5cf6}.race-card-header{display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;padding:0 0 14px;border-bottom:1px solid #f1f5f9;margin-bottom:14px}.race-card-left{flex:1;min-width:0}.race-title{font-size:18px;color:#1e293b;margin:0 0 4px}.race-holder{display:block;font-size:13px;color:#64748b;margin-bottom:4px}.race-status-tag{display:inline-block;font-size:12px;font-weight:600;color:#b45309;background:#fef3c7;padding:3px 10px;border-radius:6px;margin-top:4px}.race-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:2px}.candidate-count{background:#eff6ff;color:#1e40af;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:700}.expand-arrow{font-size:12px;color:#94a3b8;transition:transform .2s}.expand-arrow.open{transform:rotate(180deg)}.race-candidates{display:flex;flex-direction:column;gap:10px}.candidate-row{display:flex;align-items:center;gap:14px;padding:12px;background:#f8fafc;border-radius:12px;transition:background .2s}.candidate-row:hover{background:#f1f5f9}.running-mate{display:block;font-size:12px;color:#4b5563;font-style:italic}.candidate-note{display:block;font-size:12px;color:#059669;font-weight:500;margin-top:2px}.show-all-btn{width:100%;padding:10px;background:#eff6ff;border:none;border-radius:10px;color:#1e40af;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s}.show-all-btn:hover{background:#dbeafe}.no-candidates{text-align:center;color:#94a3b8;font-size:14px;padding:16px;margin:0}.race-primary-date{margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9;font-size:12px;color:#64748b;font-weight:500}.legislature-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.legislature-row{display:flex;justify-content:space-between;padding:12px 0}.legislature-row+.legislature-row{border-top:1px solid #f1f5f9}.leg-label{color:#64748b;font-size:14px}.leg-value{font-weight:700;color:#1e293b;font-size:18px}.election-card.past{opacity:.6}.election-card.past .election-type{background:#f1f5f9;color:#64748b}@media (max-width: 480px){.countdown-card{flex-direction:column;text-align:center}.finance-grid{grid-template-columns:1fr 1fr}.finance-value{font-size:18px}.bar-legend{gap:10px}.party-filter{gap:6px}.filter-btn{padding:6px 12px;font-size:12px}.state-selector{flex-direction:column;align-items:flex-start}}.election-center{min-height:100vh;background:#f1f5f9;padding-top:56px;padding-bottom:100px}.ec-content{max-width:700px;margin:0 auto;padding:20px 16px}.ec-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ec-header h1{font-size:28px;margin:0 0 4px;color:#1e293b}.ec-header p{color:#64748b;margin:0}.ec-countdown{text-align:center;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:12px 20px;border-radius:12px}.countdown-number{font-size:32px;font-weight:700}.countdown-label{font-size:11px;opacity:.9}.ec-dates{display:flex;gap:12px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.date-card{flex:1;min-width:100px;background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #0000000f}.date-icon{font-size:24px}.date-label{font-size:11px;color:#64748b}.date-value{font-size:13px;font-weight:600;color:#1e293b}.register-btn{display:block;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;text-align:center;padding:14px 20px;border-radius:12px;text-decoration:none;font-weight:600;margin-bottom:20px;box-shadow:0 4px 12px #2563eb4d}.race-tabs{display:flex;gap:8px;margin-bottom:20px}.race-tabs button{flex:1;padding:12px;border:none;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.race-tabs button.active{background:#1e40af;color:#fff}.values-section{background:#fff;border-radius:16px;padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.values-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.values-header h3{margin:0;font-size:16px}.values-btn{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:13px;cursor:pointer}.values-summary{display:flex;flex-wrap:wrap;gap:8px}.value-chip{background:#eff6ff;color:#1e40af;padding:4px 10px;border-radius:20px;font-size:12px}.value-chip.more{background:#f1f5f9;color:#64748b}.values-quiz{margin-top:16px}.quiz-intro{font-size:13px;color:#64748b;margin-bottom:16px}.issue-row{padding:12px 0;border-bottom:1px solid #f1f5f9}.issue-name{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:8px}.position-slider{display:flex;align-items:center;gap:12px}.position-slider input{flex:1;height:6px;-webkit-appearance:none;background:linear-gradient(to right,#dc2626,#f59e0b,#10b981);border-radius:3px}.position-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#fff;border:2px solid #1e40af;border-radius:50%;cursor:pointer}.slider-label{font-size:10px;color:#94a3b8;width:70px}.slider-label.right{text-align:right}.importance-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#64748b}.imp-btn{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;border-radius:50%;font-size:12px;cursor:pointer}.imp-btn.active{background:#1e40af;color:#fff;border-color:#1e40af}.save-values-btn{width:100%;padding:12px;background:#1e40af;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px}.incumbent-notice{background:#fef3c7;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:20px}.not-running{color:#92400e}.candidates-section{margin-bottom:20px}.candidates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.candidates-header h3{margin:0;font-size:18px}.compare-toggle{padding:8px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;font-size:13px;cursor:pointer}.compare-toggle.active{background:#1e40af;color:#fff;border-color:#1e40af}.party-group{margin-bottom:16px}.party-label{font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;margin-bottom:8px}.party-label.dem{background:#dbeafe;color:#1e40af}.party-label.rep{background:#fee2e2;color:#dc2626}.party-label.ind{background:#f3e8ff;color:#7c3aed}.candidate-card{background:#fff;border-radius:12px;margin-bottom:8px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.candidate-card.selected{border:2px solid #1e40af}.candidate-main{display:flex;align-items:center;padding:12px;gap:12px;cursor:pointer}.candidate-photo{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0}.candidate-photo img{width:100%;height:100%;object-fit:cover}.initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:#fff}.initials.D{background:#2563eb}.initials.R{background:#dc2626}.initials.I{background:#7c3aed}.candidate-info{flex:1}.candidate-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}.party-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.party-badge.D{background:#dbeafe;color:#1e40af}.party-badge.R{background:#fee2e2;color:#dc2626}.party-badge.I{background:#f3e8ff;color:#7c3aed}.candidate-role{font-size:13px;color:#64748b}.candidate-status{font-size:12px;color:#10b981;margin-top:2px}.candidate-status.exploring{color:#f59e0b}.match-score{text-align:center;padding:8px 12px;border-radius:10px;min-width:60px}.match-score.high{background:#dcfce7;color:#166534}.match-score.med{background:#fef3c7;color:#92400e}.match-score.low{background:#fee2e2;color:#991b1b}.match-number{font-size:20px;font-weight:700}.match-label{font-size:10px}.candidate-positions{padding:16px;border-top:1px solid #f1f5f9;background:#fafafa}.candidate-positions h5{margin:0 0 12px;font-size:14px}.position-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.position-row:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.position-issue{font-size:13px;font-weight:500}.position-score{font-size:11px;padding:2px 8px;border-radius:10px;margin-left:8px}.position-score.score-1{background:#fee2e2;color:#991b1b}.position-score.score-2{background:#ffedd5;color:#9a3412}.position-score.score-3{background:#fef3c7;color:#92400e}.position-score.score-4{background:#d1fae5;color:#065f46}.position-score.score-5{background:#dbeafe;color:#1e40af}.position-summary{font-size:13px;color:#64748b;margin:4px 0 0}.candidate-website{display:inline-block;margin-top:12px;color:#2563eb;font-size:13px;text-decoration:none}.data-notice{background:#f1f5f9;border-radius:12px;padding:16px;font-size:12px;color:#64748b}.data-notice p{margin:4px 0}.ec-note{color:#64748b;font-size:14px}.candidate-match-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-bottom:100px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.quiz-container{max-width:600px;margin:0 auto;padding:80px 16px 20px}.quiz-header{text-align:center;margin-bottom:24px}.quiz-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.quiz-header p{color:#64748b;font-size:15px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .3s ease}.progress-text{text-align:center;font-size:14px;color:#64748b;margin-bottom:24px}.question-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #00000014}.question-card h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 20px;line-height:1.4}.options{display:flex;flex-direction:column;gap:12px}.option-btn{padding:16px 20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:14px;font-size:15px;text-align:left;color:#334155;cursor:pointer;transition:all .2s;line-height:1.4}.option-btn:hover{border-color:#6366f1;background:#eef2ff}.option-btn:active{transform:scale(.98)}.skip-btn{display:block;margin:20px auto 0;padding:12px 24px;background:transparent;border:none;color:#64748b;font-size:14px;cursor:pointer}.skip-btn:hover{color:#6366f1}.results-container{max-width:600px;margin:0 auto;padding:80px 16px 20px}.results-header{text-align:center;margin-bottom:24px}.results-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.results-header p{color:#64748b;font-size:15px;margin-bottom:12px}.retake-btn{padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#64748b;cursor:pointer;transition:all .2s}.retake-btn:hover{background:#e2e8f0;color:#6366f1}.matches-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.no-matches{text-align:center;padding:40px 20px;background:#fff;border-radius:16px}.match-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 4px 16px #0000000f;cursor:pointer;transition:all .3s;position:relative}.match-card:hover{box-shadow:0 8px 24px #0000001a}.match-card.expanded{box-shadow:0 8px 32px #6366f126}.rank-badge{position:absolute;top:-8px;left:16px;background:#1e293b;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700}.match-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.rep-identity{display:flex;gap:14px;align-items:center}.rep-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}.rep-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.rep-avatar.democrat{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.rep-avatar.republican{background:linear-gradient(135deg,#ef4444,#b91c1c)}.rep-details h3{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.rep-title{font-size:14px;color:#64748b;margin:0}.rep-title.dem{color:#2563eb}.rep-title.rep{color:#dc2626}.match-score{text-align:right}.score-circle{font-size:24px;font-weight:800;margin-bottom:4px}.score-circle.green{color:#16a34a}.score-circle.blue{color:#2563eb}.score-circle.yellow{color:#ca8a04}.score-circle.orange{color:#ea580c}.score-circle.red{color:#dc2626}.match-label{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.match-label.green{background:#dcfce7;color:#166534}.match-label.blue{background:#dbeafe;color:#1e40af}.match-label.yellow{background:#fef9c3;color:#854d0e}.match-label.orange{background:#ffedd5;color:#9a3412}.match-label.red{background:#fee2e2;color:#991b1b}.rep-bio{font-size:14px;color:#64748b;line-height:1.5;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.match-details{margin-top:16px;padding-top:16px;border-top:2px solid #f1f5f9}.position-section{margin-bottom:16px}.position-section h4{font-size:14px;font-weight:600;color:#475569;margin:0 0 10px}.position-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.tag.agree{background:#dcfce7;color:#166534}.tag.disagree{background:#fee2e2;color:#991b1b}.tag.focus{background:#e0e7ff;color:#3730a3}.website-link{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;text-decoration:none;font-size:14px;margin-top:8px;transition:all .2s}.website-link:hover{background:#e2e8f0;color:#6366f1}.expand-indicator{text-align:center;padding-top:12px;font-size:13px;color:#94a3b8;font-weight:500}.match-legend{background:#fff;border-radius:16px;padding:16px;text-align:center}.match-legend h4{font-size:14px;font-weight:600;color:#64748b;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.legend-item{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.legend-item.green{background:#dcfce7;color:#166534}.legend-item.blue{background:#dbeafe;color:#1e40af}.legend-item.yellow{background:#fef9c3;color:#854d0e}.legend-item.orange{background:#ffedd5;color:#9a3412}.legend-item.red{background:#fee2e2;color:#991b1b}@media (max-width: 480px){.match-header{flex-direction:column;gap:12px}.match-score{text-align:left;display:flex;align-items:center;gap:12px}.score-circle{margin-bottom:0}}.my-ballot{min-height:100vh;background:#f8f9fa}.ballot-content{max-width:650px;margin:0 auto;padding:1rem;padding-bottom:100px}.ballot-header{text-align:center;padding:1.5rem 0}.ballot-header h1{margin:0;font-size:1.75rem}.ballot-header p{margin:.25rem 0 0;color:#64748b}.zip-input-group{display:flex;gap:.5rem}.zip-input{flex:1;padding:.875rem 1rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:12px;outline:none;transition:border-color .2s}.zip-submit{padding:.875rem 1.25rem;background:#4f46e5;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;white-space:nowrap}.location-display{margin:.75rem 0 0;text-align:center;color:#64748b;font-size:.9rem}.ballot-error{padding:.75rem 1rem;background:#fee2e2;color:#b91c1c;border-radius:8px;margin-bottom:1rem;text-align:center}.ballot-loading{text-align:center;padding:3rem}.date-label{display:block;font-size:.75rem;opacity:.8}.date-value{display:block;font-size:1.1rem;font-weight:700}.countdown{text-align:center}.countdown-number{display:block;font-size:2rem;font-weight:800;line-height:1}.countdown-label{font-size:.7rem;opacity:.8}.registration-card{padding:1rem 1.25rem;background:#fef3c7;border-radius:12px;margin-bottom:1rem}.registration-card h3{margin:0 0 .5rem;font-size:1rem}.registration-card p{margin:0 0 .75rem;font-size:.9rem;color:#78350f}.check-registration-btn{display:inline-block;padding:.5rem 1rem;background:#f59e0b;color:#fff;text-decoration:none;border-radius:8px;font-size:.85rem;font-weight:600}.ballot-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.ballot-tabs .tab{flex:1;padding:.75rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:.9rem;cursor:pointer;transition:all .2s}.ballot-tabs .tab:hover{border-color:#4f46e5}.ballot-tabs .tab.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.races-section{display:flex;flex-direction:column;gap:.75rem}.no-races{text-align:center;padding:2rem;color:#64748b;background:#fff;border-radius:12px}.race-type{font-size:.75rem;color:#64748b}.incumbent-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:0 1.25rem 1rem;font-size:.85rem}.incumbent-label{color:#64748b}.incumbent-name{font-weight:600}.party-tag{padding:.125rem .375rem;border-radius:4px;font-size:.7rem;font-weight:600}.party-tag.d{background:#dbeafe;color:#1d4ed8}.party-tag.r{background:#fee2e2;color:#b91c1c}.party-tag.i{background:#f3e8ff;color:#7c3aed}.running-status{font-size:.75rem;color:#64748b}.candidates-list{padding:1rem 1.25rem;border-top:1px solid #f1f5f9;background:#fafbfc}.candidates-list h4{margin:0 0 .75rem;font-size:.85rem;color:#64748b}.candidate-card{padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem;border:1px solid #e5e7eb}.candidate-main{display:flex;align-items:center;gap:.5rem}.candidate-name{font-weight:600}.status-badge{display:inline-block;padding:.125rem .375rem;border-radius:4px;font-size:.65rem;font-weight:600;margin-left:.5rem}.status-badge.declared{background:#d1fae5;color:#047857}.status-badge.exploring{background:#fef3c7;color:#b45309}.candidate-role{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.candidate-link{display:inline-block;margin-top:.5rem;font-size:.8rem;color:#4f46e5}.no-candidates{color:#94a3b8;font-size:.85rem;font-style:italic}.filing-deadline{margin:.75rem 0 0;font-size:.75rem;color:#94a3b8}.match-cta{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;text-align:center}.match-cta h3{margin:0 0 .25rem}.match-cta p{margin:0 0 1rem;color:#166534;font-size:.9rem}.match-btn{display:inline-block;padding:.75rem 1.5rem;background:#22c55e;color:#fff;text-decoration:none;border-radius:10px;font-weight:600}.ballot-footer{text-align:center;padding:1.5rem;color:#94a3b8;font-size:.8rem}.disclaimer{margin-top:.5rem;font-style:italic}.empty-state{text-align:center;padding:3rem 1rem}.empty-state h2{margin:0 0 .5rem}.empty-state p{color:#64748b}.external-link{display:inline-block;margin-top:.5rem;color:#4f46e5;text-decoration:none}@media (prefers-color-scheme: dark){.my-ballot{background:#0f0f1a}.zip-input{background:#1a1a2e;border-color:#3a3a5e;color:#fff}.race-card,.candidate-card{background:#1a1a2e;border-color:#3a3a5e}.race-header:hover{background:#2a2a4e}.candidates-list{background:#151525}.registration-card{background:#2a2a3e}.registration-card p{color:#fcd34d}}@media (max-width: 480px){.zip-input-group{flex-direction:column}.zip-submit{width:100%}.ballot-tabs .tab{padding:.625rem;font-size:.8rem}}.infeed-ad-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;position:relative}.ad-label{position:absolute;top:8px;right:8px;font-size:.7rem;color:#888;background:#ffffffe6;padding:2px 8px;border-radius:4px;z-index:1}.infeed-ad{min-height:100px}.test-mode{border:2px dashed #ddd}.test-ad{display:flex;align-items:center;gap:1rem;padding:1rem}.test-ad-icon{font-size:2rem;flex-shrink:0}.test-ad-content{flex:1}.test-ad-headline{font-weight:600;font-size:1rem;color:#333;margin-bottom:.25rem}.test-ad-text{font-size:.9rem;color:#666;line-height:1.4}.test-ad-cta{font-size:.85rem;color:#4f46e5;font-weight:500;margin-top:.5rem}.infeed-ad-container.style-2 .test-ad{flex-direction:column;text-align:center}.infeed-ad-container.style-2 .test-ad-icon{font-size:2.5rem}@media (prefers-color-scheme: dark){.infeed-ad-container{background:#2a2a4e}.test-mode{border-color:#444}.test-ad-headline{color:#fff}.test-ad-text{color:#aaa}.ad-label{background:#00000080;color:#aaa}}@media (max-width: 480px){.test-ad{padding:.75rem}.test-ad-icon{font-size:1.5rem}}.ballot-match{min-height:100vh;background:#f8f9fa}.bm-content{max-width:700px;margin:0 auto;padding:1rem;padding-bottom:100px}.bm-header{text-align:center;padding:1.5rem 0}.bm-header h1{margin:0;font-size:1.75rem}.bm-header p{margin:.25rem 0 0;color:#64748b}.zip-input:focus{border-color:#4f46e5}.zip-btn{padding:.875rem 1.25rem;background:#4f46e5;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer}.location-info{margin:.75rem 0 0;text-align:center;color:#64748b;font-size:.9rem}.bm-error{padding:.75rem 1rem;background:#fef3c7;color:#92400e;border-radius:8px;margin-bottom:1rem;text-align:center}.bm-loading{text-align:center;padding:3rem}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.election-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;color:#fff;margin-bottom:1rem}.election-label{display:block;font-size:.75rem;opacity:.8}.election-date{display:block;font-size:1.1rem;font-weight:700}.days-until{text-align:center}.days-number{display:block;font-size:2rem;font-weight:800;line-height:1}.days-label{font-size:.7rem;opacity:.8}.main-ad{margin-bottom:1rem;border-radius:12px;overflow:hidden}.filter-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:10px;margin-bottom:1rem;overflow-x:auto}.filter-label{font-size:.85rem;color:#64748b;white-space:nowrap}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;background:#f1f5f9;border:none;border-radius:20px;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s}.filter-btn:hover{background:#e2e8f0}.filter-btn.active{background:#4f46e5;color:#fff}.filter-btn.party-d.active{background:#2563eb}.filter-btn.party-r.active{background:#dc2626}.quiz-cta{padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;text-align:center;margin-bottom:1rem}.quiz-cta h3{margin:0 0 .5rem}.quiz-cta p{margin:0 0 1rem;color:#166534}.quiz-btn{padding:.875rem 2rem;background:#22c55e;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.unlock-cta{padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;text-align:center;margin-bottom:1rem}.unlock-cta h3{margin:0 0 .5rem;color:#92400e}.unlock-cta p{margin:0 0 1rem;color:#78350f}.unlock-btn{padding:.875rem 2rem;background:#f59e0b;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.unlock-btn:disabled{opacity:.7}.ad-progress{height:6px;background:#0000001a;border-radius:3px;margin-top:1rem;overflow:hidden}.ad-progress-bar{height:100%;background:#f59e0b;transition:width .3s}.premium-note{margin:.75rem 0 0;font-size:.8rem;color:#92400e}.races-list{display:flex;flex-direction:column;gap:1rem}.race-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.race-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.race-header:hover{background:#f8f9fa}.race-info h3{margin:0;font-size:1rem}.candidate-count{font-size:.8rem;color:#64748b}.expand-icon{font-size:1.5rem;color:#94a3b8}.race-content{padding:0 1.25rem 1.25rem;border-top:1px solid #f1f5f9}.incumbent-row{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.9rem;color:#64748b}.candidates-grid{display:flex;flex-direction:column;gap:.75rem}.candidate-card{padding:1rem;background:#f8f9fa;border-radius:10px;border:2px solid transparent;transition:all .2s}.candidate-card.top-match{border-color:#22c55e;background:#f0fdf4}.match-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.match-badge.excellent{background:#dcfce7;color:#166534}.match-badge.good{background:#fef9c3;color:#854d0e}.match-badge.moderate{background:#fed7aa;color:#9a3412}.match-badge.low{background:#fee2e2;color:#b91c1c}.match-badge.locked{background:#e5e7eb;color:#6b7280}.best-label{display:block;font-size:.65rem;margin-top:.125rem}.candidate-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.candidate-name{font-weight:600;font-size:1rem}.party-badge,.party-tag{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.party-badge.d,.party-tag.d{background:#dbeafe;color:#1d4ed8}.party-badge.r,.party-tag.r{background:#fee2e2;color:#b91c1c}.party-badge.i,.party-tag.i{background:#f3e8ff;color:#7c3aed}.candidate-role{margin:.25rem 0 0;font-size:.85rem;color:#64748b}.status-tag{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;margin-top:.5rem}.status-tag.declared{background:#d1fae5;color:#047857}.status-tag.exploring{background:#fef3c7;color:#b45309}.status-tag.incumbent{background:#dbeafe;color:#1e40af}.match-details{margin-top:.75rem}.toggle-details{padding:.5rem 0;background:none;border:none;color:#4f46e5;font-size:.85rem;cursor:pointer}.details-content{margin-top:.5rem;padding:.75rem;background:#fff;border-radius:8px}.issue-match{padding:.5rem 0;border-bottom:1px solid #f1f5f9}.issue-match:last-child{border-bottom:none}.issue-header{display:flex;justify-content:space-between;align-items:center}.issue-name{font-weight:500;font-size:.85rem}.issue-score{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.issue-score.excellent{background:#dcfce7;color:#166534}.issue-score.good{background:#fef9c3;color:#854d0e}.issue-score.moderate{background:#fed7aa;color:#9a3412}.issue-score.low{background:#fee2e2;color:#b91c1c}.issue-summary{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.take-quiz-btn{margin-top:.75rem;padding:.5rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.candidate-website{display:inline-block;margin-top:.5rem;font-size:.8rem;color:#4f46e5}.no-candidates{text-align:center;padding:1rem;color:#94a3b8}.quiz-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.quiz-modal{width:100%;max-width:450px;background:#fff;border-radius:16px;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.quiz-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9}.quiz-header h3{margin:0;font-size:1rem}.quiz-progress{font-size:.8rem;color:#64748b}.close-quiz{width:32px;height:32px;background:#f1f5f9;border:none;border-radius:50%;font-size:1.25rem;cursor:pointer}.quiz-content{padding:2rem 1.25rem;text-align:center}.quiz-icon{font-size:3rem;margin-bottom:1rem}.quiz-content h4{margin:0 0 .5rem;font-size:1.25rem}.quiz-content p{margin:0 0 1.5rem;color:#64748b}.position-options{display:flex;flex-direction:column;gap:.5rem}.position-btn{padding:.875rem 1rem;background:#f8f9fa;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;cursor:pointer;transition:all .2s}.position-btn:hover{border-color:#4f46e5;background:#f0f0ff}.position-btn.selected{border-color:#4f46e5;background:#4f46e5;color:#fff}.quiz-footer{padding:1rem 1.25rem}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#4f46e5;transition:width .3s}.bottom-cta{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:12px;text-align:center}.bottom-cta h3{margin:0 0 .75rem}.action-link{color:#4f46e5;font-weight:600;text-decoration:none}@media (prefers-color-scheme: dark){.ballot-match{background:#0f0f1a}.zip-input{background:#1a1a2e;border-color:#3a3a5e;color:#fff}.filter-bar,.race-card,.bottom-cta{background:#1a1a2e}.filter-btn{background:#2a2a4e;color:#fff}.candidate-card{background:#2a2a4e}.quiz-modal{background:#1a1a2e;color:#fff}.position-btn{background:#2a2a4e;border-color:#3a3a5e;color:#fff}}@media (max-width: 480px){.zip-group{flex-direction:column}.zip-btn{width:100%}.filter-bar{flex-direction:column;align-items:stretch}.filter-buttons{overflow-x:auto;padding-bottom:.5rem}}.action-center{min-height:100vh;background:#f8f9fa}.action-content{max-width:800px;margin:0 auto;padding:1rem}.action-header{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-radius:16px;margin-bottom:1.5rem}.action-header h1{margin:0;font-size:2rem}.action-header p{margin:.5rem 0 0;opacity:.9}.zip-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.zip-form input{flex:1;padding:1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1.1rem;text-align:center}.zip-form input:focus{border-color:#4f46e5;outline:none}.zip-form button{padding:1rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.zip-form button:hover:not(:disabled){background:#4338ca}.zip-form button:disabled{background:#9ca3af}.user-info-section{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.user-info-section h3{margin:0 0 .75rem;font-size:1rem}.user-info-form{display:flex;gap:.5rem;flex-wrap:wrap}.user-info-form input{flex:1;min-width:200px;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px}.quick-actions{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.quick-actions h3{margin:0 0 .5rem}.call-tip{font-size:.9rem;color:#666;margin-bottom:1rem}.reps-list{display:flex;flex-direction:column;gap:.75rem}.rep-call-btn{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;text-decoration:none;transition:all .2s}.rep-call-btn:hover{transform:translate(5px);box-shadow:0 4px 12px #10b9814d}.rep-icon{font-size:1.5rem}.rep-info{flex:1;display:flex;flex-direction:column}.rep-info strong{font-size:1.1rem}.rep-info span{font-size:.9rem;opacity:.9}.call-icon{font-size:1.5rem}.petitions-section{margin-bottom:1.5rem}.petitions-section h3{margin:0 0 .25rem}.petitions-section>p{color:#666;margin-bottom:1rem}.petition-grid{display:flex;flex-direction:column;gap:.75rem}.petition-card{background:#fff;border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s;border:2px solid transparent}.petition-card:hover{border-color:#e5e7eb}.petition-card.active{border-color:#4f46e5}.petition-header{display:flex;align-items:center;gap:.75rem}.petition-icon{font-size:1.5rem}.petition-header h4{margin:0;font-size:1.1rem}.petition-desc{margin:.5rem 0 0;color:#666;font-size:.9rem}.petition-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.action-box{margin-bottom:1rem}.action-box h5{margin:0 0 .5rem;font-size:.9rem;color:#666}.action-box textarea{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.85rem;resize:none;background:#f8f9fa}.action-box button{margin-top:.5rem;padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem}.action-box button:hover{background:#4338ca}.call-script{background:#f0fdf4;padding:1rem;border-radius:8px;font-size:.9rem;line-height:1.5;border-left:4px solid #10b981}.call-now-btn{display:inline-block;margin-top:.75rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:8px;text-decoration:none;font-weight:600}.call-now-btn:hover{transform:scale(1.02)}.action-status{background:#dcfce7;color:#166534;padding:.75rem;border-radius:8px;text-align:center;font-weight:500}.donate-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.donate-section h3{margin:0 0 .25rem}.donate-section>p{color:#666;margin-bottom:1rem}.donate-platforms{display:flex;gap:1rem;flex-wrap:wrap}.donate-btn{flex:1;min-width:150px;display:flex;flex-direction:column;align-items:center;padding:1.25rem;border-radius:12px;text-decoration:none;color:#fff;font-weight:600;transition:all .2s}.donate-btn.actblue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.donate-btn.winred{background:linear-gradient(135deg,#dc2626,#b91c1c)}.donate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.party-tag{font-size:.75rem;font-weight:400;opacity:.8;margin-top:.25rem}.donate-note{margin-top:1rem;font-size:.85rem;color:#666}.register-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.register-section h3{margin:0 0 1rem}.register-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.register-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#f8f9fa;border:2px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#333;font-weight:500;transition:all .2s}.register-btn:hover{border-color:#4f46e5;background:#f5f3ff}.newsletter-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.newsletter-section.success{text-align:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.success-icon{font-size:3rem;display:block;margin-bottom:.5rem}.newsletter-section h3{margin:0 0 .25rem}.newsletter-section>p{color:#666;margin-bottom:1rem}.newsletter-form{display:flex;flex-direction:column;gap:1rem}.newsletter-form input[type=email]{padding:1rem;border:2px solid #fbbf24;border-radius:8px;font-size:1rem}.topic-select label,.frequency-select label{display:block;font-size:.9rem;color:#666;margin-bottom:.5rem}.topic-options{display:flex;flex-wrap:wrap;gap:.5rem}.topic-btn{padding:.5rem .75rem;border:2px solid #fbbf24;border-radius:20px;background:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.topic-btn.active{background:#fbbf24;color:#78350f}.frequency-select select{width:100%;padding:.75rem;border:2px solid #fbbf24;border-radius:8px;background:#fff;font-size:1rem}.subscribe-btn{padding:1rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer}.subscribe-btn:hover{background:#4338ca}.privacy-note{text-align:center;font-size:.8rem;color:#666;margin-top:.5rem}.impact-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.impact-section h3{margin:0 0 1rem;text-align:center}.impact-stats{display:flex;justify-content:center;gap:2rem}.impact-stat{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:800;color:#4f46e5}.stat-label{font-size:.85rem;color:#666}@media (max-width: 600px){.register-actions{grid-template-columns:1fr}.donate-platforms{flex-direction:column}.impact-stats{gap:1rem}.stat-number{font-size:2rem}}@media (prefers-color-scheme: dark){.action-center{background:#0f0f1a}.quick-actions,.petition-card,.donate-section,.register-section,.impact-section,.user-info-section{background:#1a1a2e;color:#fff}.petition-desc,.call-tip,.donate-note{color:#aaa}.register-btn,.action-box textarea{background:#2a2a4e;border-color:#3a3a5e;color:#fff}}.modern-news-feed{display:flex;flex-direction:column;gap:16px}.modern-news-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px}.modern-news-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.modern-news-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.modern-news-card:hover{box-shadow:0 4px 16px #0000001a}.news-image-wrapper{display:block;position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#f3f4f6}.news-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.modern-news-card:hover .news-image{transform:scale(1.03)}.source-badge{position:absolute;top:12px;right:12px;padding:4px 10px;background:#000000b3;color:#fff;font-size:.7rem;font-weight:600;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reaction-overlay{position:absolute;bottom:12px;left:12px;display:flex;gap:8px}.reaction-trigger,.comment-trigger{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#fffffff2;border:none;border-radius:24px;cursor:pointer;font-size:1rem;box-shadow:0 2px 8px #00000026;transition:all .2s}.reaction-trigger:hover,.comment-trigger:hover{transform:scale(1.05);background:#fff}.reaction-trigger.active{background:#4f46e5;color:#fff}.reaction-count,.comment-count{font-size:.75rem;font-weight:600;color:#374151}.reaction-trigger.active .reaction-count{color:#fff}.reaction-picker{position:absolute;bottom:50px;left:0;display:flex;gap:4px;padding:8px 12px;background:#fff;border-radius:30px;box-shadow:0 4px 20px #0003;animation:popUp .2s ease-out;z-index:10}@keyframes popUp{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.picker-btn{width:40px;height:40px;border:none;background:transparent;font-size:1.4rem;cursor:pointer;border-radius:50%;transition:transform .15s,background .15s}.picker-btn:hover{transform:scale(1.3);background:#f3f4f6}.picker-btn.selected{background:#e0e7ff}.news-content{padding:14px 16px}.news-title-link{text-decoration:none;color:inherit}.news-title{margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.35;color:#1f2937;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-title-link:hover .news-title{color:#4f46e5}.news-time{font-size:.75rem;color:#9ca3af}.comments-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s}.comments-modal{background:#fff;width:100%;max-width:500px;max-height:80vh;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6}.modal-header h4{margin:0;font-size:1.1rem}.modal-header .close-btn{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-article-preview{display:flex;gap:12px;padding:12px 20px;background:#f9fafb;align-items:center}.modal-article-preview img{width:60px;height:45px;object-fit:cover;border-radius:8px}.modal-article-preview p{margin:0;font-size:.85rem;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.comments-list{flex:1;overflow-y:auto;padding:16px 20px;min-height:150px}.no-comments{text-align:center;color:#9ca3af;padding:30px}.comment-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.comment-item:last-child{border-bottom:none}.comment-item strong{font-size:.9rem;color:#374151}.comment-item p{margin:4px 0;font-size:.9rem;color:#4b5563}.comment-item .comment-time{font-size:.7rem;color:#9ca3af}.comment-input-area{display:flex;gap:10px;padding:12px 20px;border-top:1px solid #f3f4f6;background:#fff}.comment-input-area input{flex:1;padding:12px 16px;border:1px solid #e5e7eb;border-radius:24px;font-size:.9rem;outline:none}.comment-input-area input:focus{border-color:#4f46e5}.comment-input-area button{padding:12px 20px;background:#4f46e5;color:#fff;border:none;border-radius:24px;font-weight:600;cursor:pointer;transition:background .2s}.comment-input-area button:hover{background:#4338ca}@media (prefers-color-scheme: dark){.modern-news-card{background:#1e1e2e}.news-title{color:#fff}.reaction-trigger,.comment-trigger{background:#1e1e32f2;color:#fff}.reaction-count,.comment-count{color:#d1d5db}.reaction-picker{background:#2a2a4e}.picker-btn:hover{background:#3a3a5e}.comments-modal{background:#1e1e2e}.modal-article-preview{background:#2a2a4e}}@media (max-width: 480px){.modern-news-card{border-radius:12px}.reaction-trigger,.comment-trigger{padding:6px 10px;font-size:.9rem}.picker-btn{width:36px;height:36px;font-size:1.2rem}.news-content{padding:12px 14px}.news-title{font-size:.95rem}}.news-page{min-height:100vh;background:#f8fafc}.news-page-content{max-width:600px;margin:0 auto;padding:20px 16px 100px}.news-hero{text-align:center;margin-bottom:24px;padding:16px}.news-hero h1{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:#1f2937}.news-hero p{margin:0;color:#6b7280;font-size:.9rem}@media (prefers-color-scheme: dark){.news-page{background:#0f0f1a}.news-hero h1{color:#fff}.news-hero p{color:#9ca3af}}@media (max-width: 480px){.news-page-content{padding:16px 12px 80px}.news-hero{padding:12px;margin-bottom:16px}.news-hero h1{font-size:1.3rem}}.events-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:1px solid #93c5fd;border-radius:12px;margin-bottom:16px;text-decoration:none}.events-banner-icon{font-size:24px}.events-banner-text{display:flex;flex-direction:column;flex:1}.events-banner-text strong{font-size:14px;color:#1e40af}.events-banner-text span{font-size:12px;color:#3730a3}.events-banner-arrow{font-size:18px;color:#2563eb}@media (prefers-color-scheme: dark){.events-banner{background:linear-gradient(135deg,#1e3a5f,#312e81);border-color:#3b82f6}.events-banner-text strong{color:#93c5fd}.events-banner-text span{color:#a5b4fc}.events-banner-arrow{color:#60a5fa}}.events-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.events-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.events-header{margin-bottom:20px}.events-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.events-subtitle{font-size:14px;color:#64748b;margin:0}.no-location-card{background:#fff;border:2px dashed #e2e8f0;border-radius:16px;padding:40px 20px;text-align:center}.no-location-icon{font-size:48px;margin-bottom:12px}.no-location-card h2{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.no-location-card p{font-size:14px;color:#64748b;margin:0 0 16px}.setup-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;text-decoration:none;border-radius:10px;font-weight:600;font-size:14px}.loading-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:40px 20px;text-align:center}.loading-spinner{font-size:32px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.filter-row::-webkit-scrollbar{display:none}.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:13px;color:#64748b;white-space:nowrap;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#cbd5e1}.filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.events-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.event-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.event-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;margin-bottom:10px}.event-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px;line-height:1.3}.event-description{font-size:14px;color:#64748b;margin:0 0 12px;line-height:1.5}.event-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.event-date,.event-recurring,.event-location{font-size:13px;color:#475569}.event-actions{display:flex;gap:10px;margin-bottom:8px}.event-link{padding:8px 14px;background:#eff6ff;color:#2563eb;text-decoration:none;border-radius:8px;font-size:13px;font-weight:500}.remind-btn{padding:8px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#64748b;cursor:pointer}.event-source{font-size:11px;color:#94a3b8}.no-events-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:30px 20px;text-align:center}.no-events-card p{font-size:14px;color:#64748b;margin:0}.no-events-card .hint{font-size:13px;color:#94a3b8;margin-top:8px}.submit-event-card{background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:1px solid #93c5fd;border-radius:14px;padding:20px;text-align:center;margin-bottom:16px}.submit-event-card h3{font-size:16px;font-weight:600;color:#1e40af;margin:0 0 4px}.submit-event-card p{font-size:13px;color:#3730a3;margin:0 0 12px}.submit-btn{padding:10px 20px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.info-card{background:#fefce8;border:1px solid #fde047;border-radius:14px;padding:16px}.info-card h3{font-size:14px;font-weight:600;color:#854d0e;margin:0 0 8px}.info-card p{font-size:13px;color:#a16207;margin:0;line-height:1.5}@media (prefers-color-scheme: dark){.events-page{background:#0f172a}.events-header h1{color:#f1f5f9}.events-subtitle{color:#94a3b8}.no-location-card{background:#1e293b;border-color:#334155}.no-location-card h2{color:#f1f5f9}.no-location-card p{color:#94a3b8}.loading-card{background:#1e293b;border-color:#334155;color:#f1f5f9}.filter-btn{background:#1e293b;border-color:#334155;color:#94a3b8}.filter-btn:hover{border-color:#475569}.filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.event-card{background:#1e293b;border-color:#334155}.event-title{color:#f1f5f9}.event-description{color:#94a3b8}.event-date,.event-recurring,.event-location{color:#cbd5e1}.event-link{background:#1e3a5f;color:#60a5fa}.remind-btn{background:#334155;border-color:#475569;color:#94a3b8}.event-source{color:#64748b}.no-events-card{background:#1e293b;border-color:#334155}.submit-event-card{background:linear-gradient(135deg,#1e3a5f,#312e81);border-color:#3b82f6}.submit-event-card h3{color:#93c5fd}.submit-event-card p{color:#a5b4fc}.info-card{background:#422006;border-color:#a16207}.info-card h3{color:#fde047}.info-card p{color:#fcd34d}}.create-post-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.create-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.create-header h1{font-size:18px;color:#1e293b;margin:0}.cancel-btn{background:none;border:none;color:#64748b;font-size:16px;cursor:pointer}.post-btn{background:#1e40af;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:600;font-size:15px;cursor:pointer}.post-btn:disabled{background:#94a3b8;cursor:not-allowed}.create-content{max-width:600px;margin:0 auto;padding:20px 16px}.post-type-toggle{display:flex;background:#e2e8f0;border-radius:12px;padding:4px;margin-bottom:20px}.post-type-toggle button{flex:1;padding:12px;border:none;background:transparent;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.post-type-toggle button.active{background:#fff;box-shadow:0 2px 8px #0000001a}.text-input-section{position:relative;margin-bottom:20px}.text-input-section textarea{width:100%;padding:16px;border:2px solid #e2e8f0;border-radius:16px;font-size:16px;line-height:1.6;resize:none;font-family:inherit}.text-input-section textarea:focus{outline:none;border-color:#1e40af}.char-count{position:absolute;bottom:12px;right:16px;font-size:12px;color:#94a3b8}.video-section{margin-bottom:20px}.video-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.video-option{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:#fff;border:2px dashed #cbd5e1;border-radius:16px;cursor:pointer;transition:all .2s}.video-option:hover{border-color:#1e40af;background:#eff6ff}.option-icon{font-size:32px;margin-bottom:8px}.video-option span:nth-child(2){font-weight:600;color:#1e293b;margin-bottom:4px}.option-sub{font-size:12px;color:#64748b}.recording-container{position:relative}.video-preview{width:100%;border-radius:16px;background:#1e293b}.recording-indicator{position:absolute;top:16px;left:16px;background:#dc2626e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.rec-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:blink 1s infinite}@keyframes blink{50%{opacity:.5}}.stop-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#dc2626;color:#fff;border:none;padding:14px 28px;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer}.video-preview-container{position:relative}.clear-video-btn{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:13px;cursor:pointer}.issue-tags-section{margin-bottom:20px}.issue-tags-section h3{font-size:15px;color:#64748b;margin:0 0 12px}.issue-tags{display:flex;flex-wrap:wrap;gap:8px}.issue-tag{padding:8px 14px;border:2px solid;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.points-info{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:16px;border-radius:12px;text-align:center}.points-info span{font-size:15px;color:#92400e;font-weight:500}.find-friends-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.friends-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0}.friends-header h1{font-size:20px;color:#1e293b;margin:0}.back-btn{background:none;border:none;color:#1e40af;font-size:16px;cursor:pointer}.friends-content{max-width:600px;margin:0 auto;padding:16px}.friends-tabs{display:flex;background:#e2e8f0;border-radius:12px;padding:4px;margin-bottom:20px}.friends-tabs button{flex:1;padding:12px 8px;border:none;background:transparent;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.friends-tabs button.active{background:#fff;box-shadow:0 2px 8px #0000001a}.import-prompt{text-align:center;padding:40px 20px;background:#fff;border-radius:16px}.import-icon{font-size:48px;margin-bottom:16px}.import-prompt h3{font-size:20px;color:#1e293b;margin:0 0 8px}.import-prompt p{color:#64748b;margin:0 0 24px}.import-btn{background:#1e40af;color:#fff;border:none;padding:14px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.import-btn:disabled{background:#94a3b8}.contacts-section{margin-bottom:24px}.contacts-section h3{font-size:16px;color:#64748b;margin:0 0 12px}.contacts-list{display:flex;flex-direction:column;gap:12px}.contact-card{display:flex;align-items:center;gap:12px;background:#fff;padding:16px;border-radius:14px;box-shadow:0 2px 6px #0000000d}.contact-card.suggested{align-items:flex-start}.contact-avatar{width:48px;height:48px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0}.contact-avatar.gray{background:#94a3b8}.contact-info{flex:1;min-width:0}.contact-name{display:block;font-weight:600;color:#1e293b;font-size:15px}.contact-username{display:block;color:#1e40af;font-size:13px}.contact-email{display:block;color:#64748b;font-size:13px}.person-details{display:flex;gap:8px;margin-top:6px}.district-tag,.mutual{font-size:12px;color:#64748b}.person-issues{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.issue-chip{font-size:11px;padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:12px}.follow-btn{background:#1e40af;color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.follow-btn.following{background:#e2e8f0;color:#64748b}.invite-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.suggested-header{text-align:center;margin-bottom:20px}.suggested-header h3{font-size:18px;color:#1e293b;margin:0 0 6px}.suggested-header p{color:#64748b;margin:0;font-size:14px}.social-connections{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}.social-connections h3{font-size:18px;color:#1e293b;margin:0 0 6px}.social-connections p{color:#64748b;margin:0 0 20px;font-size:14px}.social-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px}.social-btn.facebook{background:#1877f2;color:#fff}.social-btn.google{background:#fff;border:2px solid #e2e8f0;color:#1e293b}.social-btn.twitter{background:#000;color:#fff}.social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.share-section{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:16px;padding:24px;text-align:center}.share-section h3{font-size:18px;color:#1e40af;margin:0 0 6px}.share-section p{color:#1e40af;margin:0 0 16px;font-size:14px}.share-link-btn{background:#1e40af;color:#fff;border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.communities-page{min-height:100vh;padding-bottom:80px;background:#f8fafc}.communities-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.communities-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.communities-header h1{font-size:24px;font-weight:700;color:#1e293b}.joined-count{font-size:13px;padding:4px 12px;background:#ecfdf5;color:#059669;border-radius:12px;font-weight:500}.communities-intro{color:#64748b;font-size:14px;margin-bottom:20px}.search-box{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px}.search-icon{color:#94a3b8}.search-box input{flex:1;border:none;outline:none;font-size:15px;color:#1e293b;background:transparent}.search-box input::placeholder{color:#94a3b8}.category-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px;margin-bottom:16px}.category-filters::-webkit-scrollbar{display:none}.category-filters button{padding:8px 14px;font-size:13px;font-weight:500;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;white-space:nowrap;cursor:pointer;transition:all .2s}.category-filters button:hover{background:#f8fafc;color:#1e293b}.category-filters button.active{background:#2563eb;border-color:#2563eb;color:#fff}.create-btn{display:block;text-align:center;padding:14px;background:#fff;border:2px dashed #cbd5e1;border-radius:14px;color:#64748b;font-size:15px;font-weight:500;text-decoration:none;margin-bottom:20px;transition:all .2s}.create-btn:hover{background:#f8fafc;border-color:#2563eb;color:#2563eb}.communities-list{display:flex;flex-direction:column;gap:12px}.community-card{display:flex;gap:14px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000d;transition:all .2s}.community-card:hover{box-shadow:0 4px 12px #00000014}.community-icon-large{width:54px;height:54px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.community-details{flex:1;min-width:0}.community-details h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.community-description{font-size:13px;color:#64748b;margin-bottom:8px;line-height:1.4}.community-meta{display:flex;align-items:center;gap:10px}.member-count{font-size:12px;color:#94a3b8}.category-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:8px;text-transform:capitalize}.category-tag.issue{background:#fef3c7;color:#b45309}.category-tag.state{background:#eff6ff;color:#2563eb}.category-tag.local{background:#ecfdf5;color:#059669}.category-tag.group{background:#f3e8ff;color:#7c3aed}.community-action{display:flex;align-items:center}.community-btn{padding:10px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#2563eb;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.community-btn:hover{background:#eff6ff;border-color:#bfdbfe}.community-btn.joined{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.empty-state{text-align:center;padding:40px 20px;color:#94a3b8}.empty-hint{font-size:13px;margin-top:8px}.community-detail-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.community-banner-full{height:180px;background-size:cover;background-position:center;position:relative}.back-btn-float{position:absolute;top:16px;left:16px;width:40px;height:40px;background:#00000080;color:#fff;border:none;border-radius:50%;font-size:20px;cursor:pointer}.community-detail-content{max-width:700px;margin:-40px auto 0;padding:0 16px;position:relative}.community-header-info{background:#fff;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #00000014}.community-header-info h1{font-size:24px;color:#1e293b;margin:0 0 10px}.community-header-info>p{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 16px}.community-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:#64748b;margin-bottom:16px}.cat-tag{background:#eff6ff;color:#1e40af;padding:4px 12px;border-radius:12px}.join-community-btn{width:100%;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.member-badge{background:#dcfce7;color:#166534;padding:14px;border-radius:12px;text-align:center;font-weight:600}.goal-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-bottom:16px}.goal-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.goal-icon{font-size:28px}.goal-info h4{font-size:16px;color:#92400e;margin:0}.goal-info p{font-size:13px;color:#a16207;margin:4px 0 0}.goal-percent{margin-left:auto;font-size:24px;font-weight:700;color:#92400e}.goal-bar{height:12px;background:#ffffff80;border-radius:6px;overflow:hidden;margin-bottom:12px}.goal-bar-fill{height:100%;background:#f59e0b}.contribute-btn{width:100%;background:#92400e;color:#fff;border:none;padding:12px;border-radius:10px;font-weight:600;cursor:pointer}.linked-section{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px}.linked-label{font-size:12px;color:#64748b;display:block;margin-bottom:8px}.linked-bill{display:block;color:#1e40af;font-weight:600;text-decoration:none}.detail-tabs{display:flex;background:#fff;border-radius:12px;padding:4px;margin-bottom:16px;overflow-x:auto}.detail-tabs button{flex:1;padding:12px 8px;border:none;background:transparent;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.detail-tabs button.active{background:#1e40af;color:#fff}.new-post-box{background:#fff;border-radius:14px;padding:16px;margin-bottom:16px}.new-post-box textarea{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-family:inherit;resize:none}.new-post-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.new-post-actions span{font-size:13px;color:#f59e0b}.new-post-actions button{background:#1e40af;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:600;cursor:pointer}.new-post-actions button:disabled{background:#94a3b8}.post-card{background:#fff;border-radius:14px;padding:16px;margin-bottom:12px}.post-card.pinned{border:2px solid #fde047}.pinned-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;margin-bottom:12px}.post-header{display:flex;gap:12px;margin-bottom:12px}.post-author-avatar{width:44px;height:44px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.post-author-name{display:block;font-weight:600;color:#1e293b}.author-role{display:inline-block;background:#eff6ff;color:#1e40af;padding:2px 8px;border-radius:8px;font-size:11px;margin-left:8px}.post-time{display:block;font-size:12px;color:#94a3b8}.post-content{font-size:15px;color:#334155;line-height:1.6;margin:0 0 12px}.post-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f1f5f9}.post-actions button{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:8px}.post-actions button:hover{background:#f1f5f9}.create-poll-btn{width:100%;background:#eff6ff;color:#1e40af;border:2px dashed #93c5fd;padding:14px;border-radius:12px;font-weight:600;cursor:pointer;margin-bottom:16px}.community-poll-card{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px}.community-poll-card h4{font-size:17px;color:#1e293b;margin:0 0 16px}.poll-options-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.poll-option-bar{position:relative;width:100%;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;text-align:left;cursor:pointer;overflow:hidden}.option-text{position:relative;z-index:1;font-weight:500}.option-fill{position:absolute;top:0;left:0;height:100%;background:#dbeafe;z-index:0}.option-percent{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:600;color:#1e40af;z-index:1}.poll-meta{display:flex;gap:16px;font-size:13px;color:#64748b}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.members-header h3{margin:0;color:#1e293b}.member-row{display:flex;align-items:center;gap:12px;background:#fff;padding:14px;border-radius:12px;margin-bottom:10px}.member-avatar-lg{width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px}.member-info{flex:1}.member-name{display:block;font-weight:600;color:#1e293b}.member-role{display:inline-block;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:8px;font-size:11px;margin-left:6px}.member-joined{display:block;font-size:12px;color:#94a3b8}.follow-member-btn{background:#1e40af;color:#fff;border:none;padding:8px 16px;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer}.about-block{background:#fff;border-radius:14px;padding:20px;margin-bottom:16px}.about-block h3{font-size:16px;color:#1e293b;margin:0 0 12px}.about-block p{color:#64748b;line-height:1.6;margin:0}.rules-list{margin:0;padding-left:20px;color:#64748b}.rules-list li{margin-bottom:8px}.mod-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mod-avatar{width:40px;height:40px;background:#1e40af;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.mod-name{display:block;font-weight:600;color:#1e293b}.mod-role{display:block;font-size:12px;color:#64748b}.townhall-events{padding:1rem 0}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.events-count{display:flex;align-items:baseline;gap:.5rem}.count-number{font-size:2rem;font-weight:700;color:var(--primary-color, #2563eb)}.count-label{font-size:.9rem;color:var(--text-secondary, #64748b)}.add-event-btn{padding:.5rem 1rem;background:var(--primary-color, #2563eb);color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer;transition:background .2s}.add-event-btn:hover{background:var(--primary-hover, #1d4ed8)}.events-filters{margin-bottom:1.5rem}.type-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.type-filters .filter-btn{padding:.375rem .75rem;background:var(--bg-secondary, #f1f5f9);border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.type-filters .filter-btn:hover{background:var(--bg-hover, #e2e8f0)}.type-filters .filter-btn.active{background:var(--btn-color, var(--primary-color, #2563eb));color:#fff}.past-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary, #64748b);cursor:pointer}.past-toggle input{cursor:pointer}.events-list{display:flex;flex-direction:column;gap:1rem}.event-card{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:12px;border:1px solid var(--border-color, #e5e7eb);transition:all .2s}.event-card:hover{border-color:var(--primary-color, #2563eb);box-shadow:0 4px 12px #0000000d}.event-card.past{opacity:.6}.event-card.virtual{border-left:3px solid #059669}.event-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;padding:.5rem;background:var(--type-color, #2563eb);border-radius:10px;color:#fff;text-align:center}.date-month{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.date-day{font-size:1.5rem;font-weight:700;line-height:1.2}.date-countdown{font-size:.65rem;background:#fff3;padding:.125rem .375rem;border-radius:4px;margin-top:.25rem}.event-content{flex:1;min-width:0}.event-type-badge{display:inline-block;padding:.25rem .5rem;font-size:.7rem;font-weight:500;border-radius:4px;margin-bottom:.5rem}.event-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.3}.event-description{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary, #64748b);line-height:1.5}.event-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--text-secondary, #64748b);margin-bottom:.5rem}.event-location.virtual{color:#059669;font-weight:500}.event-host{font-size:.8rem;color:var(--text-secondary, #64748b);margin-bottom:.75rem}.event-host a{color:var(--primary-color, #2563eb);text-decoration:none}.event-host a:hover{text-decoration:underline}.event-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color, #e5e7eb)}.event-actions button,.event-actions a{padding:.375rem .75rem;font-size:.8rem;border-radius:6px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.rsvp-btn{background:var(--primary-color, #2563eb);color:#fff;border:none}.rsvp-btn:hover{background:var(--primary-hover, #1d4ed8)}.join-btn{background:#059669;color:#fff;border:none}.join-btn:hover{background:#047857}.calendar-btn,.share-btn{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-color, #e5e7eb)}.calendar-btn:hover,.share-btn:hover{background:var(--bg-hover, #e2e8f0)}.no-events{text-align:center;padding:3rem 1rem;background:var(--bg-secondary, #f8fafc);border-radius:12px;color:var(--text-secondary, #64748b)}.no-events p{margin:.5rem 0}.see-all-link{display:block;text-align:center;padding:.75rem;margin-top:1rem;color:var(--primary-color, #2563eb);text-decoration:none;font-size:.875rem}.see-all-link:hover{text-decoration:underline}.events-attribution{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb);text-align:center;font-size:.75rem;color:var(--text-muted, #94a3b8)}.events-attribution a{color:var(--primary-color, #2563eb);text-decoration:none;margin:0 .25rem}.events-attribution a:hover{text-decoration:underline}.events-skeleton{display:flex;flex-direction:column;gap:1rem}.skeleton-event{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:12px}.skeleton-date{width:60px;height:70px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:10px}.skeleton-content{flex:1}.skeleton-title{height:20px;width:70%;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:.75rem}.skeleton-meta{height:14px;width:50%;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.townhall-events.compact .event-card{padding:.75rem}.townhall-events.compact .event-date-badge{min-width:50px;padding:.375rem}.townhall-events.compact .date-day{font-size:1.25rem}.townhall-events.compact .event-title{font-size:.9rem}.townhall-events.compact .event-meta{font-size:.75rem}.townhall-widget{background:#fff;border-radius:12px;padding:1rem;border:1px solid var(--border-color, #e5e7eb)}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.widget-header h3{margin:0;font-size:1rem}.widget-header .see-all{font-size:.8rem;color:var(--primary-color, #2563eb);text-decoration:none}.widget-header .see-all:hover{text-decoration:underline}@media (max-width: 640px){.event-card{flex-direction:column}.event-date-badge{flex-direction:row;gap:.5rem;min-width:auto;padding:.5rem .75rem;border-radius:6px}.date-day{font-size:1.25rem}.date-countdown{margin-top:0;margin-left:.5rem}.events-header{flex-direction:column;align-items:flex-start;gap:.75rem}.add-event-btn{width:100%;text-align:center}.type-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.event-actions{flex-direction:column}.event-actions button,.event-actions a{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.event-card{background:var(--bg-card, #1e293b);border-color:var(--border-color, #334155)}.event-title{color:var(--text-primary, #f1f5f9)}.skeleton-event{background:var(--bg-secondary, #1e293b)}.skeleton-date,.skeleton-title,.skeleton-meta{background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%)}}.town-hall-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-bottom:100px}.town-hall-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.town-hall-header{text-align:center;margin-bottom:20px}.town-hall-header h1{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 4px}.town-hall-header .subtitle{font-size:14px;color:#64748b;margin:0}.townhall-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#fff;padding:.375rem;border-radius:10px;box-shadow:0 1px 3px #0000001a}.townhall-tabs .tab-btn{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;font-size:.9rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.townhall-tabs .tab-btn:hover{background:#f1f5f9;color:#1e293b}.townhall-tabs .tab-btn.active{background:#2563eb;color:#fff}.upcoming-events-section{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem}.data-source-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:20px}.data-source-notice.real{background:#dcfce7;border-color:#86efac}.notice-icon{font-size:24px}.notice-text{display:flex;flex-direction:column}.notice-text strong{font-size:14px;color:#1e293b}.notice-sub{font-size:12px;color:#64748b}.notice-text a{color:#2563eb}.loading{text-align:center;padding:60px 20px}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.no-zip{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.no-zip-icon{font-size:56px;display:block;margin-bottom:16px}.no-zip h2{font-size:20px;color:#1e293b;margin:0 0 8px}.no-zip p{color:#64748b;margin:0 0 16px}.add-zip-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:600}.thp-link-card{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:16px;text-decoration:none;margin-bottom:20px;transition:transform .2s,box-shadow .2s}.thp-link-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb4d}.thp-logo{font-size:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.thp-info{flex:1}.thp-info h3{color:#fff;font-size:18px;font-weight:700;margin:0 0 4px}.thp-info p{color:#fffc;font-size:13px;margin:0 0 8px}.thp-cta{display:inline-block;padding:6px 14px;background:#fff3;border-radius:20px;color:#fff;font-size:13px;font-weight:600}.official-sources{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.official-sources h3{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 12px}.official-sources .source-intro{font-size:13px;color:#64748b;margin:0 0 12px}.source-links{display:flex;flex-direction:column;gap:10px}.source-link{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s}.source-link:hover{background:#eff6ff;border-color:#bfdbfe;transform:translate(4px)}.source-link.primary{background:#eff6ff;border-color:#bfdbfe}.source-link span:first-child{font-size:20px}.party-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.party-dot.d{background:#2563eb}.party-dot.r{background:#dc2626}.sen-name{flex:1;font-size:14px;font-weight:500;color:#1e293b}.link-arrow{color:#94a3b8;font-size:18px}.source-note{font-size:12px;color:#64748b;margin:12px 0 0;padding-left:4px}.how-to-find{background:#fff;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.how-to-find h3{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 16px}.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tip-card{padding:14px;background:#f8fafc;border-radius:12px}.tip-icon{font-size:24px;display:block;margin-bottom:8px}.tip-card h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 4px}.tip-card p{font-size:12px;color:#64748b;margin:0;line-height:1.4}.request-event{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;padding:20px;margin-bottom:20px;text-align:center}.request-event h3{font-size:16px;font-weight:700;color:#92400e;margin:0 0 8px}.request-event p{font-size:13px;color:#a16207;margin:0 0 16px}.request-actions{display:flex;flex-direction:column;gap:10px}.request-btn{display:block;padding:12px 20px;background:#f59e0b;color:#fff;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;text-align:center;transition:background .2s}.request-btn:hover{background:#d97706}.request-btn.secondary{background:#fff;color:#92400e;border:1px solid #fcd34d}.town-hall-footer{text-align:center;margin-top:24px;padding:16px}.town-hall-footer p{font-size:13px;color:#64748b;margin:0 0 8px}.town-hall-footer a{color:#2563eb;text-decoration:none;font-weight:500}@media (max-width: 400px){.thp-link-card{flex-direction:column;text-align:center}.tips-grid{grid-template-columns:1fr}}.submit-event-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #6ee7b7;border-radius:16px;padding:20px;text-align:center;margin-top:20px}.submit-event-section h3{margin:0 0 8px;color:#065f46;font-size:18px}.submit-event-section p{margin:0 0 16px;color:#047857;font-size:14px}.submit-event-btn{display:inline-block;padding:14px 28px;background:#059669;color:#fff;border-radius:12px;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s}.submit-event-btn:hover{background:#047857;transform:translateY(-2px)}.submit-note{margin-top:12px!important;font-size:13px!important;color:#6b7280!important}.submit-note strong{color:#059669}.community-page{min-height:100vh;background:#f8fafc;padding-bottom:80px}.community-content{max-width:600px;margin:0 auto;padding:16px}.community-header{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.community-header h1{font-size:24px;color:#111;margin:0}.zip-input{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb}.zip-input input{border:none;font-size:16px;width:60px;text-align:center}.zip-input input:focus{outline:none}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{flex:1;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.tabs button.active{background:#2563eb;color:#fff;border-color:#2563eb}.posts-list{display:flex;flex-direction:column;gap:12px}.post-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.post-header{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.post-author{font-weight:600;color:#111}.post-location{font-size:12px;color:#64748b}.post-time{font-size:12px;color:#94a3b8;margin-left:auto}.post-content{margin:0 0 12px;color:#334155;line-height:1.5}.post-footer{display:flex;justify-content:space-between;align-items:center}.post-topic{font-size:12px;padding:4px 10px;background:#f1f5f9;border-radius:12px;color:#64748b}.post-actions{display:flex;gap:12px}.post-actions button{background:none;border:none;font-size:14px;color:#64748b;cursor:pointer}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{background:#fff;border-radius:12px;padding:16px;display:flex;gap:16px;align-items:center;box-shadow:0 1px 3px #00000014}.event-date{width:50px;text-align:center;background:#f1f5f9;padding:8px;border-radius:8px}.date-day{display:block;font-size:20px;font-weight:700;color:#111}.date-month{display:block;font-size:12px;color:#64748b}.event-info{flex:1}.event-info h3{margin:0 0 4px;font-size:15px;color:#111}.event-meta{margin:0;font-size:12px;color:#64748b;display:flex;gap:12px}.event-attendees{margin:4px 0 0;font-size:12px;color:#3b82f6}.rsvp-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer}.earn-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:16px;border-radius:12px;text-align:center;font-weight:500;margin-top:12px}.profile-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.profile-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.profile-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.profile-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.save-btn{margin-left:auto;padding:8px 16px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.saved-indicator{margin-left:auto;color:#059669;font-size:14px;font-weight:600}.points-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:14px;margin-bottom:20px}.points-icon{font-size:32px}.points-info{display:flex;flex-direction:column}.points-count{font-size:28px;font-weight:700;color:#92400e}.points-label{font-size:13px;color:#b45309}.profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;margin-bottom:16px}.profile-section h2{font-size:17px;font-weight:700;color:#1e293b;margin:0 0 4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.select-all-btn{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;color:#64748b;cursor:pointer}.section-desc{font-size:13px;color:#6b7280;margin:0 0 16px;font-style:italic}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:2px solid #333333;border-radius:10px;font-size:15px;color:#1e293b!important;background-color:#fff!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;background-color:#fff!important}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.zip-input{display:flex;align-items:center;gap:12px}.zip-input input{width:120px}.zip-location{font-size:14px;color:#059669}.interests-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.interest-btn{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s}.interest-btn:hover{border-color:#cbd5e1}.interest-btn.selected{background:#eff6ff;border-color:#2563eb;color:#2563eb}.interest-btn span:first-child{font-size:18px}.size-buttons{display:flex;gap:8px}.size-buttons button{flex:1;padding:12px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;font-weight:600;color:#64748b;cursor:pointer}.size-buttons button.selected{background:#eff6ff;border-color:#2563eb;color:#2563eb}.save-bar{position:fixed;bottom:70px;left:0;right:0;padding:16px;background:#fff;border-top:1px solid #e2e8f0;z-index:90}.save-btn-large{width:100%;max-width:600px;margin:0 auto;display:block;padding:16px;background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn-large:hover:not(:disabled){background:#1d4ed8}.save-btn-large.saved,.save-btn-large:disabled{background:#059669;cursor:default}.save-btn-large:disabled:not(.saved){background:#94a3b8}.admin-link{position:fixed;bottom:90px;left:16px;opacity:.2;font-size:20px;text-decoration:none}.version-badge{position:fixed;bottom:70px;right:16px;background:#fff;color:#94a3b8;padding:4px 10px;border-radius:12px;font-size:10px;z-index:50;border:1px solid #e2e8f0}.rate-limit-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:12px 16px;margin-bottom:16px}.limit-header{font-size:14px;font-weight:600;color:#0369a1;margin-bottom:8px}.limit-details{display:flex;flex-direction:column;gap:6px}.limit-item{display:flex;justify-content:space-between;font-size:13px;color:#475569}.limit-item span:last-child{font-weight:500}.limit-reached{color:#dc2626!important}.upgrade-prompt{text-align:center}.upgrade-prompt p{font-size:13px;color:#64748b;margin:0 0 8px}.upgrade-link{display:inline-block;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;text-decoration:none}.admin-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;color:#92400e;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;margin-bottom:16px;text-align:center}.limit-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 16px;border-radius:12px;font-size:13px;margin-bottom:16px}.toggle-group{display:flex;flex-direction:column;gap:12px;margin-top:16px}.toggle-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:10px;cursor:pointer;transition:background .2s}.toggle-item:hover{background:#f1f5f9}.toggle-item input[type=checkbox]{width:20px;height:20px;accent-color:#2563eb;cursor:pointer}.toggle-item span{font-size:14px;color:#1e293b}.impact-preview{background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:2px solid #93c5fd}.impact-preview h2{color:#1e40af}.impact-preview .section-desc{color:#3730a3}.impact-link{display:block;width:100%;padding:14px 20px;background:#2563eb;color:#fff;text-decoration:none;text-align:center;border-radius:12px;font-weight:600;margin-top:12px;transition:background .2s}.impact-link:hover{background:#1d4ed8}.profile-section select{margin-bottom:8px}@media (max-width: 480px){.toggle-item{padding:10px 12px}.toggle-item span{font-size:13px}}@media (prefers-color-scheme: dark){.profile-page{background:#0f172a}.profile-header h1{color:#f1f5f9}.profile-section{background:#1e293b;border-color:#334155}.profile-section h2{color:#f1f5f9}.section-desc{color:#94a3b8}.form-group label{color:#e2e8f0;font-weight:600}.form-group input,.form-group select{background-color:#1e293b!important;border-color:#475569;color:#f1f5f9!important}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-color:#1e293b!important}.form-group input::placeholder{color:#64748b}.form-group input:focus,.form-group select:focus{border-color:#3b82f6}.zip-location{color:#34d399}.interest-btn{background:#1e293b;border-color:#334155;color:#cbd5e1}.interest-btn:hover{border-color:#475569}.interest-btn.selected{background:#1e3a5f;border-color:#3b82f6;color:#60a5fa}.size-buttons button{background:#1e293b;border-color:#334155;color:#94a3b8}.size-buttons button.selected{background:#1e3a5f;border-color:#3b82f6;color:#60a5fa}.toggle-item{background:#1e293b}.toggle-item:hover{background:#334155}.toggle-item span{color:#f1f5f9}.save-bar{background:#1e293b;border-color:#334155}.points-card{background:linear-gradient(135deg,#422006,#78350f);border-color:#92400e}.rate-limit-card{background:linear-gradient(135deg,#0c4a6e,#075985);border-color:#0284c7}.limit-header{color:#7dd3fc}.limit-item{color:#cbd5e1}.version-badge{background:#1e293b;color:#64748b;border-color:#334155}.select-all-btn{background:#334155;border-color:#475569;color:#94a3b8}}.verify-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.verify-content{max-width:600px;margin:0 auto;padding:20px 16px}.verify-header{margin-bottom:24px}.verify-header h1{font-size:24px;color:#1e293b;margin:0 0 4px}.verify-header p{color:#64748b;margin:0}.status-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.status-badge{display:inline-block;padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;margin-bottom:16px}.status-progress{margin-bottom:20px}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .3s}.status-progress span{font-size:13px;color:#64748b}.payout-info{display:flex;gap:24px}.payout-tier{flex:1}.tier-label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.tier-value{font-size:18px;font-weight:700;color:#1e293b}.success-msg,.error-msg{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}.success-msg{background:#d1fae5;color:#065f46}.error-msg{background:#fee2e2;color:#991b1b}.verify-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.verify-step{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.verify-step.completed{border:2px solid #10b981}.step-header{display:flex;align-items:center;gap:16px;padding:20px;cursor:pointer}.verify-step.completed .step-header{cursor:default}.step-icon{width:48px;height:48px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.verify-step.completed .step-icon{background:#10b981;color:#fff}.step-info{flex:1}.step-info h3{font-size:16px;color:#1e293b;margin:0 0 4px}.step-info p{font-size:13px;color:#64748b;margin:0}.status-done{color:#10b981;font-weight:600;font-size:13px}.status-pending{color:#f59e0b;font-weight:600;font-size:13px}.step-content{padding:20px;border-top:1px solid #f1f5f9;margin-top:-4px}.step-content label{display:block;font-size:14px;font-weight:500;color:#475569;margin-bottom:8px}.step-content input{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;margin-bottom:12px;box-sizing:border-box}.step-content input:focus{outline:none;border-color:#3b82f6}.verify-btn{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.resend-btn{width:100%;padding:12px;background:none;color:#64748b;border:none;font-size:14px;cursor:pointer;margin-top:8px}.id-requirements{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;color:#64748b}.file-upload{display:block;padding:40px 20px;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;text-align:center;cursor:pointer;margin-bottom:12px}.file-upload input{display:none}.file-upload span{font-size:16px;color:#64748b}.file-name{font-size:13px;color:#10b981;margin:0 0 12px}.privacy-note{font-size:12px;color:#94a3b8;margin:0}.benefits-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.benefit-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.benefit-card span{font-size:28px;display:block;margin-bottom:8px}.benefit-card h4{font-size:14px;color:#1e293b;margin:0 0 4px}.benefit-card p{font-size:12px;color:#64748b;margin:0;line-height:1.4}@media (max-width: 400px){.benefits-grid{grid-template-columns:1fr}}.broadcaster-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.broadcaster-content{max-width:700px;margin:0 auto;padding:20px 16px}.claim-section{text-align:center;padding:40px 20px}.claim-icon{font-size:64px;margin-bottom:20px}.claim-section h1{font-size:28px;color:#1e293b;margin:0 0 8px}.claim-subtitle{color:#64748b;font-size:16px;margin:0 0 32px}.claim-benefits{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;text-align:left}.benefit{display:flex;gap:16px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.benefit span{font-size:24px}.benefit strong{display:block;color:#1e293b;margin-bottom:4px}.benefit p{color:#64748b;font-size:14px;margin:0}.claim-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.claim-note{color:#94a3b8;font-size:13px;margin-top:12px}.bc-header{margin-bottom:24px}.bc-profile{display:flex;align-items:center;gap:16px}.bc-avatar{width:64px;height:64px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.bc-header h1{font-size:24px;color:#1e293b;margin:0}.bc-header p{color:#64748b;margin:4px 0 0}.verified{background:#3b82f6;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000000f}.stat-num{display:block;font-size:24px;font-weight:700;color:#1e293b}.stat-label{font-size:13px;color:#64748b}.compose-btn{width:100%;padding:16px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:24px}.compose-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.compose-card h3{margin:0 0 16px;color:#1e293b}.compose-types{display:flex;gap:8px;margin-bottom:16px}.compose-types button{flex:1;padding:10px;background:#f1f5f9;border:2px solid transparent;border-radius:8px;font-size:13px;cursor:pointer}.compose-types button.active{border-color:#2563eb;background:#eff6ff}.compose-card textarea{width:100%;padding:14px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;resize:vertical;box-sizing:border-box;font-family:inherit}.compose-card textarea:focus{outline:none;border-color:#2563eb}.event-fields{display:flex;gap:12px;margin-top:12px}.event-fields input{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px}.compose-actions{display:flex;gap:12px;margin-top:16px}.cancel-btn{flex:1;padding:12px;background:#f1f5f9;border:none;border-radius:8px;font-size:14px;cursor:pointer}.publish-btn{flex:2;padding:12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.posts-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.empty{color:#94a3b8;text-align:center;padding:40px;background:#fff;border-radius:12px}.bc-posts{display:flex;flex-direction:column;gap:12px}.bc-post{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.post-type-badge{display:inline-block;padding:4px 10px;background:#f1f5f9;border-radius:6px;font-size:12px;margin-bottom:12px}.post-content{color:#1e293b;line-height:1.6;margin:0 0 12px}.post-event{background:#fef3c7;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:12px}.post-stats{display:flex;gap:16px;font-size:13px;color:#64748b;margin-bottom:12px}.delete-btn{background:none;border:none;color:#dc2626;font-size:13px;cursor:pointer}.api-test{min-height:100vh;background:#0f172a;padding-top:56px;padding-bottom:100px;color:#fff}.test-content{max-width:1000px;margin:0 auto;padding:20px 16px}.test-content h1{font-size:28px;margin:0}.test-section{background:#ffffff0d;border-radius:16px;padding:20px;margin-bottom:24px}.test-section h2{margin:0 0 16px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.alerts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert-card{background:#0000004d;border-radius:12px;padding:16px}.alert-card h3{margin:0 0 12px;font-size:14px;color:#94a3b8}.alert-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;margin-bottom:4px;font-size:13px}.alert-item.high{background:#ef444433}.alert-item.medium{background:#f59e0b33}.alert-item.low{background:#22c55e33}.alert-item .days{font-weight:600;min-width:40px}.test-controls{display:flex;gap:12px;margin-bottom:20px}.test-controls select{flex:1;padding:10px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:14px}.test-controls button,.big-test-btn{padding:10px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.big-test-btn{width:100%;padding:16px;font-size:16px;margin-bottom:20px}.test-controls button:disabled,.big-test-btn:disabled{background:#475569;cursor:not-allowed}.results h3{margin:0 0 16px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.result-card{background:#0000004d;border-radius:12px;padding:16px}.result-card h4{margin:0 0 8px;font-size:14px;color:#94a3b8}.result-card .count{font-size:36px;font-weight:700;color:#22c55e}.result-card .count.pending{color:#f59e0b}.result-card ul{margin:12px 0 0;padding-left:16px;font-size:12px;color:#94a3b8}.result-card .official{color:#fff;font-weight:500}.meta-info{margin-top:16px;font-size:12px;color:#64748b}.error-box{background:#ef444433;border:1px solid #ef4444;border-radius:8px;padding:16px;color:#fca5a5}.test-results-table{overflow-x:auto}.test-results-table table{width:100%;border-collapse:collapse;font-size:13px}.test-results-table th,.test-results-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.test-results-table th{background:#0000004d;font-weight:600}.test-results-table .senators{max-width:300px;font-size:11px;color:#94a3b8}.test-results-table tr.error{background:#ef44441a}.api-status{display:flex;flex-direction:column;gap:8px}.api-row{display:flex;align-items:center;padding:12px;background:#0003;border-radius:8px}.api-name{width:180px;font-weight:500}.status{width:80px;font-size:13px}.status.ok{color:#22c55e}.status.dead{color:#ef4444}.status.paid{color:#f59e0b}.coverage{flex:1;color:#94a3b8;font-size:13px}.coverage-matrix{width:100%;border-collapse:collapse}.coverage-matrix th,.coverage-matrix td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.coverage-matrix th{background:#0000004d}.coverage-matrix tr.ok td:first-child{border-left:3px solid #22c55e}.coverage-matrix tr.pending td:first-child{border-left:3px solid #f59e0b}@media (max-width: 768px){.alerts-grid,.result-grid{grid-template-columns:1fr}}.local-test{min-height:100vh;background:linear-gradient(180deg,#0f172a,#1e293b);padding-top:56px;padding-bottom:100px;color:#fff}.local-content{max-width:800px;margin:0 auto;padding:20px 16px}.local-content h1{font-size:28px;margin:0}.subtitle{color:#94a3b8;margin:8px 0 24px}.zip-input-section{display:flex;gap:12px;margin-bottom:24px}.zip-input-section input{flex:1;padding:14px 18px;font-size:18px;border:2px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff}.zip-input-section input:focus{outline:none;border-color:#3b82f6}.zip-input-section button{padding:14px 28px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.zip-input-section button:disabled{background:#475569;cursor:not-allowed}.location-card{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:16px;padding:20px;margin-bottom:24px}.location-card h2{margin:0 0 8px;font-size:24px}.location-card p{margin:0;opacity:.8;font-size:14px}.result-section{background:#ffffff0d;border-radius:16px;padding:20px;margin-bottom:20px}.result-section h2{margin:0 0 8px;font-size:18px}.section-note{color:#94a3b8;font-size:13px;margin:0 0 16px}.officials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.official-search-card{background:#0000004d;border-radius:12px;padding:16px}.official-search-card h3{margin:0 0 12px;font-size:15px;color:#e2e8f0}.search-links{display:flex;flex-direction:column;gap:8px}.search-btn{display:block;padding:10px 14px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:500;text-align:center;transition:transform .2s}.search-btn:hover{transform:scale(1.02)}.search-btn.google{background:#4285f4;color:#fff}.search-btn.ballotpedia{background:#1a1a2e;color:#e94560;border:1px solid #e94560}.news-grid{display:flex;flex-direction:column;gap:12px}.news-card{display:flex;gap:12px;background:#0000004d;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;transition:background .2s}.news-card:hover{background:#00000080}.news-card img{width:100px;height:80px;object-fit:cover}.news-content{padding:12px 12px 12px 0;flex:1}.news-content h4{margin:0 0 4px;font-size:14px;line-height:1.3}.news-content p{margin:0;font-size:12px;color:#94a3b8}.news-source{font-size:11px;color:#60a5fa}.events-links{display:flex;flex-wrap:wrap;gap:10px}.event-link{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#0000004d;border-radius:10px;text-decoration:none;color:#fff;font-size:14px;transition:background .2s}.event-link:hover{background:#00000080}.event-icon{font-size:20px}.info-section{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.info-card{background:#0003;border-radius:10px;padding:14px}.info-card h3{margin:0 0 6px;font-size:14px}.info-card p{margin:0;font-size:12px;color:#94a3b8}.future-note{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:10px;padding:16px}.future-note h3{margin:0 0 6px;font-size:14px;color:#22c55e}.future-note p{margin:0;font-size:13px;color:#94a3b8}.error{color:#f87171;background:#ef44441a;padding:12px;border-radius:8px}.gov-services{min-height:100vh;background:#f8f9fa}.gs-content{max-width:900px;margin:0 auto;padding:1rem;padding-bottom:100px}.gs-hero{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:16px;margin-bottom:1.5rem}.gs-hero h1{margin:0 0 .5rem;font-size:1.75rem}.gs-hero p{margin:0 0 1.5rem;opacity:.9}.gs-search{max-width:500px;margin:0 auto}.search-input{width:100%;padding:1rem 1.25rem;font-size:1rem;border:none;border-radius:12px;outline:none}.search-input:focus{box-shadow:0 0 0 3px #ffffff4d}.zip-form{margin-bottom:1.5rem}.zip-group{display:flex;gap:.5rem}.zip-input{flex:1;padding:.875rem 1rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:12px;outline:none}.zip-input:focus{border-color:#3b82f6}.zip-btn{padding:.875rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;white-space:nowrap}.location-info{margin:.75rem 0 0;text-align:center;color:#64748b}.gs-ad-top,.gs-ad-mid,.gs-ad-bottom{margin:1.5rem 0;border-radius:12px;overflow:hidden}.quick-links{margin-bottom:2rem}.quick-links h3{margin:0 0 1rem;font-size:1.1rem;color:#374151}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-link{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:#fff;border-radius:12px;text-decoration:none;color:#1f2937;transition:all .2s;box-shadow:0 1px 3px #0000000d}.quick-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-link.disabled{opacity:.6;cursor:not-allowed}.quick-link.disabled:hover{transform:none;box-shadow:0 1px 3px #0000000d}.ql-icon{font-size:2rem;margin-bottom:.5rem}.ql-title{font-weight:600;font-size:.9rem;text-align:center}.ql-action{font-size:.8rem;color:#3b82f6;margin-top:.25rem}.ql-fallback{font-size:.75rem;color:#9ca3af;margin-top:.25rem}.categories-section{margin-bottom:2rem}.categories-section h2{margin:0 0 1rem;font-size:1.25rem}.categories-grid{display:flex;flex-direction:column;gap:.75rem}.category-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.cat-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.cat-header:hover{background:#f9fafb}.cat-icon{font-size:1.5rem}.cat-header h3{margin:0;flex:1;font-size:1rem}.cat-toggle{font-size:1.5rem;color:#9ca3af;font-weight:300}.cat-services{border-top:1px solid #f3f4f6;padding:.5rem}.service-link{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;text-decoration:none;color:#374151;border-radius:8px;transition:background .2s}.service-link:hover{background:#f3f4f6}.service-link.disabled{color:#9ca3af;cursor:not-allowed}.service-link.disabled:hover{background:transparent}.service-go{color:#3b82f6}.service-note{font-size:.75rem;color:#9ca3af}.federal-section{margin-bottom:2rem}.federal-section h2{margin:0 0 1rem;font-size:1.25rem}.federal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.federal-card{padding:1.25rem;background:#fff;border-radius:12px;text-decoration:none;color:#1f2937;box-shadow:0 1px 3px #0000000d;transition:all .2s}.federal-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.federal-card h4{margin:0 0 .5rem;font-size:.95rem}.federal-card p{margin:0 0 .5rem;font-size:.8rem;color:#64748b}.visit-link{font-size:.8rem;color:#3b82f6}.state-links-section{margin-bottom:2rem}.state-links-section h2{margin:0 0 1rem;font-size:1.25rem}.state-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.state-link{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-radius:10px;text-decoration:none;color:#1f2937;font-weight:500;transition:all .2s}.state-link:hover{background:#3b82f6;color:#fff}.state-link:hover .arrow{color:#fff}.state-link.disabled{color:#9ca3af;cursor:not-allowed}.state-link.disabled:hover{background:#fff;color:#9ca3af}.state-link .arrow{color:#3b82f6}.state-link .varies{font-size:.7rem;color:#9ca3af;font-weight:400}.all-states-section{margin-bottom:2rem}.all-states-section h2{margin:0 0 1rem;font-size:1.25rem}.states-grid{display:flex;flex-wrap:wrap;gap:.5rem}.state-btn{padding:.5rem .75rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.state-btn:hover{border-color:#3b82f6;color:#3b82f6}.state-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.gs-cta{text-align:center;padding:2rem;background:linear-gradient(135deg,#059669,#10b981);border-radius:16px;color:#fff;margin-bottom:2rem}.gs-cta h3{margin:0 0 .5rem}.gs-cta p{margin:0 0 1rem;opacity:.9}.cta-btn{display:inline-block;padding:.875rem 2rem;background:#fff;color:#059669;border-radius:10px;font-weight:600;text-decoration:none;transition:transform .2s}.cta-btn:hover{transform:scale(1.05)}.seo-footer{padding:1.5rem;background:#f3f4f6;border-radius:12px;margin-top:2rem}.seo-footer h4{margin:0 0 1rem;font-size:.9rem;color:#6b7280}.seo-links{font-size:.75rem;line-height:1.8;color:#9ca3af}.seo-links a{color:#6b7280;text-decoration:none}.seo-links a:hover{color:#3b82f6}@media (prefers-color-scheme: dark){.gov-services{background:#0f0f1a}.gs-hero{background:linear-gradient(135deg,#1e3a8a,#2563eb)}.search-input,.zip-input{background:#1a1a2e;border-color:#3a3a5e;color:#fff}.quick-link,.category-card,.federal-card,.state-link{background:#1a1a2e;color:#fff}.state-btn{background:#1a1a2e;border-color:#3a3a5e;color:#fff}.seo-footer{background:#1a1a2e}}@media (max-width: 600px){.quick-grid,.federal-grid,.state-links-grid{grid-template-columns:1fr}.zip-group{flex-direction:column}.zip-btn{width:100%}.gs-hero h1{font-size:1.5rem}}@media (min-width: 601px) and (max-width: 900px){.quick-grid,.federal-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 901px){.quick-grid{grid-template-columns:repeat(4,1fr)}.federal-grid{grid-template-columns:repeat(3,1fr)}.state-links-grid{grid-template-columns:repeat(4,1fr)}}.petitions-lobbying{min-height:100vh;background:#f8f9fa}.pl-content{max-width:700px;margin:0 auto;padding:1rem;padding-bottom:100px}.pl-header{text-align:center;padding:1.5rem 0}.pl-header h1{margin:0;font-size:1.75rem}.pl-header p{margin:.25rem 0 0;color:#64748b}.tab-selector{display:flex;gap:.75rem;margin-bottom:1.5rem}.tab-btn{flex:1;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.tab-btn:hover{border-color:#4f46e5}.tab-btn.active{border-color:#4f46e5;background:#f0f0ff}.tab-label{display:block;font-weight:600;font-size:1rem}.tab-desc{display:block;font-size:.75rem;color:#64748b;margin-top:.25rem}.create-cta{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-radius:12px;margin-bottom:1rem}.create-cta h3{margin:0;font-size:1rem}.create-btn{padding:.75rem 1.25rem;background:#fff;color:#4f46e5;border:none;border-radius:8px;font-weight:600;cursor:pointer}.filter-row{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.25rem}.filter-btn{padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:20px;font-size:.85rem;cursor:pointer;white-space:nowrap}.filter-btn.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.pl-ad{margin:1rem 0;border-radius:12px;overflow:hidden}.petitions-list{display:flex;flex-direction:column;gap:1rem}.petition-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 4px #0000000d}.petition-category{display:inline-block;padding:.25rem .75rem;background:#f3f4f6;color:#4b5563;border-radius:20px;font-size:.75rem;font-weight:500;margin-bottom:.75rem}.petition-title{margin:0 0 .5rem;font-size:1.1rem;line-height:1.3}.petition-desc{margin:0 0 .75rem;font-size:.9rem;color:#64748b;line-height:1.5}.petition-target{font-size:.85rem;color:#64748b;margin-bottom:1rem}.petition-progress,.lobby-progress{margin-bottom:1rem}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:4px;transition:width .5s ease}.progress-stats{display:flex;justify-content:space-between;font-size:.85rem}.sig-count,.raised{font-weight:600;color:#4f46e5}.sig-goal,.goal{color:#64748b}.progress-meta{display:flex;justify-content:space-between;font-size:.75rem;color:#94a3b8;margin-top:.25rem}.petition-actions,.lobby-actions{display:flex;gap:.75rem;margin-bottom:1rem}.sign-btn,.contribute-btn{flex:1;padding:.875rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.sign-btn:hover,.contribute-btn:hover{background:#4338ca;transform:translateY(-1px)}.sign-btn.signed,.contribute-btn.contributed{background:#22c55e;cursor:default}.sign-btn:disabled,.contribute-btn:disabled{opacity:.7}.share-btn{padding:.875rem 1.25rem;background:#f3f4f6;color:#374151;border:none;border-radius:10px;font-weight:500;cursor:pointer}.share-wrapper{position:relative}.share-dropdown{position:absolute;bottom:100%;right:0;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;padding:.5rem;margin-bottom:.5rem;z-index:100}.share-dropdown button{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;border-radius:6px;white-space:nowrap}.share-dropdown button:hover{background:#f3f4f6}.recent-signers{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b}.signer-avatars{display:flex}.avatar{width:24px;height:24px;background:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;margin-right:-8px;border:2px solid white}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{width:100%;max-width:500px;max-height:90vh;background:#fff;border-radius:16px;overflow:hidden;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{width:36px;height:36px;background:#f3f4f6;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-body{padding:1.25rem}.modal-body label{display:block;font-weight:600;margin-bottom:.5rem;color:#374151}.modal-body input,.modal-body textarea,.modal-body select{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;margin-bottom:1rem;font-family:inherit}.modal-body textarea{min-height:100px;resize:vertical}.modal-body input:focus,.modal-body textarea:focus{border-color:#4f46e5;outline:none}.target-types{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.target-btn{padding:1rem;background:#f8f9fa;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;text-align:center}.target-btn.active{border-color:#4f46e5;background:#f0f0ff}.target-btn span{display:block}.target-btn span:first-child{font-size:1.5rem;margin-bottom:.25rem}.category-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.cat-btn{padding:.5rem 1rem;background:#f3f4f6;border:2px solid transparent;border-radius:20px;font-size:.85rem;cursor:pointer}.cat-btn.active{border-color:#4f46e5;background:#f0f0ff;color:#4f46e5}.next-btn,.submit-btn{width:100%;padding:1rem;background:#4f46e5;color:#fff;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;margin-top:.5rem}.next-btn:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed}.back-btn{width:auto;padding:.75rem 1rem;background:#f3f4f6;color:#374151;border:none;border-radius:10px;font-weight:500;cursor:pointer;margin-right:.5rem}.lobbying-explainer{padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:1rem}.lobbying-explainer h3{margin:0 0 .5rem;color:#92400e}.lobbying-explainer p{margin:0 0 1rem;color:#78350f;line-height:1.5}.learn-btn{padding:.75rem 1.25rem;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.impact-stats{display:flex;justify-content:space-around;padding:1.25rem;background:#fff;border-radius:12px;margin-bottom:1rem}.stat{text-align:center}.stat-num{display:block;font-size:1.5rem;font-weight:700;color:#4f46e5}.stat-label{font-size:.75rem;color:#64748b}.section-title{margin:1.5rem 0 1rem;font-size:1.1rem}.campaigns-list{display:flex;flex-direction:column;gap:1rem}.lobby-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 4px #0000000d}.lobby-badge{display:inline-block;padding:.25rem .75rem;background:#dcfce7;color:#166534;border-radius:20px;font-size:.75rem;font-weight:500;margin-bottom:.75rem}.lobby-title{margin:0 0 .5rem;font-size:1.1rem}.lobby-desc{margin:0 0 1rem;font-size:.9rem;color:#64748b;line-height:1.5}.lobby-goal,.lobby-bill,.lobby-firm{font-size:.85rem;color:#374151;margin-bottom:.5rem;padding:.5rem .75rem;background:#f8f9fa;border-radius:6px}.contribute-form{padding:1rem;background:#f8f9fa;border-radius:10px}.amount-options{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.amount-btn{padding:.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer}.amount-btn.active{border-color:#4f46e5;background:#f0f0ff;color:#4f46e5}.custom-amount{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;margin-bottom:.75rem}.confirm-btn{width:100%;padding:.875rem;background:#22c55e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;margin-bottom:.5rem}.cancel-btn{width:100%;padding:.75rem;background:#f3f4f6;color:#64748b;border:none;border-radius:8px;cursor:pointer}.transparency{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f3f4f6;font-size:.8rem}.trans-label{color:#64748b}.trans-link{color:#4f46e5;text-decoration:none}.start-campaign-cta{text-align:center;padding:2rem;background:#fff;border-radius:12px;margin-top:1.5rem}.start-campaign-cta h3{margin:0 0 .5rem}.start-campaign-cta p{margin:0 0 1rem;color:#64748b}.start-btn{padding:.875rem 2rem;background:#4f46e5;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.info-modal{padding:1.5rem}.info-modal h2{margin:0 0 1.5rem;text-align:center}.info-steps{margin-bottom:1.5rem}.info-step{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}.step-num{width:32px;height:32px;background:#4f46e5;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.info-step h4{margin:0 0 .25rem;font-size:1rem}.info-step p{margin:0;font-size:.9rem;color:#64748b}.info-legal,.info-fees{padding:1rem;background:#f8f9fa;border-radius:10px;margin-bottom:1rem}.info-legal h4,.info-fees h4{margin:0 0 .5rem;font-size:.95rem}.info-legal p,.info-fees p{margin:0;font-size:.85rem;color:#64748b;line-height:1.5}@media (prefers-color-scheme: dark){.petitions-lobbying{background:#0f0f1a}.tab-btn,.petition-card,.lobby-card,.impact-stats,.start-campaign-cta{background:#1a1a2e;color:#fff}.tab-btn{border-color:#3a3a5e}.modal-content{background:#1a1a2e;color:#fff}.modal-body input,.modal-body textarea,.modal-body select{background:#2a2a4e;border-color:#3a3a5e;color:#fff}}@media (max-width: 480px){.tab-selector{flex-direction:column}.create-cta{flex-direction:column;text-align:center;gap:1rem}.impact-stats{flex-direction:column;gap:1rem}.target-types{grid-template-columns:1fr}}.main-street-page{min-height:100vh;background:#f8fafc}.main-street-container{max-width:700px;margin:0 auto;padding:0 16px 100px}.main-street-hero{text-align:center;padding:24px 0 16px}.main-street-hero h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 8px}.hero-subtitle{font-size:1rem;color:#64748b;margin:0}.hero-subtitle strong{color:#2563eb}.address-section{margin-bottom:24px}.address-form{display:flex;gap:10px}.address-input-wrapper{flex:1;display:flex;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:0 12px;transition:border-color .2s}.address-input-wrapper:focus-within{border-color:#2563eb}.address-icon{font-size:1.2rem;margin-right:8px}.address-input{flex:1;border:none;outline:none;font-size:1rem;padding:14px 0;background:transparent}.clear-btn{background:none;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:4px 8px}.clear-btn:hover{color:#64748b}.search-btn{background:#2563eb;color:#fff;border:none;border-radius:12px;padding:14px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.search-btn:hover{background:#1d4ed8}.search-btn:disabled{background:#94a3b8;cursor:not-allowed}.location-confirmed{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:#ecfdf5;border-radius:8px;font-size:.9rem}.location-confirmed .check{color:#10b981;font-weight:700}.location-confirmed .location-text{color:#047857}.impact-section{margin-top:24px}.impact-section h2{font-size:1.25rem;color:#1e293b;margin:0 0 16px}.loading-state{text-align:center;padding:40px;color:#64748b}.spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.no-items{text-align:center;padding:40px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.no-items .hint{color:#94a3b8;font-size:.9rem;margin-top:8px}.impact-list{display:flex;flex-direction:column;gap:16px}.impact-card{background:#fff;border-radius:12px;padding:16px;border:1px solid #e2e8f0;border-left:4px solid #6b7280;transition:box-shadow .2s}.impact-card:hover{box-shadow:0 4px 12px #00000014}.impact-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.impact-icon{font-size:1.3rem}.impact-type{font-size:.75rem;font-weight:600;color:#fff;padding:3px 8px;border-radius:4px;text-transform:uppercase}.urgent-badge{font-size:.75rem;font-weight:600;color:#dc2626;margin-left:auto}.impact-title{font-size:1.05rem;font-weight:600;color:#1e293b;margin:0 0 8px;line-height:1.4}.impact-description{font-size:.9rem;color:#64748b;margin:0 0 12px;line-height:1.5}.impact-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.meta-item{font-size:.8rem;color:#64748b}.meta-item.cost{color:#059669;font-weight:500}.impact-actions{display:flex;gap:10px}.analyze-btn{flex:1;background:#2563eb;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.analyze-btn:hover{background:#1d4ed8}.meeting-btn{background:#f1f5f9;color:#475569;border:none;border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s}.meeting-btn:hover{background:#e2e8f0}.analysis-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000;animation:fadeIn .2s}.analysis-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.close-modal{position:absolute;top:12px;right:12px;background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b}.close-modal:hover{background:#e2e8f0}.modal-header{display:flex;align-items:center;gap:12px;padding:20px 20px 0}.modal-icon{font-size:2rem}.modal-header h2{font-size:1.2rem;color:#1e293b;margin:0;padding-right:40px}.analysis-loading{padding:60px 20px;text-align:center;color:#64748b}.analysis-content{padding:20px}.analysis-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.analysis-section:last-child{border-bottom:none;margin-bottom:0}.analysis-section h3{font-size:1rem;color:#1e293b;margin:0 0 12px}.impact-summary{background:#fef3c7;border-radius:12px;padding:16px;border:none}.impact-text{margin:0 0 12px;color:#92400e;line-height:1.5}.dollar-impact,.distance-impact{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid rgba(0,0,0,.1)}.dollar-label,.distance-label{font-size:.9rem;color:#78350f}.dollar-amount{font-weight:700;color:#92400e;font-size:1.1rem}.distance-amount{font-weight:600;color:#92400e}.analysis-section p{margin:0;color:#475569;line-height:1.6}.lobbying-section{background:#fef2f2;border-radius:12px;padding:16px}.lobbying-intro{color:#991b1b!important;margin-bottom:16px!important}.lobbying-side{margin-bottom:12px}.lobbying-side h4{font-size:.9rem;margin:0 0 8px;color:#1e293b}.lobbying-side ul{margin:0;padding-left:0;list-style:none}.lobbying-side li{padding:6px 0;font-size:.9rem;color:#475569;border-bottom:1px solid rgba(0,0,0,.05)}.lobbying-side li:last-child{border-bottom:none}.lobby-amount{background:#fee2e2;color:#991b1b;padding:2px 6px;border-radius:4px;font-size:.8rem;margin-left:8px}.lobby-reason{color:#6b7280;font-style:italic}.action-section{background:#ecfdf5;border-radius:12px;padding:16px}.action-buttons{display:flex;flex-direction:column;gap:10px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:.95rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .2s}.action-btn.primary{background:#059669;color:#fff}.action-btn.primary:hover{background:#047857}.action-btn:not(.primary){background:#fff;color:#047857;border:1px solid #a7f3d0}.action-btn:not(.primary):hover{background:#d1fae5}.action-btn.share{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.action-btn.share:hover{background:#bfdbfe}.info-section{margin-top:40px;padding:24px;background:#fff;border-radius:16px;border:1px solid #e2e8f0}.info-section h3{font-size:1.1rem;color:#1e293b;margin:0 0 20px;text-align:center}.how-it-works{display:flex;flex-direction:column;gap:16px}.step{display:flex;align-items:center;gap:12px}.step-num{width:32px;height:32px;background:#2563eb;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.step-text{font-size:.95rem;color:#475569}@media (prefers-color-scheme: dark){.main-street-page{background:#0f172a}.main-street-hero h1{color:#f1f5f9}.hero-subtitle{color:#94a3b8}.address-input-wrapper{background:#1e293b;border-color:#334155}.address-input{color:#f1f5f9}.location-confirmed{background:#064e3b}.location-confirmed .location-text{color:#a7f3d0}.impact-section h2{color:#f1f5f9}.impact-card{background:#1e293b;border-color:#334155}.impact-title{color:#f1f5f9}.impact-description{color:#94a3b8}.meeting-btn{background:#334155;color:#e2e8f0}.analysis-modal{background:#1e293b}.modal-header h2{color:#f1f5f9}.close-modal{background:#334155;color:#e2e8f0}.analysis-section{border-color:#334155}.analysis-section h3{color:#f1f5f9}.analysis-section p{color:#cbd5e1}.impact-summary{background:#78350f}.impact-text,.dollar-label,.distance-label{color:#fef3c7}.dollar-amount,.distance-amount{color:#fcd34d}.lobbying-section{background:#7f1d1d}.lobbying-intro{color:#fecaca!important}.lobbying-side h4,.lobbying-side li{color:#e2e8f0}.action-section{background:#064e3b}.action-btn:not(.primary){background:#1e293b;color:#a7f3d0;border-color:#047857}.info-section{background:#1e293b;border-color:#334155}.info-section h3{color:#f1f5f9}.step-text{color:#cbd5e1}.no-items{background:#1e293b;border-color:#334155;color:#e2e8f0}}@media (max-width: 480px){.main-street-hero h1{font-size:1.5rem}.address-form{flex-direction:column}.search-btn{width:100%}.impact-meta{flex-direction:column;gap:6px}.impact-actions{flex-direction:column}.analysis-modal{max-height:90vh;border-radius:16px 16px 0 0;margin-top:auto}.modal-header h2{font-size:1.1rem}}.admin-page{min-height:100vh;background:#0f172a;padding-bottom:80px}.admin-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.admin-login h1{color:#fff;font-size:24px;margin-bottom:24px}.admin-login form{display:flex;gap:12px}.admin-login input{padding:14px 20px;font-size:18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;width:150px;text-align:center;letter-spacing:8px}.admin-login button{padding:14px 24px;background:#2563eb;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.admin-login .error{color:#f87171;margin-top:12px}.admin-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{color:#fff;font-size:24px;margin:0}.logout-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:13px;cursor:pointer}.admin-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;margin-bottom:20px}.admin-section h2{color:#fff;font-size:16px;margin:0 0 16px}.quick-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.nav-link{display:block;padding:12px 16px;background:#2563eb33;border:1px solid rgba(37,99,235,.3);border-radius:10px;color:#60a5fa;text-decoration:none;font-size:14px;transition:all .2s}.nav-link:hover{background:#2563eb4d}.nav-hint{font-size:12px;color:#ffffff80;margin:0;font-style:italic}.toggle-list{display:flex;flex-direction:column;gap:12px}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff0d;border-radius:12px}.toggle-item strong{color:#fff;font-size:14px;display:block}.toggle-item p{color:#ffffff80;font-size:12px;margin:2px 0 0}.switch{position:relative;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#fff3;border-radius:28px;transition:.3s}.slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}input:checked+.slider{background:#2563eb}input:checked+.slider:before{transform:translate(22px)}.post-form{display:flex;flex-direction:column;gap:12px}.post-form select,.post-form input,.post-form textarea{padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:14px}.post-form textarea{min-height:80px;resize:vertical}.post-form select option{background:#1e293b;color:#fff}.add-post-btn{padding:14px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.clear-btn{margin-top:12px;padding:10px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff9;font-size:12px;cursor:pointer;width:100%}.data-display{background:#0000004d;padding:12px;border-radius:8px;color:#86efac;font-size:12px;overflow-x:auto;max-height:200px}.admin-section.danger{border-color:#ef44444d;background:#ef44441a}.danger-btn{width:100%;padding:14px;background:#dc2626;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.version-badge{position:fixed;bottom:70px;right:16px;background:#ffffff1a;color:#ffffff80;padding:4px 10px;border-radius:12px;font-size:10px;z-index:50}.feedback-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#f3f4f6;padding:16px;border-radius:10px;text-align:center}.stat-card.new{background:#fef3c7}.stat-card.bug{background:#fee2e2}.stat-card.feature{background:#dbeafe}.stat-num{display:block;font-size:28px;font-weight:700;color:#111827}.stat-label{font-size:12px;color:#6b7280;text-transform:uppercase}.refresh-btn{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;margin-bottom:16px}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-list{display:flex;flex-direction:column;gap:12px}.no-feedback{text-align:center;color:#6b7280;padding:20px}.feedback-item{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:16px}.feedback-item.new{border-color:#fbbf24;background:#fffbeb}.feedback-item.resolved{border-color:#10b981;opacity:.7}.feedback-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-type{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:#f3f4f6}.feedback-type.bug{background:#fee2e2;color:#dc2626}.feedback-type.feature{background:#dbeafe;color:#2563eb}.feedback-type.general{background:#f3f4f6;color:#6b7280}.feedback-date{font-size:12px;color:#9ca3af}.feedback-message{margin:0 0 12px;color:#111827;line-height:1.5}.feedback-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#6b7280;margin-bottom:12px}.feedback-actions select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;cursor:pointer}@media (max-width: 600px){.feedback-stats{grid-template-columns:repeat(2,1fr)}}.admin-ratings-page{min-height:100vh;background:#0f172a;color:#fff}.admin-content{max-width:1000px;margin:0 auto;padding:24px}.admin-content h1{font-size:2rem;margin-bottom:8px}.admin-desc{color:#fff9;margin-bottom:24px}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.message.success{background:#22c55e33;border:1px solid #22c55e;color:#86efac}.message.error{background:#ef444433;border:1px solid #ef4444;color:#fca5a5}.message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer}.rep-selector{margin-bottom:32px}.rep-selector h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.rep-btn{background:#ffffff14;border:2px solid transparent;border-radius:10px;padding:12px;cursor:pointer;text-align:left;transition:all .2s}.rep-btn:hover{background:#ffffff1f}.rep-btn.selected{border-color:#fde047;background:#fde0471a}.rep-btn.D{border-left:4px solid #3b82f6}.rep-btn.R{border-left:4px solid #ef4444}.rep-btn .rep-name{display:block;font-weight:600;color:#fff;margin-bottom:4px}.rep-btn .rep-office{font-size:.8rem;color:#ffffff80}.add-rating-section{background:#ffffff0d;border-radius:12px;padding:24px;margin-bottom:32px}.add-rating-section h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.quick-groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;align-items:center}.quick-label{font-size:.85rem;color:#fff9}.quick-btn{background:#ffffff1a;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.quick-btn:hover{background:#fff3}.rating-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-group{flex:1;display:flex;flex-direction:column}.form-group.wide{flex:2}.form-group label{font-size:.85rem;font-weight:600;margin-bottom:6px;color:#fffc}.form-group input,.form-group select,.form-group textarea{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px 12px;color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#fde047}.form-group select option{background:#1e293b;color:#fff}.form-hint{font-size:.75rem;color:#ffffff80;margin-top:4px}.submit-btn{background:#fde047;color:#0f172a;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:all .2s}.submit-btn:hover{background:#fef08a}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.existing-ratings{margin-bottom:32px}.existing-ratings h2{font-size:1.25rem;margin-bottom:16px;color:#fde047}.no-ratings{color:#ffffff80;font-style:italic}.ratings-table{width:100%;border-collapse:collapse}.ratings-table th,.ratings-table td{padding:12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.ratings-table th{font-size:.8rem;text-transform:uppercase;color:#ffffff80}.group-cell{display:flex;align-items:center;gap:8px}.rating-cell{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.9rem}.ratings-table a{color:#60a5fa;text-decoration:none}.ratings-table a:hover{text-decoration:underline}.delete-btn{background:#ef444433;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#ef444466}.sources-reference{background:#ffffff0d;border-radius:12px;padding:24px}.sources-reference h2{font-size:1.25rem;margin-bottom:8px;color:#fde047}.sources-reference>p{color:#fff9;margin-bottom:16px}.sources-grid{display:flex;flex-wrap:wrap;gap:10px}.source-link{background:#ffffff1a;color:#fff;text-decoration:none;padding:8px 14px;border-radius:8px;font-size:.9rem;transition:all .2s}.source-link:hover{background:#fff3}@media (max-width: 768px){.admin-content{padding:16px}.rep-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.ratings-table{font-size:.85rem}.ratings-table th,.ratings-table td{padding:8px}}.reps-gallery-page{min-height:100vh;background:#000;color:#fff}.gallery-container{max-width:1200px;margin:0 auto;padding:0 12px 100px}.gallery-header{padding:20px 0;position:sticky;top:60px;z-index:10;background:linear-gradient(to bottom,#000 80%,transparent)}.header-content{text-align:center;margin-bottom:16px}.gallery-header h1{font-size:28px;font-weight:700;margin:0;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.location-label{font-size:14px;color:#888;margin:4px 0 0}.filter-pills{display:flex;gap:8px;overflow-x:auto;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pills .pill{flex-shrink:0;padding:8px 16px;border:1px solid #333;border-radius:20px;background:transparent;color:#888;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.filter-pills .pill:hover{border-color:#555;color:#fff}.filter-pills .pill.active{background:#fff;color:#000;border-color:#fff}.reps-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:16px}@media (min-width: 768px){.reps-gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width: 1024px){.reps-gallery-grid{grid-template-columns:repeat(4,1fr)}}.rep-visual-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;background:#111}.rep-visual-card:hover{transform:scale(1.02);box-shadow:0 20px 40px #00000080}.rep-visual-card:active{transform:scale(.98)}.rep-visual-card.hero{grid-column:span 2;aspect-ratio:16/10}.rep-visual-card.large{aspect-ratio:3/4}.rep-visual-card.medium,.rep-visual-card.small{aspect-ratio:1/1}@media (max-width: 767px){.rep-visual-card.hero{grid-column:span 2;aspect-ratio:4/3}}.rep-photo-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.rep-photo{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease}.rep-visual-card:hover .rep-photo{transform:scale(1.05)}.rep-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#333)}.rep-initial{font-size:72px;font-weight:700;color:#fff3}.rep-photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 30%,rgba(0,0,0,.1) 60%,transparent 100%)}.party-badge{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;box-shadow:0 2px 8px #0000004d;z-index:2}.party-badge.dem{background:linear-gradient(135deg,#3b82f6,#2563eb)}.party-badge.rep{background:linear-gradient(135deg,#ef4444,#dc2626)}.party-badge.ind{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.level-badge{position:absolute;top:12px;left:12px;font-size:16px;background:#00000080;padding:4px 8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.rep-info-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;z-index:2}.rep-name{font-size:20px;font-weight:700;margin:0;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.5)}.rep-visual-card.hero .rep-name{font-size:28px}.rep-title{font-size:14px;font-weight:600;color:#fff;margin:4px 0 0;opacity:.9}.rep-subtitle{font-size:12px;color:#ffffffb3;margin:2px 0 0}.rep-quick-stats{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:18px;font-weight:700;color:#fff}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#fff9}.rep-quick-actions{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .3s ease;z-index:3}.rep-visual-card:hover .rep-quick-actions{opacity:1}.quick-action{width:40px;height:40px;border-radius:50%;border:none;background:#ffffffe6;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s;text-decoration:none}.quick-action:hover{background:#fff;transform:scale(1.1)}.rep-visual-card.democrat{border:2px solid transparent}.rep-visual-card.democrat:hover{border-color:#3b82f6}.rep-visual-card.republican{border:2px solid transparent}.rep-visual-card.republican:hover{border-color:#ef4444}.gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:#888}.loading-pulse{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#333,#555);animation:pulse 1.5s ease-in-out infinite;margin-bottom:16px}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:1}}.no-reps-card{grid-column:span 2;padding:60px 20px;text-align:center;background:#111;border-radius:16px;border:1px dashed #333}.no-reps-card p{color:#888;margin:0 0 16px}.no-reps-card button{padding:10px 24px;background:#fff;color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer}.rep-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rep-modal{background:#111;border-radius:20px;width:100%;max-width:400px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:20px;cursor:pointer;z-index:10}.modal-photo{width:100%;aspect-ratio:1/1;overflow:hidden}.modal-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.modal-info{padding:20px}.modal-info h2{font-size:24px;margin:0}.modal-title{font-size:16px;font-weight:600;color:#fff;margin:4px 0}.modal-subtitle{font-size:14px;color:#888;margin:0}.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;padding:16px;background:#ffffff0d;border-radius:12px}.modal-stat{text-align:center}.modal-stat .value{display:block;font-size:20px;font-weight:700}.modal-stat .label{display:block;font-size:11px;color:#888;text-transform:uppercase}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-btn{flex:1;min-width:100px;padding:12px 16px;border-radius:10px;border:none;font-size:14px;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s}.modal-btn.call{background:#22c55e;color:#fff}.modal-btn.email{background:#3b82f6;color:#fff}.modal-btn.web{background:#8b5cf6;color:#fff}.modal-btn.detail{width:100%;margin-top:12px;background:#fff;color:#000}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.gallery-footer{text-align:center;padding:40px 20px;color:#555;font-size:13px}.gallery-footer a{color:#888;text-decoration:none;margin-left:8px}.gallery-footer a:hover{color:#fff;text-decoration:underline}@media (max-width: 480px){.gallery-header{top:56px;padding:16px 0}.gallery-header h1{font-size:24px}.rep-visual-card.hero .rep-name{font-size:22px}.rep-name{font-size:16px}.rep-title{font-size:12px}.rep-quick-stats{gap:12px}.stat-value{font-size:16px}.quick-action{width:36px;height:36px;font-size:16px}.rep-quick-actions{opacity:1;top:auto;bottom:12px;right:12px;flex-direction:row;transform:none}}.political-feed-page{min-height:100vh;background:#000;overflow:hidden}.feed-container{position:fixed;top:60px;left:0;right:0;bottom:0;overflow:hidden}.feed-scroll{transition:transform .5s cubic-bezier(.4,0,.2,1)}.feed-item{height:calc(100vh - 60px);width:100%;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.feed-card{position:relative;width:100%;max-width:500px;height:100%;max-height:700px;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 20px 60px #00000080}.card-photo-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.card-photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center top}.photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.7) 30%,rgba(0,0,0,.3) 60%,transparent 100%)}.card-content{position:relative;z-index:1;padding:24px;color:#fff}.card-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.bill-badge{background:#3b82f64d}.party-dot{width:8px;height:8px;border-radius:50%}.party-dot.dem{background:#3b82f6;box-shadow:0 0 8px #3b82f6}.party-dot.rep{background:#ef4444;box-shadow:0 0 8px #ef4444}.card-name{font-size:32px;font-weight:800;margin:0 0 8px;line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.5)}.card-headline,.card-summary,.card-description{font-size:16px;color:#ffffffe6;margin:0 0 16px;line-height:1.5}.card-meta{display:flex;gap:16px;font-size:13px;color:#fff9}.bill-number{display:block;font-size:14px;font-weight:700;color:#60a5fa;margin-bottom:8px}.bill-status{margin-bottom:16px}.status-label{padding:6px 14px;background:#22c55e33;border:1px solid rgba(34,197,94,.4);border-radius:20px;font-size:12px;font-weight:600;color:#86efac}.support-bar{height:8px;background:#333;border-radius:4px;display:flex;overflow:hidden;margin-bottom:8px}.support-fill{background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .5s ease}.oppose-fill{background:linear-gradient(90deg,#ef4444,#dc2626);transition:width .5s ease}.support-labels{display:flex;justify-content:space-between;font-size:13px}.support-labels .support{color:#86efac}.support-labels .oppose{color:#fca5a5}.vote-result{margin:20px 0}.vote-bar{display:flex;height:48px;border-radius:8px;overflow:hidden;margin-bottom:8px}.yes-bar{background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;transition:width .5s ease}.no-bar{background:linear-gradient(135deg,#ef4444,#dc2626);flex:1;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff}.vote-labels{display:flex;justify-content:space-between;font-size:12px;color:#fff9;text-transform:uppercase}.key-voters{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.voters-label{font-size:12px;color:#ffffff80;text-transform:uppercase;margin:0 0 8px}.voter-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff1a;border-radius:8px;font-size:14px;margin-bottom:6px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.stat-box{text-align:center;padding:20px;background:#ffffff1a;border-radius:16px}.stat-box .stat-value{display:block;font-size:36px;font-weight:800;color:#fff}.stat-box .stat-change{display:block;font-size:14px;font-weight:600;color:#86efac;margin:4px 0}.stat-box .stat-label{display:block;font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.quote-card .card-content{display:flex;flex-direction:column;justify-content:center;height:100%;padding:40px 24px}.quote-mark{font-size:120px;font-weight:800;color:#ffffff1a;line-height:.5;margin-bottom:-20px}.quote-text{font-size:24px;font-weight:500;line-height:1.5;color:#fff;margin:0 0 32px;font-style:italic}.quote-author{display:flex;align-items:center;gap:12px}.author-photo{width:48px;height:48px;border-radius:50%;object-fit:cover}.author-info{display:flex;flex-direction:column}.author-name{font-size:16px;font-weight:700}.author-title{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffffb3}.reaction-bar{position:absolute;right:16px;bottom:100px;display:flex;flex-direction:column;gap:16px;z-index:10}.reaction-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:16px;cursor:pointer;transition:all .2s}.reaction-btn:hover{background:#fff3;transform:scale(1.1)}.reaction-btn.active{background:#3b82f64d}.reaction-icon{font-size:24px}.reaction-label{font-size:10px;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.feed-progress{position:fixed;left:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:100}.progress-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s}.progress-dot.active{background:#fff;transform:scale(1.5)}.progress-dot.passed{background:#ffffff80}.scroll-hint{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#ffffff80;font-size:12px;animation:bounce 2s infinite;z-index:100}.scroll-arrow{font-size:20px}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.nav-hint{position:fixed;bottom:24px;right:24px;padding:8px 16px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:12px;color:#fff9;z-index:100}@media (max-width: 480px){.feed-item{padding:12px}.feed-card{max-height:none;height:100%}.card-name{font-size:26px}.card-headline,.card-summary{font-size:15px}.reaction-bar{right:12px;bottom:80px}.reaction-btn{padding:10px}.reaction-icon{font-size:20px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat-box{padding:12px 8px}.stat-box .stat-value{font-size:24px}.quote-text{font-size:20px}.quote-mark{font-size:80px}.feed-progress{left:8px}}@media (max-height: 500px){.feed-card{flex-direction:row}.card-photo-bg{width:40%}.card-content{width:60%}.reaction-bar{flex-direction:row;bottom:16px;right:50%;transform:translate(50%)}}@media (min-width: 768px){.feed-item{padding:40px}.feed-card{max-width:450px;max-height:750px}.card-name{font-size:36px}.reaction-bar{right:calc(50% - 280px)}}.video-feed-page{min-height:100vh;background:#000;overflow:hidden}.video-container{position:fixed;top:60px;left:0;right:0;bottom:0;overflow:hidden;background:#000}.video-stack{height:100%;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.video-card{position:relative;height:calc(100vh - 60px);width:100%;overflow:hidden}.video-player{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 30%,rgba(0,0,0,.1) 50%,transparent 70%);pointer-events:none}.video-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff3;z-index:10}.progress-fill{height:100%;background:#fff;transition:width .1s linear}.video-info{position:absolute;bottom:80px;left:16px;right:80px;color:#fff;z-index:5}.source-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.source-icon{font-size:12px}.rep-info{display:flex;align-items:center;gap:8px;margin-bottom:8px}.party-indicator{width:8px;height:8px;border-radius:50%}.party-indicator.dem{background:#3b82f6;box-shadow:0 0 8px #3b82f6}.party-indicator.rep{background:#ef4444;box-shadow:0 0 8px #ef4444}.rep-name{font-size:15px;font-weight:700}.rep-title{font-size:13px;color:#ffffffb3}.video-title{font-size:20px;font-weight:800;margin:0 0 8px;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.5)}.video-description{font-size:14px;color:#ffffffe6;margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vote-result-mini{display:flex;align-items:center;gap:12px;margin-bottom:12px}.vote-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:700}.vote-badge.passed{background:#22c55e;color:#fff}.vote-badge.failed{background:#ef4444;color:#fff}.vote-count{font-size:14px;font-weight:600;color:#fffc}.video-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.video-tags .tag{font-size:13px;color:#ffffffb3}.video-stats{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffff80}.video-actions{position:absolute;right:12px;bottom:120px;display:flex;flex-direction:column;align-items:center;gap:20px;z-index:10}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:8px;transition:transform .2s}.action-btn:hover{transform:scale(1.1)}.action-btn:active{transform:scale(.95)}.action-btn.active .action-icon{animation:heartPop .4s ease}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.action-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.action-count{font-size:11px;color:#fff;font-weight:600}.profile-btn{position:relative}.profile-btn img{width:48px;height:48px;border-radius:50%;border:2px solid #fff;object-fit:cover}.mute-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;background:#00000080;padding:20px;border-radius:50%;animation:fadeInOut 1s ease forwards}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0}}.duration-badge{position:absolute;top:16px;right:16px;padding:4px 10px;background:#0009;border-radius:4px;font-size:12px;font-weight:600;color:#fff;z-index:5}.video-nav-dots{position:fixed;left:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:100}.nav-dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .2s}.nav-dot:hover{background:#fff9;transform:scale(1.3)}.nav-dot.active{background:#fff;transform:scale(1.5);box-shadow:0 0 8px #ffffff80}.nav-dot.passed{background:#fff9}.video-counter{position:fixed;bottom:16px;right:16px;padding:6px 12px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;font-size:12px;color:#ffffffb3;z-index:100}.swipe-hint{position:fixed;bottom:60px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff9;font-size:13px;animation:float 2s ease-in-out infinite;z-index:100}.swipe-arrow{font-size:24px;animation:bounce 1s ease-in-out infinite}@keyframes float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.control-hints{position:fixed;bottom:16px;left:16px;font-size:11px;color:#fff6;z-index:100}@media (max-width: 480px){.video-info{bottom:100px;right:70px}.video-title{font-size:18px}.video-description{font-size:13px}.video-actions{right:8px;bottom:140px;gap:16px}.action-icon{font-size:28px}.profile-btn img{width:40px;height:40px}.nav-dot{width:5px;height:5px}}@media (min-width: 768px){.video-card{max-width:450px;margin:0 auto}.video-info{max-width:350px}.video-actions{right:calc(50% - 260px)}}@media (orientation: landscape) and (max-height: 500px){.video-info{bottom:60px;max-width:50%}.video-actions{flex-direction:row;bottom:60px;right:16px;gap:16px}.action-btn{flex-direction:row;gap:8px}}.heart-burst{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:120px;pointer-events:none;animation:heartBurst .8s ease forwards;z-index:100}@keyframes heartBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}30%{transform:translate(-50%,-50%) scale(.95)}45%{transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.concept-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:repeating-linear-gradient(45deg,#ff6b6b,#ff6b6b 10px,#ffd93d 10px,#ffd93d 20px);color:#000;font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:1px;border-radius:4px;cursor:help;position:relative;animation:concept-pulse 2s infinite}.concept-badge-small{padding:2px 6px;font-size:9px}.concept-badge-large{padding:6px 12px;font-size:12px}@keyframes concept-pulse{0%,to{opacity:1}50%{opacity:.8}}.concept-badge-icon{font-size:12px}.concept-badge-text{font-family:monospace}.concept-badge-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:12px;background:#1a1a2e;border:2px solid #ff6b6b;border-radius:8px;min-width:200px;max-width:300px;z-index:1000;box-shadow:0 4px 20px #0000004d}.concept-badge-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#ff6b6b}.concept-badge-tooltip strong{display:block;color:#ff6b6b;font-size:12px;margin-bottom:4px}.concept-badge-tooltip p{color:#fff;font-size:11px;margin:0 0 8px;line-height:1.4}.concept-badge-tooltip small{color:#888;font-size:10px}.concept-wrapper{position:relative;border:2px dashed #ff6b6b;border-radius:8px;padding:8px;background:#ff6b6b0d}.concept-wrapper .concept-badge{position:absolute;top:-12px;right:8px}.concept-content{opacity:.85}.freshness-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;border-radius:12px;font-weight:500}.freshness-fresh{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.freshness-aging{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.freshness-stale{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.freshness-unknown{background:#9ca3af26;color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.source-link{display:inline-flex;align-items:center;gap:4px;color:#60a5fa;font-size:11px;text-decoration:none;transition:color .2s}.source-link:hover{color:#93c5fd;text-decoration:underline}.source-icon{font-size:10px}.source-unknown{color:#6b7280;font-style:italic}.data-integrity-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.1)}.data-integrity-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}[data-concept=true]{position:relative;border:2px dashed #ff6b6b!important}[data-concept=true]:before{content:"⚠️ CONCEPT";position:absolute;top:-10px;right:8px;padding:2px 6px;background:#ff6b6b;color:#000;font-size:9px;font-weight:700;border-radius:4px;z-index:10}@media (max-width: 480px){.concept-badge-tooltip{left:0;transform:none;min-width:150px}.data-integrity-footer{flex-direction:column;align-items:flex-start}}.congress-feed-page{min-height:100vh;background:#f8fafc!important;padding-bottom:80px}.congress-feed-container{max-width:600px;margin:0 auto;padding:20px 16px}.feed-header h1,.congress-feed-page h1{font-size:28px;font-weight:800;margin:0 0 8px;color:#1e293b!important}.feed-subtitle,.congress-feed-page .feed-subtitle{font-size:14px;color:#64748b!important;margin:0}.concept-notice{margin-top:16px;margin-bottom:16px;padding:12px 16px;background:#fef3c7!important;border:1px solid #fbbf24!important;border-radius:8px;font-size:13px;color:#92400e!important}.concept-notice code{background:#0000001a!important;padding:2px 6px;border-radius:4px;font-family:monospace;color:#92400e!important}.concept-notice a{display:block;margin-top:8px;color:#2563eb!important;text-decoration:none}.feed-filters{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding:4px 0}.filter-btn{padding:8px 16px;background:#fff!important;border:1px solid #d1d5db!important;border-radius:20px;color:#374151!important;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:#f3f4f6!important}.filter-btn.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}.activity-card{background:#fff!important;border:1px solid #d1d5db!important;border-radius:16px!important;padding:16px!important;margin-bottom:16px!important;position:relative;box-shadow:0 1px 3px #0000001a!important}.activity-card.concept{border-style:dashed!important;border-color:#fbbf24!important}.activity-card.vote{border-left:4px solid #3b82f6!important}.activity-card.bill{border-left:4px solid #8b5cf6!important}.activity-card *{color:#1e293b}.activity-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.activity-type-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.activity-type-badge.vote{background:#dbeafe!important;color:#1d4ed8!important}.activity-type-badge.bill{background:#ede9fe!important;color:#6d28d9!important}.activity-chamber{font-size:12px;color:#6b7280!important;background:#f3f4f6!important;padding:2px 8px;border-radius:4px}.activity-date{font-size:12px;color:#9ca3af!important;margin-left:auto}.activity-content{margin-bottom:16px}.activity-title{font-size:16px;font-weight:600;color:#1e293b!important;margin:0 0 4px;line-height:1.4}.activity-subtitle{font-size:13px;color:#3b82f6!important;margin:0 0 8px;font-weight:500}.activity-description{font-size:14px;color:#4b5563!important;margin:0;line-height:1.5}.vote-result{margin-top:12px;display:flex;align-items:center;gap:12px}.vote-bar{flex:1;display:flex;height:28px;border-radius:6px;overflow:hidden;font-size:12px;font-weight:600}.vote-yes{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;padding:0 8px;min-width:50px}.vote-no{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;flex:1;padding:0 8px}.vote-status{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.vote-status.passed{background:#dcfce7!important;color:#16a34a!important}.vote-status.failed{background:#fee2e2!important;color:#dc2626!important}.activity-responses-preview{display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #e5e7eb!important;margin-top:12px}.responses-count{font-size:13px;color:#6b7280!important}.response-avatars{display:flex;margin-left:auto}.response-avatar{width:28px;height:28px;border-radius:50%;border:2px solid #ffffff!important;margin-left:-8px}.response-avatar:first-child{margin-left:0}.activity-actions{display:flex;gap:4px;padding-top:12px;border-top:1px solid #e5e7eb!important}.activity-actions .action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;background:#f9fafb!important;border:1px solid #e5e7eb!important;border-radius:8px;color:#4b5563!important;font-size:12px;cursor:pointer;transition:all .2s;text-decoration:none}.activity-actions .action-btn:hover{background:#f3f4f6!important;color:#1f2937!important}.activity-actions .respond-btn:hover{background:#dbeafe!important;color:#1d4ed8!important}.action-icon{font-size:16px}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px}.loading-state p,.empty-state p,.error-state p{color:#6b7280!important}.spinner{width:32px;height:32px;border:3px solid #e5e7eb!important;border-top-color:#2563eb!important;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.error-state button{margin-top:12px;padding:8px 20px;background:#2563eb!important;border:none;border-radius:8px;color:#fff!important;cursor:pointer}.create-response-fab{position:fixed;bottom:90px;right:20px;width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#8b5cf6)!important;border:none;border-radius:50%;color:#fff!important;font-size:24px;cursor:pointer;box-shadow:0 4px 20px #3b82f666;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;z-index:100}.response-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080!important;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.response-modal{width:100%;max-width:480px;background:#fff!important;border-radius:20px;padding:24px;position:relative;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:#f3f4f6!important;border:none;border-radius:50%;color:#374151!important;font-size:16px;cursor:pointer}.modal-header h3{font-size:14px;color:#6b7280!important;margin:0 0 8px;font-weight:500}.activity-preview{display:flex;align-items:center;gap:8px;padding:12px;background:#f9fafb!important;border-radius:8px}.activity-title-preview{font-size:13px;color:#374151!important}.response-type-chooser{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:#f9fafb!important;border:2px solid #e5e7eb!important;border-radius:16px;cursor:pointer;transition:all .2s}.type-option:hover{background:#f3f4f6!important;border-color:#d1d5db!important}.type-label{font-size:14px;font-weight:600;color:#1f2937!important}.type-hint{font-size:11px;color:#9ca3af!important}.text-response-form textarea{width:100%;padding:16px;background:#fff!important;border:1px solid #d1d5db!important;border-radius:12px;color:#1f2937!important;font-size:15px;resize:none;font-family:inherit}.text-response-form textarea:focus{outline:none;border-color:#2563eb!important}.char-count{text-align:right;font-size:12px;color:#9ca3af!important;margin-top:8px}.form-actions{display:flex;gap:12px;margin-top:20px}.btn-secondary{flex:1;padding:12px 20px;background:#f3f4f6!important;border:1px solid #e5e7eb!important;border-radius:10px;color:#374151!important;font-size:14px;font-weight:600;cursor:pointer}.btn-primary{flex:1;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6)!important;border:none;border-radius:10px;color:#fff!important;font-size:14px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.recording-preview{width:100%;aspect-ratio:9/16;max-height:400px;background:#1f2937!important;border-radius:12px;object-fit:cover}.recording-indicator{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#1f2937!important}.rec-dot{color:#ef4444!important;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.rec-max{font-size:14px;color:#9ca3af!important;font-weight:400}.stop-btn{padding:14px 32px;background:#ef4444!important;border:none;border-radius:30px;color:#fff!important;font-size:16px;font-weight:600;cursor:pointer}@media (max-width: 480px){.congress-feed-container{padding:16px 12px}.activity-card{padding:14px!important}.activity-title{font-size:15px}.activity-actions .action-btn span:not(.action-icon){display:none}.response-modal{padding:20px;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-width:none;max-height:85vh}.response-type-chooser{grid-template-columns:1fr}}.trending-page{min-height:100vh;background:#000;padding-bottom:70px}.trending-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 20px;background:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,transparent 100%)}.trending-header h1{font-size:24px;font-weight:800;color:#fff;margin:0}.trending-header p{font-size:13px;color:#fff9;margin:4px 0 0}.concept-banner{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:100}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 140px);color:#fff9}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#ff2d55;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 140px);text-align:center;padding:20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h2{color:#fff;margin:0 0 8px}.empty-state p{color:#fff9;margin:0 0 24px}.empty-state button{padding:14px 28px;background:linear-gradient(135deg,#ff2d55,#ff6b6b);border:none;border-radius:25px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.response-feed{scroll-snap-type:y mandatory;overflow-y:scroll;height:calc(100vh - 70px);padding-top:80px}.response-feed::-webkit-scrollbar{display:none}.response-card{scroll-snap-align:start;scroll-snap-stop:always;height:calc(100vh - 140px);position:relative;display:flex;margin-bottom:10px}.response-card[data-concept=true]{border:2px dashed rgba(255,107,107,.3)}.response-content{flex:1;position:relative;background:#111;border-radius:12px;overflow:hidden;margin:0 60px 0 10px}.response-video{width:100%;height:100%;object-fit:cover}.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.placeholder-icon{font-size:80px;margin-bottom:16px;opacity:.6}.video-placeholder p{color:#ffffff80;font-size:14px}.concept-tag{margin-top:12px;padding:4px 12px;background:#ff6b6b33;border:1px solid rgba(255,107,107,.4);border-radius:12px;font-size:11px;color:#ff6b6b;font-weight:600}.text-response{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(135deg,#1e3a5f,#0d1b2a)}.text-content{font-size:22px;line-height:1.5;color:#fff;text-align:center;font-weight:500}.content-overlay{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);pointer-events:none}.user-info{position:absolute;bottom:80px;left:16px;display:flex;align-items:center;gap:12px;z-index:10}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#ff2d55,#ff6b6b);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;border:2px solid #fff;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column}.user-name{font-size:16px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.verified{background:#3b82f6;color:#fff;font-size:10px;padding:2px 4px;border-radius:4px}.post-time{font-size:12px;color:#fff9}.activity-context{position:absolute;bottom:24px;left:16px;right:70px;display:flex;align-items:center;gap:8px;z-index:10}.activity-type{font-size:16px}.activity-title{font-size:14px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trending-badge{position:absolute;top:16px;left:16px;padding:6px 14px;background:linear-gradient(135deg,#ff2d55,#ff6b6b);border-radius:20px;font-size:12px;font-weight:700;color:#fff;z-index:10}.action-buttons{position:absolute;right:8px;bottom:100px;display:flex;flex-direction:column;gap:20px;z-index:20}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:0}.action-icon{width:44px;height:44px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .2s,background .2s}.action-btn:active .action-icon{transform:scale(.9)}.like-btn.liked .action-icon{background:#ff2d5533;animation:likePop .3s ease}@keyframes likePopup{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.action-count{font-size:12px;color:#fff;font-weight:600}.view-count{position:absolute;bottom:24px;right:16px;font-size:12px;color:#ffffffb3;z-index:10}.end-card{scroll-snap-align:start;height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.end-card h3{color:#fff;margin:0 0 8px;font-size:20px}.end-card p{color:#fff9;margin:0 0 24px}.end-card button{padding:14px 28px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:25px;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.create-fab{position:fixed;bottom:90px;right:20px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#ff2d55,#ff6b6b);border:none;color:#fff;font-size:32px;font-weight:300;cursor:pointer;box-shadow:0 4px 20px #ff2d5566;z-index:100;display:flex;align-items:center;justify-content:center}.create-fab:active{transform:scale(.95)}.progress-dots{position:fixed;right:8px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:100}.dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .2s}.dot.active{background:#ff2d55;height:20px;border-radius:3px}.dot-more{font-size:10px;color:#ffffff80}@media (max-width: 480px){.response-content{margin:0 55px 0 5px;border-radius:8px}.text-content{font-size:18px;padding:24px}.action-icon{width:40px;height:40px;font-size:20px}.action-buttons{right:4px;gap:16px}.user-info{bottom:70px}.activity-context{bottom:20px;right:60px}}@media (min-width: 768px){.response-feed{max-width:500px;margin:0 auto}.response-content{margin:0 70px 0 0}.create-fab{right:calc(50% - 280px)}}.local-issues-page{min-height:100vh;background:#f8fafc;padding-bottom:100px}.local-container{max-width:600px;margin:0 auto;padding:70px 16px 16px}.page-header{margin-bottom:20px}.page-header h1{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 6px}.page-subtitle{font-size:14px;color:#64748b;margin:0}.page-subtitle strong{color:#1e293b}.stats-row{display:flex;gap:12px;margin-bottom:20px}.stat-box{flex:1;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-align:center}.stat-num{display:block;font-size:28px;font-weight:700;color:#1e293b}.stat-label{font-size:12px;color:#1e293b;text-transform:uppercase;letter-spacing:.5px}.filter-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding:4px 0}.filter-tab{padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-tab:hover{background:#f8fafc;border-color:#cbd5e1}.filter-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.feed-list{display:flex;flex-direction:column;gap:12px}.feed-card{background:#fff;border-radius:16px;padding:16px;border:1px solid #e2e8f0;transition:all .2s}.feed-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0000000f;transform:translateY(-1px)}.feed-card.federal{border-left:4px solid #3b82f6}.feed-card.state{border-left:4px solid #8b5cf6}.feed-card.local{border-left:4px solid #22c55e}.feed-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.feed-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}.feed-type-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.feed-chamber{font-size:12px;color:#3b82f6;background:#eff6ff;padding:3px 8px;border-radius:6px;font-weight:500}.feed-time{font-size:12px;color:#94a3b8;margin-left:auto}.feed-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px;line-height:1.4}.feed-description{font-size:14px;color:#475569;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;margin-bottom:12px}.status-badge.introduced,.status-badge.in_committee{background:#fef3c7;color:#92400e}.status-badge.passed_chamber,.status-badge.passed_both{background:#dbeafe;color:#1e40af}.status-badge.enacted,.status-badge.signed{background:#dcfce7;color:#166534}.status-badge.failed,.status-badge.vetoed{background:#fee2e2;color:#991b1b}.feed-footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #f1f5f9}.source-link{font-size:13px;font-weight:600;color:#2563eb;text-decoration:none}.source-link:hover{color:#1d4ed8;text-decoration:underline}.loading-state,.empty-state,.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;border:1px solid #e2e8f0}.loading-state p,.empty-state p,.error-state p{color:#64748b;margin:0}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.error-state button,.empty-state button{margin-top:16px;padding:10px 24px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer}.error-state button:hover,.empty-state button:hover{background:#1d4ed8}.bottom-cta{margin-top:32px;padding:24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;text-align:center;color:#fff}.bottom-cta h3{font-size:18px;font-weight:700;margin:0 0 6px}.bottom-cta p{font-size:14px;margin:0 0 16px;opacity:.9}.cta-btn{display:inline-block;padding:12px 24px;background:#fff;color:#6366f1;font-weight:600;border-radius:12px;text-decoration:none;transition:all .2s}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (max-width: 480px){.local-container{padding:65px 12px 12px}.stats-row{gap:8px}.stat-box{padding:12px}.stat-num{font-size:22px}.filter-tabs{gap:6px}.filter-tab{padding:8px 12px;font-size:12px}.feed-card{padding:14px}.feed-title{font-size:15px}}.api-test-live-page{min-height:100vh;background:#0a0a0a;padding:70px 16px 100px;color:#fff}.test-header{text-align:center;margin-bottom:24px}.test-header h1{font-size:28px;margin:0}.test-header p{color:#fff9;margin:8px 0 0}.test-controls{background:#1a1a1a;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.control-group{flex:1;min-width:200px}.control-group label{display:block;font-size:13px;color:#ffffffb3;margin-bottom:6px}.control-group input,.control-group select{width:100%;padding:12px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;color:#fff;font-size:15px}.test-all-btn{padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;white-space:nowrap}.api-tests{display:flex;flex-direction:column;gap:20px}.api-test-card{background:#1a1a1a;border-radius:12px;padding:20px;border:1px solid #2a2a2a}.api-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.api-header h3{font-size:18px;margin:0}.api-type{padding:4px 10px;background:#3b82f6;border-radius:12px;font-size:12px;font-weight:600}.api-url{font-family:monospace;font-size:12px;color:#ffffff80;background:#0a0a0a;padding:8px 12px;border-radius:6px;margin-bottom:16px;overflow-x:auto}.api-test-card button{padding:10px 20px;background:#3b82f6;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.api-test-card button:disabled{opacity:.6;cursor:not-allowed}.api-result{margin-top:16px;padding:16px;border-radius:8px}.api-result.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.api-result.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.result-header{font-weight:600;margin-bottom:12px;color:#10b981}.result-header.error{color:#ef4444}.bills-list{display:flex;flex-direction:column;gap:12px}.bill-item{background:#0000004d;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.bill-item strong{color:#3b82f6;font-size:14px}.bill-title{font-size:13px;color:#ffffffe6;line-height:1.4}.bill-status{font-size:12px;color:#ffffff80}.api-keys-display{margin-top:32px;background:#1a1a1a;border-radius:12px;padding:20px}.api-keys-display h3{margin:0 0 16px;font-size:16px}.api-keys-display table{width:100%}.api-keys-display td{padding:8px 0;border-bottom:1px solid #2a2a2a}.api-keys-display td:first-child{color:#ffffffb3;width:140px}.api-keys-display code{font-family:monospace;font-size:12px;background:#0a0a0a;padding:4px 8px;border-radius:4px}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--primary-bg: rgba(37, 99, 235, .08);--secondary: #7c3aed;--secondary-dark: #6d28d9;--secondary-light: #8b5cf6;--success: #059669;--success-bg: rgba(5, 150, 105, .1);--warning: #d97706;--warning-bg: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-bg: rgba(220, 38, 38, .1);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-color-hover: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);transition:all .2s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-color-hover)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.input{width:100%;padding:12px 16px;font-size:15px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.input::placeholder{color:var(--text-muted)}.page{min-height:100vh;padding-bottom:80px;background:var(--bg-secondary)}.page-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.chip{padding:8px 16px;font-size:13px;font-weight:500;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all .2s}.chip:hover{background:var(--bg-secondary);color:var(--text-primary)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
