@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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}}.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}.submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.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}.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}}.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:"⭐"}.civic-streak-compact{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:12px 16px;border-radius:12px;cursor:pointer;transition:transform .2s}.civic-streak-compact:hover{transform:translateY(-2px)}.streak-badge{display:flex;align-items:center;gap:4px;background:#fff;padding:6px 10px;border-radius:20px;box-shadow:0 2px 4px #0000001a}.streak-fire{font-size:18px}.streak-count{font-size:18px;font-weight:700;color:#d97706}.streak-info{display:flex;flex-direction:column;gap:2px}.level-badge{font-size:13px;font-weight:600;color:#92400e}.points{font-size:11px;color:#b45309}.check-in-btn-small{margin-left:auto;background:#d97706;color:#fff;border:none;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;animation:pulse 2s infinite}.civic-streak-full{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014}.streak-notification{background:#dcfce7;color:#166534;padding:12px 16px;border-radius:8px;margin-bottom:16px;text-align:center;font-weight:600;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.streak-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.streak-main{display:flex;align-items:center;gap:12px}.streak-fire-large{font-size:48px;animation:flicker 1s infinite}@keyframes flicker{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.streak-numbers{display:flex;flex-direction:column}.streak-current{font-size:36px;font-weight:800;color:#d97706;line-height:1}.streak-label{font-size:14px;color:#78716c}.check-in-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:12px 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:pulse 2s infinite}.check-in-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #22c55e66}.checked-in-badge{background:#dcfce7;color:#166534;padding:10px 16px;border-radius:10px;font-weight:600}.level-section{background:#f8fafc;border-radius:12px;padding:16px;margin-bottom:16px}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.current-level{font-weight:600;color:#1e293b}.total-points{font-size:13px;color:#64748b}.level-progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.level-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .5s ease}.next-level-info{font-size:12px;color:#64748b;text-align:center}.streak-calendar{margin-bottom:16px}.calendar-label{font-size:12px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.calendar-days{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.calendar-day{display:flex;flex-direction:column;align-items:center;min-width:40px;padding:8px 4px;border-radius:8px;background:#f1f5f9}.calendar-day.active{background:#fef3c7}.calendar-day.today{border:2px solid #3b82f6}.day-name{font-size:10px;color:#94a3b8;margin-bottom:4px}.day-dot{font-size:16px}.next-milestone{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);padding:12px 16px;border-radius:10px;margin-bottom:16px}.milestone-badge{font-size:28px}.milestone-info{display:flex;flex-direction:column}.milestone-info strong{color:#5b21b6;font-size:14px}.milestone-info span{font-size:12px;color:#7c3aed}.daily-tasks{margin-bottom:16px}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tasks-header h3{margin:0;font-size:16px;color:#1e293b}.tasks-progress{font-size:13px;color:#64748b}.tasks-list{display:flex;flex-direction:column;gap:8px}.task-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f8fafc;border-radius:10px;cursor:pointer;transition:all .2s}.task-item:hover:not(.completed){background:#f1f5f9;transform:translate(4px)}.task-item.completed{background:#f0fdf4;cursor:default}.task-icon{font-size:20px}.task-name{flex:1;font-size:14px;color:#1e293b}.task-item.completed .task-name{color:#166534;text-decoration:line-through}.task-points{font-size:13px;font-weight:600;color:#d97706}.task-item.completed .task-points{color:#22c55e}.task-check{color:#22c55e;font-weight:700}.earned-badges{margin-bottom:16px}.earned-badges h4{margin:0 0 8px;font-size:14px;color:#64748b}.badges-list{display:flex;gap:8px;flex-wrap:wrap}.badge-item{font-size:24px;background:#fef3c7;padding:8px;border-radius:8px}.streak-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}.stat{text-align:center}.stat-value{display:block;font-size:20px;font-weight:700;color:#1e293b}.stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.streak-widget{display:flex;align-items:center;gap:8px;background:#fef3c7;padding:6px 10px;border-radius:20px}.widget-streak{display:flex;align-items:center;gap:4px}.widget-fire{font-size:16px}.widget-count{font-weight:700;color:#d97706}.widget-checkin{background:#d97706;color:#fff;border:none;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer}@media (max-width: 480px){.streak-header{flex-direction:column;gap:12px;align-items:flex-start}.check-in-btn{width:100%}.calendar-days{gap:2px}.calendar-day{min-width:32px;padding:6px 2px}}.alerts-compact{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #00000014}.alerts-compact-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.alerts-icon{font-size:18px}.alerts-title{font-weight:600;color:#1e293b;flex:1}.unread-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px}.alert-compact-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border-radius:8px;margin-bottom:6px;cursor:pointer;transition:background .2s}.alert-compact-item:hover{background:#f1f5f9}.alert-compact-item.unread{background:#eff6ff;border-left:3px solid #3b82f6}.alert-compact-item .alert-icon{font-size:16px}.alert-compact-item .alert-text{font-size:13px;color:#475569;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-alerts-compact{text-align:center;color:#94a3b8;font-size:13px;padding:10px}.rep-alerts{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;overflow:hidden}.alerts-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0}.header-left h2{margin:0;font-size:18px;color:#1e293b}.header-left p{margin:4px 0 0;font-size:13px;color:#64748b}.header-right{display:flex;align-items:center;gap:10px}.unread-count{background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.settings-btn{background:#f1f5f9;border:none;width:36px;height:36px;border-radius:8px;font-size:18px;cursor:pointer;transition:background .2s}.settings-btn:hover{background:#e2e8f0}.alert-settings{background:#f8fafc;padding:20px;border-bottom:1px solid #e2e8f0}.alert-settings h3{margin:0 0 16px;font-size:16px;color:#1e293b}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:16px}.setting-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-radius:8px;cursor:pointer;transition:background .2s}.setting-item:hover{background:#f1f5f9}.setting-item input{margin:0}.setting-icon{font-size:16px}.setting-label{font-size:13px;color:#475569}.frequency-setting{display:flex;align-items:center;gap:10px;margin-bottom:16px}.frequency-setting label{font-size:14px;color:#475569}.frequency-setting select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.settings-actions{display:flex;gap:10px;justify-content:flex-end}.settings-actions button{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer}.settings-actions button:first-child{background:#e2e8f0;border:none;color:#64748b}.settings-actions .save-btn{background:#3b82f6;border:none;color:#fff}.alerts-list{max-height:500px;overflow-y:auto}.no-alerts{text-align:center;padding:40px 20px}.no-alerts-icon{font-size:48px;display:block;margin-bottom:12px}.no-alerts p{margin:0 0 4px;font-size:16px;color:#1e293b}.no-alerts-hint{font-size:13px;color:#94a3b8}.alert-card{padding:16px 20px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .2s}.alert-card:hover{background:#f8fafc}.alert-card.unread{background:#eff6ff}.alert-card:last-child{border-bottom:none}.alert-main{display:flex;gap:12px;align-items:flex-start}.alert-type-badge{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.alert-content{flex:1;min-width:0}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.alert-rep{font-size:13px;font-weight:600;color:#3b82f6}.alert-time{font-size:12px;color:#94a3b8}.alert-title{margin:0 0 4px;font-size:15px;color:#1e293b;font-weight:500}.alert-relevance{font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:4px}.unread-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;flex-shrink:0;margin-top:16px}.alert-details{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.alert-description{margin:0 0 12px;font-size:14px;color:#475569;line-height:1.5}.detail-item{display:flex;gap:8px;margin-bottom:8px;font-size:13px}.detail-label{color:#64748b;font-weight:500;min-width:70px}.detail-value{color:#1e293b}.alert-actions{display:flex;gap:10px;margin-top:12px}.action-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;background:#f1f5f9;border:none;color:#475569;transition:all .2s}.action-btn.primary{background:#3b82f6;color:#fff}.action-btn.primary:hover{background:#2563eb}.alert-bell{position:relative;background:transparent;border:none;padding:8px;cursor:pointer}.bell-icon{font-size:22px}.bell-badge{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center}.alert-card.vote .alert-type-badge{background:#dbeafe}.alert-card.bill_sponsor .alert-type-badge{background:#ede9fe}.alert-card.town_hall .alert-type-badge{background:#dcfce7}.alert-card.missed_vote .alert-type-badge{background:#fef3c7}@media (max-width: 480px){.alerts-header{flex-direction:column;gap:10px;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.settings-grid{grid-template-columns:1fr 1fr}.alert-main{flex-wrap:wrap}.detail-item{flex-direction:column;gap:2px}}.home-page{min-height:100vh;background:#f8fafc;padding-bottom:80px}.home-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.welcome h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.welcome p{font-size:14px;color:#64748b;margin:4px 0 0}.profile-btn{width:44px;height:44px;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;text-decoration:none}.notification-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eff6ff,#f3e8ff);border:1px solid #c4b5fd;border-radius:14px;margin-bottom:20px}.notification-banner span{font-size:24px}.notification-banner div{flex:1}.notification-banner strong{display:block;font-size:14px;color:#1e293b}.notification-banner p{font-size:12px;color:#64748b;margin:2px 0 0}.notification-banner button{padding:8px 16px;background:#2563eb;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;transition:all .2s}.action-card:hover{box-shadow:0 4px 12px #00000014;border-color:#cbd5e1}.action-card.primary{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:transparent}.action-card.primary .action-label{color:#fff}.action-icon{font-size:28px}.action-label{font-size:12px;font-weight:500;color:#475569}.news-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:18px;font-weight:600;color:#1e293b;margin:0}.news-toggle{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px}.news-toggle button{padding:6px 12px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.news-toggle button.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.news-list{display:flex;flex-direction:column;gap:12px}.news-card{display:flex;gap:12px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s}.news-card:hover{box-shadow:0 4px 12px #00000014}.news-card img{width:80px;height:60px;object-fit:cover;border-radius:8px;flex-shrink:0}.news-content{flex:1;min-width:0}.news-content h3{font-size:14px;font-weight:500;color:#1e293b;margin:0 0 6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-source{font-size:11px;color:#94a3b8}.news-loading,.no-news{padding:40px;text-align:center;color:#64748b;font-size:14px}.no-news button{margin-top:12px;padding:8px 16px;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-size:13px;cursor:pointer}.resources-section{margin-bottom:24px}.resources-section h2{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 12px}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.resource-link{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;font-size:13px;font-weight:500;color:#475569;transition:all .2s}.resource-link:hover{border-color:#2563eb;color:#2563eb}.resource-link span{font-size:20px}.interests-section{margin-bottom:24px}.edit-link{font-size:13px;color:#2563eb;text-decoration:none}.interests-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.interest-card{padding:8px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;font-size:13px;color:#2563eb;text-decoration:none;transition:all .2s}.interest-card:hover{background:#dbeafe}.points-display{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;margin-bottom:20px}.points-icon{font-size:18px}.points-count{font-size:20px;font-weight:700;color:#b45309}.points-label{font-size:13px;color:#92400e}.version-badge{position:fixed;bottom:80px;right:16px;background:#fff;color:#94a3b8;padding:4px 10px;border-radius:12px;font-size:10px;z-index:50;border:1px solid #e2e8f0}.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:80px}.reps-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.reps-header{margin-bottom:16px}.reps-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.location{font-size:14px;color:#64748b;margin:4px 0 0}.level-tabs{display:flex;gap:8px;margin-bottom:20px}.level-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.tab-icon{font-size:24px;line-height:1}.tab-icon.federal-flag{font-size:32px}.tab-label{font-size:13px}.level-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff}.level-tabs button:hover:not(.active){border-color:#cbd5e1}.section-label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:20px 0 10px;padding-left:4px}.section-label:first-child{margin-top:0}.reps-list{display:flex;flex-direction:column;gap:10px}.rep-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;transition:all .2s}.rep-card:hover{box-shadow:0 4px 12px #0000000f;border-color:#cbd5e1}.rep-card.executive{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-color:#bfdbfe}.rep-card.governor{background:linear-gradient(135deg,#f3e8ff,#fdf4ff);border-color:#e9d5ff}.rep-icon{font-size:32px}.rep-avatar{width:48px;height:48px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;flex-shrink:0}.rep-info{flex:1;min-width:0}.rep-info h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 2px}.rep-title{font-size:13px;color:#64748b;margin:0}.party-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px}.no-data{padding:20px;text-align:center;color:#94a3b8;font-size:14px;background:#f8fafc;border-radius:12px}.coming-soon-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:12px}.coming-soon-banner span{font-size:24px}.coming-soon-banner strong{display:block;font-size:14px;color:#92400e}.coming-soon-banner p{font-size:12px;color:#b45309;margin:4px 0 0}.external-link{display:block;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;font-size:14px;color:#2563eb;font-weight:500;text-align:center}.external-link:hover{background:#eff6ff}.local-intro{font-size:14px;color:#64748b;margin-bottom:16px;line-height:1.5}.local-links{display:flex;flex-direction:column;gap:10px}.local-link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;transition:all .2s}.local-link:hover{border-color:#2563eb;background:#eff6ff}.local-link.featured{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-color:#bfdbfe}.local-link span{font-size:24px}.local-link strong{display:block;font-size:14px;color:#1e293b}.local-link p{font-size:12px;color:#64748b;margin:2px 0 0}.report-card-cta{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:14px;text-decoration:none;margin-top:24px}.report-card-cta span:first-child{font-size:28px}.report-card-cta div{flex:1}.report-card-cta strong{display:block;font-size:15px;color:#92400e}.report-card-cta p{font-size:12px;color:#b45309;margin:2px 0 0}.report-card-cta .arrow{font-size:20px;color:#b45309}.quick-links{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.quick-link-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:14px;text-decoration:none;transition:all .2s}.quick-link-card:hover{transform:translate(4px);box-shadow:0 4px 12px #2563eb26}.quick-icon{font-size:28px}.quick-info{flex:1;display:flex;flex-direction:column}.quick-title{font-size:15px;font-weight:600;color:#1e40af}.quick-desc{font-size:12px;color:#3b82f6}.quick-arrow{font-size:18px;color:#3b82f6}.quick-link-card.town-hall-external{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.quick-link-card.town-hall-external .quick-icon{background:#fff3}.quick-link-card.town-hall-external .quick-title{color:#fff}.quick-link-card.town-hall-external .quick-desc{color:#ffffffd9}.quick-link-card.town-hall-external .quick-arrow{color:#fff}.quick-link-card.town-hall-external:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.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-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-date{font-size:11px;color:#94a3b8}.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}.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-position{font-size:24px;flex-shrink:0}.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}}.bill-detail-page{min-height:100vh;background:#f1f5f9;padding-bottom:100px}.bill-detail-content{max-width:700px;margin:0 auto;padding:20px 16px}.loading-container{text-align:center;padding:80px 20px}.back-btn{background:none;border:none;color:#2563eb;font-size:16px;cursor:pointer;padding:8px 0;margin-bottom:16px}.points-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:14px 28px;border-radius:30px;font-weight:600;font-size:18px;box-shadow:0 4px 20px #10b98166;z-index:1000;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.bill-header{margin-bottom:28px}.bill-number{display:inline-block;background:#2563eb;color:#fff;padding:6px 14px;border-radius:8px;font-size:14px;font-weight:600;margin-bottom:12px}.bill-header h1{font-size:24px;color:#1e293b;margin:0 0 16px;line-height:1.3}.bill-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:#64748b}.status-badge{background:#dcfce7;color:#166534;padding:4px 12px;border-radius:20px;font-weight:500}.bill-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.bill-section h2{font-size:18px;color:#1e293b;margin:0 0 16px}.bill-summary{color:#475569;line-height:1.7;margin:0 0 16px}.congress-link{display:inline-block;color:#2563eb;font-weight:600;text-decoration:none;padding:12px 20px;background:#eff6ff;border-radius:10px;margin-top:8px;transition:all .2s}.congress-link:hover{background:#2563eb;color:#fff}.locked-content{text-align:center;padding:20px}.lock-icon{font-size:48px;margin-bottom:16px}.locked-content h3{font-size:20px;color:#1e293b;margin:0 0 8px}.locked-content>p{color:#64748b;margin:0 0 20px}.unlock-benefits{list-style:none;padding:0;text-align:left;max-width:280px;margin:0 auto 24px}.unlock-benefits li{padding:8px 0;color:#475569;font-size:15px}.watch-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #f59e0b4d}.ad-container{padding:20px}.ad-placeholder{background:#1e293b;color:#fff;padding:60px 20px;border-radius:12px;margin-bottom:16px}.ad-placeholder p{margin:0;font-size:18px}.ad-note{font-size:14px!important;opacity:.7;margin-top:8px!important}.ad-progress{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.ad-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);transition:width .3s ease}.ad-timer{color:#64748b;font-size:14px;margin:0}.unlocked-content{position:relative}.unlocked-badge{position:absolute;top:0;right:0;background:#dcfce7;color:#166534;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.full-analysis{color:#475569;line-height:1.8}.full-analysis h3{font-size:17px;color:#1e293b;margin:24px 0 12px}.full-analysis h3:first-child{margin-top:0}.full-analysis p{margin:0 0 12px}.full-analysis ul{margin:0 0 16px;padding-left:20px}.full-analysis li{margin-bottom:8px}.vote-link{display:block;background:#2563eb;color:#fff;text-align:center;padding:16px;border-radius:12px;text-decoration:none;font-weight:600;margin-top:12px}.share-buttons{display:flex;gap:12px}.share-buttons button{flex:1;padding:12px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer}.share-buttons button:hover{border-color:#2563eb;color:#2563eb}.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}.countdown-card{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:20px;padding:28px;display:flex;align-items:center;gap:24px;margin-bottom:24px;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}.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}.candidate-avatar.D{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.candidate-avatar.R{background:linear-gradient(135deg,#dc2626,#b91c1c)}.candidate-avatar.large{width:70px;height:70px;font-size:24px}.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}.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 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}.stat-row strong{color:#1e293b}.detail-section{margin-top:20px}.detail-section h4{font-size:14px;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.detail-section ul{list-style:none;padding:0;margin:0}.detail-section li{padding:10px 0;border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px}.race-note-box{background:#fef3c7;color:#92400e;padding:16px;margin:0 24px;border-radius:12px;font-size:14px}.modal-actions{padding:24px;border-top:1px solid #f1f5f9}.unlock-btn{width:100%;padding:18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.unlock-btn span{font-size:13px;opacity:.9;font-weight:400}.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}.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,#1e3a5f,#0f172a);padding-bottom:100px}.match-content{max-width:600px;margin:0 auto;padding:20px 16px}.match-header{text-align:center;color:#fff;margin-bottom:24px}.match-header h1{font-size:28px;margin:0 0 8px}.match-header p{color:#ffffffb3;margin:0}.quiz-progress{display:flex;align-items:center;gap:12px;margin-bottom:24px}.progress-bar{flex:1;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s}.quiz-progress span{color:#ffffffb3;font-size:14px;white-space:nowrap}.question-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 10px 40px #0000004d}.question-category{display:inline-block;background:#eff6ff;color:#1e40af;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:16px}.question-card h2{font-size:22px;color:#1e293b;margin:0 0 12px}.question-card>p{color:#64748b;font-size:15px;line-height:1.6;margin:0 0 24px}.answer-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.answer-btn{width:100%;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;font-size:16px;font-weight:500;text-align:left;cursor:pointer;transition:all .2s}.answer-btn:hover{transform:translate(4px)}.answer-btn.strongly-support:hover{background:#dcfce7;border-color:#10b981;color:#166534}.answer-btn.support:hover{background:#d1fae5;border-color:#34d399;color:#166534}.answer-btn.neutral:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.answer-btn.oppose:hover{background:#fee2e2;border-color:#f87171;color:#991b1b}.answer-btn.strongly-oppose:hover{background:#fecaca;border-color:#ef4444;color:#991b1b}.skip-btn{width:100%;background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:12px}.skip-btn:hover{color:#1e40af}.points-earned{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;padding:16px;border-radius:12px;text-align:center;font-weight:600;margin-bottom:24px}.match-results{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.no-results{text-align:center;color:#fff;padding:40px}.candidate-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0003}.card-main{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer}.rank-badge{background:#1e40af;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.candidate-info{display:flex;align-items:center;gap:12px;flex:1}.candidate-photo{width:52px;height:52px;border-radius:50%;object-fit:cover}.candidate-avatar{width:52px;height:52px;background:#64748b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.candidate-info h3{font-size:17px;color:#1e293b;margin:0}.candidate-info p{font-size:13px;color:#64748b;margin:4px 0 0}.match-score{text-align:center;padding:10px 16px;border-radius:12px;color:#fff;flex-shrink:0}.score-number{display:block;font-size:24px;font-weight:700}.score-label{display:block;font-size:10px;opacity:.9;text-transform:uppercase}.card-details{padding:0 16px 16px;border-top:1px solid #f1f5f9}.candidate-bio{font-size:14px;color:#64748b;line-height:1.6;margin:16px 0}.issue-section{margin-bottom:16px}.issue-section h4{font-size:14px;color:#1e293b;margin:0 0 10px}.issue-tag{font-size:12px;padding:6px 12px;border-radius:16px}.issue-tag.agree{background:#dcfce7;color:#166534}.issue-tag.disagree{background:#fee2e2;color:#991b1b}.key-issues{margin-bottom:16px}.key-issues h4{font-size:14px;color:#1e293b;margin:0 0 10px}.focus-tags{display:flex;flex-wrap:wrap;gap:8px}.focus-tag{font-size:12px;padding:6px 12px;background:#eff6ff;color:#1e40af;border-radius:16px}.candidate-actions{display:flex;gap:12px}.action-link{font-size:14px;color:#1e40af;text-decoration:none}.result-actions{display:flex;gap:12px}.result-actions .action-btn{flex:1;padding:14px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.result-actions .action-btn.primary{background:#fff;color:#1e40af;border:none}.result-actions .action-btn:not(.primary){background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}.feed-page{min-height:100vh;background:#f8fafc;padding-bottom:80px}.feed-content{max-width:600px;margin:0 auto;padding:70px 16px 16px}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.feed-header h1{font-size:24px;font-weight:700;color:#1e293b;margin:0}.edit-interests{font-size:13px;color:#2563eb;text-decoration:none;padding:6px 12px;background:#eff6ff;border-radius:8px}.current-interests{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px}.interests-label{font-size:12px;color:#64748b}.interest-pill{font-size:12px;padding:4px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;color:#2563eb}.no-interests-banner{display:flex;align-items:center;gap:12px;padding:16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;margin-bottom:16px}.no-interests-banner span{font-size:24px}.no-interests-banner p{font-size:14px;color:#92400e;margin:0}.no-interests-banner a{color:#b45309;font-weight:600}.feed-section{margin-bottom:24px}.section-title{font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;padding-left:4px}.feed-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;margin-bottom:12px}.feed-card:hover{box-shadow:0 4px 12px #0000000f}.feed-card.passed{border-left:4px solid #059669}.feed-card.failed{border-left:4px solid #dc2626}.feed-card.pending{border-left:4px solid #f59e0b}.topic-badge{display:inline-block;padding:6px 12px;margin:12px 12px 0;background:#f1f5f9;border-radius:10px;font-size:12px;font-weight:500;color:#475569}.vote-result{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:600}.vote-result.passed{background:#dcfce7;color:#059669}.vote-result.failed{background:#fef2f2;color:#dc2626}.vote-result.pending{background:#fef3c7;color:#b45309}.result-text{flex:1}.chamber-badge{font-size:11px;padding:2px 8px;background:#0000001a;border-radius:6px;font-weight:500}.vote-counts{font-size:12px;font-weight:400;opacity:.8}.announcement-badge{padding:10px 12px;background:linear-gradient(135deg,#eff6ff,#f3e8ff);color:#6d28d9;font-size:13px;font-weight:600}.feed-card h3{font-size:16px;font-weight:600;color:#1e293b;padding:12px 12px 0;margin:0;line-height:1.4}.feed-desc{font-size:14px;color:#64748b;padding:8px 12px 0;margin:0;line-height:1.5}.feed-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 12px}.feed-type-badge{font-size:11px;padding:4px 8px;background:#f1f5f9;border-radius:6px;color:#64748b;font-weight:500}.feed-date{font-size:12px;color:#94a3b8}.feed-actions{display:flex;gap:8px;padding:0 12px 12px}.action-btn{padding:8px 14px;background:#f1f5f9;border:none;border-radius:10px;font-size:13px;color:#475569;cursor:pointer;text-decoration:none;transition:all .2s}.action-btn:hover{background:#e2e8f0}.comment-btn{margin-left:auto}.comments-section{border-top:1px solid #e2e8f0;padding:12px;background:#f8fafc}.comment{display:flex;flex-direction:column;padding:8px 10px;background:#fff;border-radius:10px;margin-bottom:8px}.comment-author{font-size:12px;font-weight:600;color:#1e293b;margin-bottom:2px}.comment-text{font-size:13px;color:#475569}.view-more-comments{background:none;border:none;color:#2563eb;font-size:12px;cursor:pointer;padding:4px 0}.add-comment{display:flex;gap:8px;margin-top:8px}.add-comment input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none}.add-comment input:focus{border-color:#2563eb}.add-comment button{padding:10px 16px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.empty-feed{text-align:center;padding:60px 20px}.empty-feed span{font-size:48px;display:block;margin-bottom:16px}.empty-feed p{color:#64748b;font-size:16px;margin-bottom:16px}.add-interests-btn{display:inline-block;padding:12px 24px;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:500}.loading{display:flex;flex-direction:column;align-items:center;padding:60px;gap:12px}.loading p{color:#64748b;font-size:14px}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.token-status-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;margin-bottom:16px}.token-info{display:flex;align-items:center;gap:6px}.token-icon{font-size:16px}.token-count{font-weight:700;color:#92400e}.token-tier{font-size:11px;background:#fff9;padding:2px 8px;border-radius:10px;color:#b45309;text-transform:capitalize}.token-progress{flex:1;height:6px;background:#ffffff80;border-radius:3px;overflow:hidden}.token-progress-fill{height:100%;background:#d97706;border-radius:3px;transition:width .3s}.token-reset{font-size:11px;color:#92400e}.analysis-section{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.analyze-btn{width:100%;padding:12px;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.analyze-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.analyze-btn:disabled{opacity:.7;cursor:not-allowed}.analysis-result{background:#f8fafc;border-radius:10px;overflow:hidden}.analysis-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#e2e8f0;font-weight:600;color:#475569}.analysis-header button{background:none;border:none;font-size:18px;cursor:pointer;color:#64748b}.analysis-content{padding:14px}.impact-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:10px}.impact-badge.high{background:#fee2e2;color:#dc2626}.impact-badge.medium{background:#fef3c7;color:#d97706}.impact-badge.low{background:#dcfce7;color:#16a34a}.analysis-text{margin:0 0 12px;font-size:14px;color:#475569;line-height:1.5}.affects-you{background:#eff6ff;padding:12px;border-radius:8px;border-left:3px solid #3b82f6}.affects-you strong{display:block;font-size:12px;color:#1d4ed8;margin-bottom:4px}.affects-you p{margin:0;font-size:13px;color:#1e40af}.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}.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}.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:16px;font-weight:600;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:#64748b;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:#64748b;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;color:#1e293b;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb}.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}.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}.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}.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)}}: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}
