:root{--bg:#faf8f4;--surface:#fff;--surface-2:#f2efe8;--border:#e3e1db;--text:#1a160b;--text-2:#66635a;--text-3:#9c988d;--accent:#555ec6;--accent-hover:#3f47a8;--accent-soft:#e1e6ff;--accent-ink:#fff;--positive:#00a39c;--positive-soft:#d2efec;--accent-2:#d6486f;--accent-2-hover:#b23057;--accent-2-soft:#fbe1e8;--accent-2-ink:#fff;--danger:#c92f33;--danger-soft:#ffe7e4;--warning:#bb7400;--warning-soft:#ffebd2;--low:#686357;--low-soft:#eae8e0;--badge-bronze:#a9662e;--badge-bronze-soft:#f5e4d5;--badge-silver:#6b7280;--badge-silver-soft:#e7e9ec;--badge-gold:#b8860b;--badge-gold-soft:#fbf0d3;--shell-bg:#141b24;--shell-border:#262f38;--shell-text:#f3f1ec;--shell-muted:#a9afb4;--font-display:"Manrope", sans-serif;--font-body:"Inter", sans-serif;--radius-card:20px;--radius-pill:999px;--shadow-card:0 20px 50px #14161a14;--claim-fill:#ede3cc;--claim-border:#a8905c}:root:lang(doi){--font-display:"Noto Sans Takri", "Manrope", sans-serif;--font-body:"Noto Sans Takri", "Inter", sans-serif}:root:lang(ks){--font-display:"Noto Sans Sharada", "Manrope", sans-serif;--font-body:"Noto Sans Sharada", "Inter", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::placeholder{color:var(--text-3)}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}img{max-width:100%;display:block}.container{max-width:1280px;margin:0 auto;padding:0 48px}.container-flush{max-width:1280px;margin:0 auto}.btn{font-family:var(--font-display);border-radius:var(--radius-pill);border:none;justify-content:center;align-items:center;gap:6px;padding:11px 22px;font-size:13.5px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px -2px #555ec673}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px -4px #555ec680}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover:not(:disabled){border-color:var(--accent-soft);color:var(--accent)}.btn:disabled{opacity:.55;cursor:not-allowed}.async-state{text-align:center;color:var(--text-2);padding:40px 18px;font-size:13px}.async-state.error-state{color:var(--danger)}.async-state .btn{margin-top:10px}.auth-shell{flex-direction:column;min-height:100vh;display:flex}.auth-topbar{justify-content:space-between;align-items:center;padding:20px 48px;display:flex}.auth-brand{cursor:pointer;align-items:center;gap:8px;display:flex}.auth-brand-mark{object-fit:contain;background:#fff;border-radius:13px;flex:none;width:50px;height:50px;padding:4px;box-shadow:0 2px 6px -2px #00000040}.auth-brand-word{font-family:var(--font-display);color:var(--text);font-size:15.5px;font-weight:800}.auth-back{font-family:var(--font-body);color:var(--text-2);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.auth-center{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:440px;max-width:100%;box-shadow:var(--shadow-card);padding:36px}.auth-title{font-family:var(--font-display);color:var(--text);margin:0 0 6px;font-size:22px;font-weight:800}.auth-subtitle{font-family:var(--font-body);color:var(--text-2);margin:0 0 24px;font-size:13.5px;line-height:1.5}.auth-label{font-family:var(--font-body);color:var(--text-2);margin:0 0 8px;font-size:12px;font-weight:600;display:block}.auth-input{width:100%;font-family:var(--font-body);color:var(--text);border:1.5px solid var(--border);background:var(--surface);box-sizing:border-box;border-radius:14px;margin-bottom:8px;padding:13px 16px;font-size:15px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent);outline:none}.auth-password-row{border:1.5px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;margin-bottom:18px;transition:border-color .15s;display:flex}.auth-password-row:focus-within{border-color:var(--accent)}.auth-password-input{font-family:var(--font-body);color:var(--text);box-sizing:border-box;background:0 0;border:none;flex:1;padding:13px 0 13px 16px;font-size:15px}.auth-password-input:focus{outline:none}.auth-password-toggle{color:var(--text-2);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 14px;display:flex}.auth-password-toggle:hover{color:var(--text)}.auth-mode-toggle{border:1px solid var(--border);border-radius:14px;margin-bottom:17px;display:flex;overflow:hidden}.auth-mode-toggle button{font-family:var(--font-display);background:var(--surface);color:var(--text);border:none;flex:1;padding:12px;font-size:13px;font-weight:700}.auth-mode-toggle button.active{background:var(--accent);color:var(--accent-ink)}.auth-phone-row{border:1.5px solid var(--border);border-radius:14px;margin-bottom:18px;display:flex;overflow:hidden}.auth-phone-prefix{background:var(--surface-2);color:var(--text-2);font-family:var(--font-body);padding:13px 14px;font-size:14px;font-weight:600}.auth-phone-input{font-family:var(--font-body);color:var(--text);box-sizing:border-box;border:none;flex:1;padding:13px 14px;font-size:15px}.auth-phone-input:focus{outline:none}.auth-match{font-family:var(--font-body);color:var(--accent);align-items:center;gap:6px;margin-bottom:18px;font-size:12.5px;font-weight:600;display:flex}.auth-match b{color:var(--text);font-weight:700}.auth-candidates{flex-direction:column;gap:6px;max-height:180px;margin-bottom:18px;display:flex;overflow-y:auto}.auth-candidate-btn{text-align:left;border:1px solid var(--border);font-family:var(--font-body);color:var(--text);background:var(--surface);border-radius:12px;padding:10px 13px;font-size:13.5px}.auth-candidate-btn:hover{border-color:var(--accent);color:var(--accent)}.auth-consent{align-items:flex-start;gap:10px;margin-bottom:22px;display:flex}.auth-consent input{flex-shrink:0;width:16px;height:16px;margin-top:2px}.auth-consent span{font-family:var(--font-body);color:var(--text-2);font-size:12px;line-height:1.5}.auth-turnstile{margin-bottom:16px}.auth-error{background:var(--danger-soft);color:var(--danger);border-radius:11px;margin-top:14px;padding:10px 12px;font-size:12.5px;font-weight:600}.auth-hint{color:var(--text-2);text-align:center;margin:16px 0 0;font-size:11.5px;line-height:1.5}.auth-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}.auth-link:hover{text-decoration:underline}.auth-otp-input{text-align:center;letter-spacing:.4em;font-family:var(--font-display);font-size:22px;font-weight:700}.auth-success{text-align:center;padding:12px 0}.auth-success-check{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:20px;display:flex}.deactivate-steps{gap:16px;margin-bottom:18px;display:flex}.deactivate-step{font-family:var(--font-body);letter-spacing:.03em;color:var(--text-2);font-size:11.5px;font-weight:700}.deactivate-step.active{color:var(--accent)}.deactivate-step.done{color:var(--text)}.landing-header{z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.landing-header-inner{justify-content:space-between;align-items:center;padding:16px 48px;display:flex}.landing-brand{align-items:center;gap:8px;display:flex}.landing-brand-mark{object-fit:contain;background:#fff;border-radius:14px;flex:none;width:52px;height:52px;padding:4px;box-shadow:0 2px 6px -2px #00000040}.landing-brand-word{line-height:1.2;font-family:var(--font-display);color:var(--text);flex-direction:column;font-size:17px;font-weight:800;display:flex}.landing-brand-voterword,.shell-brand-voterword{font-family:var(--font-body);letter-spacing:0;opacity:.6;font-weight:600}.landing-brand-voterword{font-size:11px}.landing-nav{align-items:center;gap:28px;display:flex}.landing-nav a{color:var(--text-2);font-size:13.5px;font-weight:600;transition:color .15s}.landing-nav a:hover{color:var(--accent)}.landing-nav-link-button{cursor:pointer;color:var(--text-2);background:0 0;border:none;padding:0;font-family:inherit;font-size:13.5px;font-weight:600;transition:color .15s}.landing-nav-link-button:hover{color:var(--accent)}.landing-header-actions{gap:10px;display:flex}.landing-apply-band{background:var(--accent-soft);border-bottom:1px solid var(--border)}.landing-apply-band-inner{color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 48px;font-size:12.5px;display:flex}.landing-apply-band-link{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:700}.landing-apply-band-link:hover{text-decoration:underline}.landing-apply-band-sep{color:var(--border)}.landing-hero-wrap{position:relative;overflow:hidden}.landing-hero-glow{background:radial-gradient(480px 320px at 15% 20%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 70%), radial-gradient(420px 300px at 85% 10%, color-mix(in srgb, var(--positive) 16%, transparent), transparent 70%), radial-gradient(360px 260px at 55% 55%, color-mix(in srgb, var(--accent-2) 14%, transparent), transparent 70%);pointer-events:none;z-index:0;height:620px;position:absolute;inset:-10% -10% auto}.landing-hero{z-index:1;grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;padding:96px 48px 76px;display:grid;position:relative}.landing-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:700}.landing-h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);text-wrap:balance;margin:0 0 18px;font-size:clamp(34px,4.6vw,60px);font-weight:800;line-height:1.04}.landing-hero-sub{color:var(--text-2);max-width:500px;margin:0 0 28px;font-size:17.5px;line-height:1.55}.landing-hero-actions{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.landing-hero-note{color:var(--text-3);font-size:12px}.landing-live-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:24px;padding:22px}.landing-live-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.landing-live-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.landing-live-badge{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--positive);align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.landing-live-badge-dot{background:var(--positive);border-radius:50%;width:7px;height:7px}.landing-pulse-num{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-bottom:6px;font-size:clamp(38px,4.4vw,54px);font-weight:800;line-height:1}.landing-pulse-label{color:var(--text-2);margin-bottom:18px;font-size:13px}.landing-live-digest{background:var(--accent-soft);border-radius:16px;padding:16px}.landing-live-digest-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:700}.landing-live-digest-text{color:var(--text);font-size:12.5px;line-height:1.5}.landing-pulse-cta{cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.landing-pulse-cta:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.landing-stats-band{background:var(--shell-bg);padding:56px 48px}.landing-stats-heading{font-family:var(--font-display);color:var(--shell-text);text-align:center;text-wrap:balance;margin:0 0 20px;font-size:clamp(24px,2.8vw,34px);font-weight:800}.landing-stats-scope{justify-content:center;align-items:center;gap:10px;margin:0 0 18px;display:flex}.landing-stats-scope-label{color:var(--shell-muted);letter-spacing:.03em;font-size:12px}.landing-stats-scope-select{font-family:var(--font-body);color:var(--shell-text);background:var(--shell-border);border:1px solid var(--shell-border);border-radius:var(--radius-pill);cursor:pointer;padding:6px 14px;font-size:13px;font-weight:600}.landing-stats-scope-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-stats-title{font-family:var(--font-display);letter-spacing:.03em;color:var(--shell-muted);text-align:center;margin:0 0 32px;font-size:13px;font-weight:700}.landing-stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:24px;max-width:820px;margin:0 auto;display:grid}.landing-stat-num{font-family:var(--font-display);color:var(--shell-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(28px,3.4vw,40px);font-weight:800}.landing-stat-num.positive{color:var(--positive)}.landing-stat-label{color:var(--shell-muted);margin-top:6px;font-size:13px}.landing-stats-note{text-align:center;color:var(--shell-muted);margin:20px 0 0;font-size:12.5px;font-style:italic}.landing-activity-strip{margin-top:40px}.landing-activity-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.landing-activity-chip{background:var(--shell-border);border-radius:var(--radius-pill);align-items:baseline;gap:8px;padding:9px 18px;display:flex}.landing-activity-chip-num{font-family:var(--font-display);color:var(--shell-text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.landing-activity-chip-label{color:var(--shell-muted);font-size:12px}.landing-insights-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;max-width:820px;margin:40px auto 0;display:grid}.landing-insight-card{background:color-mix(in srgb, var(--shell-text) 4%, transparent);border:1px solid var(--shell-border);border-radius:18px;flex-direction:column;padding:24px;display:flex}.landing-stats-categories-title{font-family:var(--font-display);color:var(--shell-text);text-align:center;margin:0 0 20px;font-size:14px;font-weight:700}.landing-bars-dark .landing-bar-row-head{color:var(--shell-text)}.landing-bars-dark .landing-bar-track{background:var(--shell-border)}.landing-insight-card .landing-bars{flex:1;justify-content:center}.landing-pie-row{flex:1;align-items:center;gap:20px;display:flex}.landing-pie-wrap{flex:none;width:108px;height:108px;position:relative}.landing-pie-svg{width:100%;height:100%}.landing-pie-legend{color:var(--shell-text);flex-direction:column;flex:1;gap:9px;min-width:0;font-size:12.5px;display:flex}.landing-pie-legend-row{align-items:center;gap:8px;display:flex}.landing-pie-legend-row b{font-variant-numeric:tabular-nums;margin-left:auto}.landing-pie-dot{border-radius:50%;flex:none;width:9px;height:9px}.landing-section{padding:76px 48px}.landing-section-title{font-family:var(--font-display);color:var(--text);text-wrap:balance;margin:0 0 6px;font-size:28px;font-weight:800}.landing-section-sub{color:var(--text-2);margin:0 0 32px;font-size:14.5px}.landing-bars{flex-direction:column;gap:14px;max-width:640px;display:flex}.landing-bar-row-head{color:var(--text);justify-content:space-between;margin-bottom:4px;font-size:12.5px;font-weight:600;display:flex}.landing-bar-track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.landing-bar-fill{background:var(--accent);border-radius:999px;height:10px}.landing-steps{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing-step{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px}.landing-step-num{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);font-family:var(--font-display);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;font-size:14px;font-weight:800;display:flex}.landing-step-title{font-family:var(--font-display);color:var(--text);margin:0 0 6px;font-size:15.5px;font-weight:700}.landing-step-body{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.5}.landing-feature-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.landing-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:6px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.landing-feature-card:hover{box-shadow:var(--shadow-card);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-3px)}.landing-feature-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:10px;display:flex}.landing-feature-icon.accent{background:var(--accent-soft);color:var(--accent)}.landing-feature-icon.positive{background:var(--positive-soft);color:var(--positive)}.landing-feature-icon.warning{background:var(--warning-soft);color:var(--warning)}.landing-feature-icon.danger{background:var(--danger-soft);color:var(--danger)}.landing-feature-icon.accent2{background:var(--accent-2-soft);color:var(--accent-2)}.landing-feature-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:15px;font-weight:700}.landing-feature-body{color:var(--text-2);margin:0;font-size:13px;line-height:1.55}.landing-trust-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.landing-trust-dot{background:var(--accent);border-radius:3px;width:10px;height:10px;margin-bottom:10px}.landing-trust-grid>div:nth-child(2) .landing-trust-dot{background:var(--positive)}.landing-trust-grid>div:nth-child(3) .landing-trust-dot{background:var(--accent-2)}.landing-trust-grid>div:nth-child(4) .landing-trust-dot{background:var(--positive)}.landing-trust-title{font-family:var(--font-display);color:var(--text);margin:0 0 4px;font-size:14px;font-weight:700}.landing-trust-body{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.landing-cta{background:linear-gradient(135deg, var(--accent), var(--accent-hover));text-align:center;padding:64px 48px;position:relative;overflow:hidden}.landing-cta-title{font-family:var(--font-display);color:var(--accent-ink);text-wrap:balance;margin:0 0 22px;font-size:clamp(24px,3vw,32px);font-weight:800;position:relative}.landing-cta .btn{background:var(--surface);color:var(--accent);position:relative}.landing-footer{border-top:1px solid var(--border);padding:32px 48px}.landing-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.landing-footer-brand-group{align-items:center;gap:10px;display:flex}.landing-footer-mark{object-fit:contain;flex:none;width:40px;height:40px}.landing-footer-brand{font-family:var(--font-display);color:var(--text);font-size:14px;font-weight:800}.landing-footer-meta{color:var(--text-3);font-size:12.5px}.landing-footer-links{align-items:center;gap:20px;display:flex}.landing-footer-link{cursor:pointer;color:var(--text-2);background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:600;transition:color .15s}.landing-footer-link:hover{color:var(--accent)}.landing-footer-credit{align-items:center;gap:4px;display:flex}.landing-footer-credit-link{text-decoration:none}.landing-footer-credit-link:hover{color:var(--accent);text-decoration:underline}.landing-footer-social{align-items:center;gap:12px;display:flex}.landing-footer-social-link{border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s,box-shadow .15s;display:flex}.landing-footer-social-link:hover{transform:translateY(-2px)scale(1.06);box-shadow:0 8px 18px -6px #14161a59}.landing-footer-social-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.landing-hero-glow{animation:22s ease-in-out infinite alternate landingGlowDrift}.landing-live-badge-dot{animation:1.8s ease-in-out infinite landingPulse}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.reveal.visible{opacity:1;transform:none}}@keyframes landingGlowDrift{0%{transform:translate(0)scale(1)}to{transform:translate(-3%,2%)scale(1.06)}}@keyframes landingPulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb, var(--positive) 45%, transparent)}50%{opacity:.65;box-shadow:0 0 0 5px color-mix(in srgb, var(--positive) 0%, transparent)}}@media (width<=900px){.landing-hero{grid-template-columns:1fr;padding:52px 24px}.landing-nav{display:none}.landing-stats-grid,.landing-steps,.landing-trust-grid,.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-section,.landing-stats-band{padding:48px 24px}.landing-insights-grid{grid-template-columns:1fr;gap:32px}}@media (width<=560px){.landing-feature-grid{grid-template-columns:1fr}}.shell{min-height:100vh;display:flex}.shell-sidebar{background:var(--shell-bg);width:264px;color:var(--shell-text);box-sizing:border-box;border-right:1px solid var(--shell-border);flex-direction:column;flex-shrink:0;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.shell-brand{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:22px;font-size:19px;font-weight:800;display:flex}.shell-brand>span{flex-direction:column;line-height:1.2;display:flex}.shell-brand-voterword{font-size:10px}.shell-brand-mark{object-fit:contain;background:#fff;border-radius:16px;flex:none;width:60px;height:60px;padding:5px;box-shadow:0 2px 8px -2px #0006}.shell-ac-card{border:1px solid var(--shell-border);background:#ffffff0f;border-radius:16px;margin-bottom:16px;padding:14px 16px}.shell-ac-label{letter-spacing:.06em;text-transform:uppercase;color:var(--shell-muted);margin-bottom:4px;font-size:10px;font-weight:600}.shell-ac-name{font-family:var(--font-display);color:#fff;font-size:16px;font-weight:700}.shell-ac-sub{color:var(--shell-muted);margin-top:2px;font-size:11px}.shell-report-btn{background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-display);border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:22px;padding:12px 16px;font-size:13.5px;font-weight:700;display:flex}.shell-nav{flex-direction:column;gap:3px;margin-bottom:auto;display:flex}.shell-nav-item{color:var(--shell-muted);text-align:left;width:100%;font-family:var(--font-body);background:0 0;border:none;border-radius:14px;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:600;display:flex}.shell-nav-item:hover{color:var(--shell-text)}.shell-nav-item.active{color:#b7bcf3;background:#555ec638}.shell-foot{border-top:1px solid var(--shell-border);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.shell-user{cursor:pointer;border-radius:12px;align-items:center;gap:8px;min-width:0;margin:-4px -6px;padding:4px 6px;display:flex}.shell-user.active{background:#555ec638}.shell-user.active .shell-user-name{color:#b7bcf3}.shell-avatar{background:var(--accent);color:#fff;width:32px;height:32px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex;overflow:hidden}.shell-avatar img{object-fit:cover;width:100%;height:100%}.shell-user-name{color:var(--shell-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.shell-user-plan{color:var(--shell-muted);font-size:10.5px}.shell-logout{color:var(--shell-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0}.shell-logout:hover{color:var(--danger)}.shell-main{box-sizing:border-box;flex:1;min-width:0;padding:40px 48px 64px}.shell-content{max-width:1280px;margin:0 auto}.shell-topbar{justify-content:flex-end;margin-bottom:12px;display:flex}.language-switcher{color:var(--text-2);align-items:center;gap:6px;display:inline-flex}.language-switcher select{appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--text-2);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%2366635A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 10px center;background-repeat:no-repeat;max-width:180px;padding:6px 28px 6px 10px;font-size:12.5px;font-weight:600}.language-switcher select:hover{border-color:var(--accent-soft);color:var(--text)}.language-switcher select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.shell-head-eyebrow{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.shell-head-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0;font-size:30px;font-weight:800}.shell-head-sub{color:var(--text-2);margin-top:4px;font-size:13px}.shell-head-actions{gap:12px;display:flex}.shell-stat-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.shell-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px 20px}.shell-stat-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11.5px;font-weight:600}.shell-stat-num{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:800}.shell-stat-num.positive{color:var(--positive)}.shell-stat-trend{color:var(--text-2);margin-top:6px;font-size:12px;font-weight:700}.shell-stat-trend.up{color:var(--accent)}.shell-layout{grid-template-columns:1fr 340px;align-items:start;gap:28px;display:grid}.digest-card{background:var(--accent-soft);border-radius:20px;margin-bottom:28px;padding:20px 22px}.digest-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.digest-bullet{color:var(--text);border-top:1px solid #0000000f;margin-top:10px;padding-top:10px;font-size:13.5px;font-weight:500;line-height:1.5}.digest-bullet:first-child{border-top:none;margin-top:0;padding-top:0}.updates-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:28px;padding:20px 22px}.updates-card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.update-composer{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:14px;padding-bottom:14px;display:flex}.update-composer-title,.update-composer-body{border:1px solid var(--border);font-family:var(--font-body);color:var(--text);background:var(--surface);resize:vertical;border-radius:12px;padding:10px 12px;font-size:13px}.update-list{flex-direction:column;gap:10px;display:flex}.update-item{border:1px solid var(--border);border-radius:14px;padding:12px 14px}.update-item-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.update-item-title{color:var(--text);font-size:13.5px;font-weight:700}.update-item-votes{color:var(--text-2);flex-shrink:0;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.update-vote-btn{border:1px solid var(--border);width:22px;height:22px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;padding:0;line-height:1}.update-vote-btn:disabled{opacity:.4;cursor:not-allowed}.update-vote-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent-soft)}.update-item-body{color:var(--text-2);margin:6px 0;font-size:12.5px;line-height:1.5}.update-item-meta{color:var(--text-3);font-size:11px}.surveys-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:28px;padding:20px 22px}.surveys-list{flex-direction:column;gap:8px;display:flex}.survey-item{border:1px solid var(--border);border-radius:14px;overflow:hidden}.survey-question{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;font-weight:600;display:flex}.survey-question:hover{color:var(--accent)}.survey-responded-badge{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;padding:3px 9px;font-size:10.5px;font-weight:700}.survey-body{padding:0 16px 16px}.survey-meta{color:var(--text-2);margin-bottom:12px;font-size:11.5px}.survey-options{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.survey-option{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);font-family:var(--font-body);color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.survey-option.selected{border-color:var(--accent);background:var(--accent-soft)}.survey-option-radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:16px;height:16px}.survey-option.selected .survey-option-radio{border-color:var(--accent);background:var(--accent)}.survey-results{flex-direction:column;gap:10px;display:flex}.survey-result-row{flex-direction:column;gap:5px;display:flex}.survey-result-label-row{color:var(--text);justify-content:space-between;font-size:12.5px;display:flex}.survey-result-pct{color:var(--accent);font-weight:700}.survey-result-bar-track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.survey-result-bar-fill{background:var(--accent);border-radius:4px;height:8px}.survey-total{color:var(--text-2);margin-top:2px;font-size:11.5px}.deal-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.deal-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;padding:16px;display:flex}.deal-card-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.deal-card-business{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:700}.deal-card-remaining{color:var(--text-2);white-space:nowrap;font-size:11.5px;font-weight:600}.deal-card-discount{font-family:var(--font-display);color:var(--text);margin:0 0 6px;font-size:15px;font-weight:700}.deal-reservation-list{flex-direction:column;gap:16px;display:flex}.deal-reservation-card{border:1px solid var(--border);border-radius:16px;align-items:center;gap:16px;padding:16px;display:flex}.deal-reservation-qr{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.deal-reservation-code{font-family:var(--font-mono,monospace);letter-spacing:.08em;color:var(--text);font-size:16px;font-weight:700}.deal-reservation-info{min-width:0}.qr-code-placeholder{background:var(--surface-2);border-radius:8px}.qr-code-image{border-radius:8px;display:block}.deal-ad-slot{text-align:left;background:var(--accent-soft);cursor:pointer;width:100%;font-family:var(--font-body);background:var(--accent-2-soft);border:none;border-radius:16px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;display:flex}.deal-ad-slot-badge{color:var(--accent-2-ink);background:var(--accent-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:3px 10px;font-size:10.5px;font-weight:700}.deal-ad-slot-body{color:var(--text);flex:1;min-width:0;font-size:13px}.deal-ad-slot-cta{color:var(--accent-2);flex-shrink:0;font-size:12.5px;font-weight:700}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filter-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-2);padding:8px 16px;font-size:12.5px;font-weight:600}.filter-chip.active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.section-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;font-size:13px;font-weight:600}.issue-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.issue-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:20px;padding:16px}.issue-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.issue-category{color:var(--text-2);letter-spacing:.05em;font-size:10.5px;font-weight:700}.severity-pill{border-radius:var(--radius-pill);padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.severity-pill.high{background:var(--danger-soft);color:var(--danger)}.severity-pill.medium{background:var(--warning-soft);color:var(--warning)}.severity-pill.low{background:var(--low-soft);color:var(--low)}.severity-pill.overdue{background:var(--danger-soft);color:var(--danger)}.citizen-report-pill{border-radius:var(--radius-pill);background:var(--accent-2-soft);color:var(--accent-2);padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.referral-badge{border-radius:var(--radius-pill);align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.referral-badge.bronze{background:var(--badge-bronze-soft);color:var(--badge-bronze)}.referral-badge.silver{background:var(--badge-silver-soft);color:var(--badge-silver)}.referral-badge.gold{background:var(--badge-gold-soft);color:var(--badge-gold)}.referral-progress{color:var(--text-2);margin:8px 0 12px;font-size:12.5px}.gamification-badge{border-radius:var(--radius-pill);background:var(--badge-gold-soft);color:var(--badge-gold);align-items:center;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.referral-code-row{background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 14px;display:flex}.referral-code-value{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);flex:1;font-size:15px;font-weight:700}.issue-title{font-family:var(--font-display);color:var(--text);margin:0 0 4px;font-size:14.5px;font-weight:700}.issue-summary{color:var(--text-2);margin:0 0 8px;font-size:12.5px;line-height:1.4}.issue-meta{color:var(--text-2);font-size:11.5px;font-weight:500}.side-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:18px;padding:18px}.side-card-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:11.5px;font-weight:700}.rep-name{font-family:var(--font-display);color:var(--text);font-size:17px;font-weight:700}.rep-constituency{color:var(--accent);margin-top:2px;font-size:12px;font-weight:600}.rep-meta{color:var(--text-2);margin-top:4px;margin-bottom:12px;font-size:12.5px;font-weight:500}.rep-disclaimer{color:var(--text-3);margin-top:10px;font-size:11.5px;font-style:italic;line-height:1.5}.rep-rating-summary{color:var(--text-2);flex-direction:column;gap:2px;margin-bottom:10px;font-size:12px;display:flex}.rep-rating-summary.muted{color:var(--text-3)}.rep-rating-stars{font-family:var(--font-display);color:var(--warning);font-size:15px;font-weight:700}.rep-rate-form{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:10px;padding-top:12px;display:flex}.rep-star-picker{gap:4px;display:flex}.rep-star{color:var(--border);cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.rep-star.active{color:var(--warning)}.rep-vote-again-toggle{border:1px solid var(--border);border-radius:12px;display:flex;overflow:hidden}.rep-vote-again-toggle button{background:var(--surface);font-family:var(--font-body);color:var(--text-2);cursor:pointer;border:none;flex:1;padding:9px 10px;font-size:12px;font-weight:600}.rep-vote-again-toggle button.active{background:var(--accent);color:var(--accent-ink)}.rep-mp-digest{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.rep-mp-digest-bullet{color:var(--text);border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-size:12.5px;font-weight:500;line-height:1.5}.rep-mp-digest-bullet:first-child{border-top:none;margin-top:0;padding-top:0}.rep-promises{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.rep-promises-summary{color:var(--text-2);margin-bottom:10px;font-size:12px;font-weight:600}.rep-promise-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rep-promise-item{border:1px solid var(--border);border-radius:12px;overflow:hidden}.rep-promise-row{width:100%;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:9px 10px;display:flex}.rep-promise-status{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.rep-promise-status-delivered{background:var(--accent-soft);color:var(--accent)}.rep-promise-status-in_progress{background:var(--warning-soft);color:var(--warning)}.rep-promise-status-promised{background:var(--border);color:var(--text-2)}.rep-promise-status-broken{background:var(--danger-soft);color:var(--danger)}.rep-promise-title{color:var(--text);font-size:12.5px;font-weight:600}.rep-promise-detail{color:var(--text-2);padding:0 12px 12px;font-size:12px;line-height:1.5}.rep-promise-detail p{margin:0 0 8px}.rep-promise-source{color:var(--accent);font-size:11.5px;font-weight:600}.rep-promise-evidence{margin-top:8px}.rep-promise-evidence.muted{color:var(--text-3);font-style:italic}.rep-promise-evidence-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-3);margin-bottom:4px;font-size:10.5px;font-weight:700}.rep-promise-evidence ul{margin:0;padding-left:16px}.hashtag-row{flex-wrap:wrap;gap:8px;display:flex}.hashtag-chip{border-radius:var(--radius-pill);color:var(--positive);background:var(--positive-soft);border:1px solid #0000;padding:6px 12px;font-size:12px;font-weight:600}.map-layout{grid-template-columns:360px 1fr;gap:20px;display:grid}.map-list{flex-direction:column;gap:10px;max-height:640px;display:flex;overflow-y:auto}.map-row{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:16px;padding:14px}.map-row.selected{background:var(--accent-soft);border-color:var(--accent)}.map-canvas{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;height:640px;position:relative;overflow:hidden}.map-unavailable{color:var(--text-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex;position:absolute;inset:0}.map-legend{background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 14px;font-size:12px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 4px 16px #00000014}.map-legend-item{align-items:center;gap:8px;display:flex}.map-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.map-legend-dot-precise{background:var(--text-2)}.rep-broadcast-layout{grid-template-columns:3fr 2fr;gap:20px;display:grid}.rep-detail-pane{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:18px}.broadcast-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px}.broadcast-card-title{color:var(--text);margin-bottom:4px;font-size:13.5px;font-weight:700}.broadcast-card-meta{color:var(--text-2);margin-bottom:8px;font-size:11.5px}.broadcast-card-body{color:var(--text-2);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.map-legend-dot-approx{border:1.5px solid var(--text-2);background:0 0}.india-map-state-select{font-family:var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:320px;margin-bottom:14px;padding:10px 14px;font-size:13px}.india-map-layout{grid-template-columns:1fr 320px}.india-map-canvas{justify-content:center;align-items:center;display:flex}.india-map-canvas svg{width:100%;height:100%}.india-map-toolbar{z-index:1;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:16px;left:16px}.india-map-year-select{font-family:var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px}.india-map-claim-legend{background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;display:flex;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 16px #00000014}.india-map-sidebar{flex-direction:column;gap:14px;display:flex}.india-map-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.india-map-panel-title{font-family:var(--font-display);margin:0 0 4px;font-size:18px;font-weight:700}.india-map-panel-sub{color:var(--text-2);margin:0 0 12px;font-size:13px}.india-map-territorial-note{background:var(--surface-2);border-left:3px solid var(--accent);color:var(--text-2);border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.5}.india-map-rep-name{margin-top:4px;font-size:15px;font-weight:700}.india-map-rep-party{color:var(--text-2);align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.india-map-party-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px;display:inline-block}.india-map-cabinet-list{flex-direction:column;gap:10px;max-height:480px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.india-map-cabinet-list li{align-items:flex-start;gap:10px;display:flex}.india-map-cabinet-list .india-map-party-dot{margin-top:4px}.india-map-cabinet-name{font-size:13.5px;font-weight:600}.india-map-cabinet-role{color:var(--text-2);font-size:12px}.india-map-source-note{color:var(--text-3);margin-top:12px;font-size:11px}.india-map-stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.india-map-stat-tile{background:var(--surface-2);text-align:center;border-radius:12px;padding:12px}.india-map-stat-tile.muted{opacity:.55}.india-map-stat-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.india-map-stat-label{color:var(--text-2);margin-top:2px;font-size:11px}.india-map-legend{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 18px}.india-map-legend-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-3);margin-bottom:8px;font-size:12px;font-weight:700}.india-map-legend-items{flex-wrap:wrap;gap:10px 16px;display:flex}.india-map-legend-item{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.landing-india-map-frame{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);padding:20px}@media (width<=860px){.india-map-layout{grid-template-columns:1fr}}.petition-item{border:1px solid var(--border);border-radius:14px;overflow:hidden}.petition-question{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.petition-question:hover .petition-question-title{color:var(--accent)}.petition-question-title{color:var(--text);margin-bottom:3px;font-size:13.5px;font-weight:600}.petition-question-meta{color:var(--text-2);font-size:11.5px}.petition-status{text-transform:uppercase;letter-spacing:.03em;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:700}.petition-status-closed{background:var(--border);color:var(--text-2)}.petition-status-victory{background:var(--low-soft);color:var(--low)}.petition-status-removed{background:var(--danger-soft);color:var(--danger)}.petition-body{padding:0 16px 16px}.petition-progress-track{background:var(--border);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.petition-progress-fill{background:var(--accent);border-radius:4px;height:8px}.petition-progress-label{color:var(--text-2);margin-bottom:14px;font-size:11.5px}.petition-ask{color:var(--text);background:var(--surface-2);border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:13px;line-height:1.55}.petition-sign-btn{width:100%;margin-bottom:14px}.petition-official-response{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;margin-bottom:14px;padding:10px 14px}.petition-official-response-head{color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:700}.petition-official-response-body{color:var(--text);font-size:12.5px;line-height:1.5}.petition-comment-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.petition-comment{color:var(--text-2);font-size:12.5px;line-height:1.5}.petition-comment b{color:var(--text)}.petition-comment-form{gap:8px;display:flex}.petition-comment-input{border:1px solid var(--border);font-family:var(--font-body);background:var(--surface);color:var(--text);border-radius:12px;flex:1;padding:9px 12px;font-size:12.5px}.petition-ad-slot{text-align:left;background:var(--accent-soft);cursor:pointer;width:100%;font-family:var(--font-body);border:none;border-radius:16px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;display:flex}.petition-ad-slot-badge{color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:3px 10px;font-size:10.5px;font-weight:700}.petition-ad-slot-body{color:var(--text);flex:1;min-width:0;font-size:13px}.petition-ad-slot-cta{color:var(--accent);flex-shrink:0;font-size:12.5px;font-weight:700}.petition-template-grid{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.petition-template-card{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-family:var(--font-body);border-radius:14px;padding:12px 14px}.petition-template-card:hover{border-color:var(--accent)}.petition-template-category{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:10.5px;font-weight:700}.petition-template-title{color:var(--text);font-size:13px;font-weight:600}.petition-template-blank{text-align:center;color:var(--text-2);font-weight:600}.petition-target-toggle{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;display:flex;overflow:hidden}.petition-target-toggle button{background:var(--surface);font-family:var(--font-body);color:var(--text-2);cursor:pointer;border:none;flex:1;padding:9px 10px;font-size:12px;font-weight:600}.petition-target-toggle button.active{background:var(--accent);color:var(--accent-ink)}.modal-backdrop{z-index:50;background:#14161a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:24px;width:520px;max-width:90vw;max-height:85vh;padding:28px;overflow-y:auto;box-shadow:0 24px 60px #00000040}.modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:18px;font-weight:700}.modal-close{color:var(--text-2);cursor:pointer;background:0 0;border:none;font-size:16px}.modal-photo-drop{border:1px dashed var(--border);background:var(--surface);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;height:110px;margin-bottom:16px;display:flex;overflow:hidden}.modal-photo-drop img{object-fit:cover;width:100%;height:100%}.modal-textarea{width:100%;min-height:100px;font-family:var(--font-body);color:var(--text);border:1px solid var(--border);box-sizing:border-box;resize:vertical;border-radius:16px;margin-bottom:18px;padding:12px 14px;font-size:14px}.contact-field-label{color:var(--text-2);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.contact-input{width:100%;font-family:var(--font-body);color:var(--text);border:1px solid var(--border);box-sizing:border-box;background:var(--surface);border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:14px}.contact-input:focus,.modal-textarea:focus{outline:2px solid var(--accent);outline-offset:1px}select.contact-input{appearance:auto}.analysis-card{background:var(--accent-soft);border-radius:16px;margin-bottom:16px;padding:16px}.analysis-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700}.analysis-category{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:700}.similar-issue-row{color:var(--text-2);border-top:1px solid var(--border);padding:8px 0;font-size:12.5px}.profile-head{align-items:center;gap:14px;margin-bottom:24px;display:flex}.profile-avatar{background:var(--accent);color:#fff;width:56px;height:56px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-name{font-family:var(--font-display);color:var(--text);font-size:22px;font-weight:800}.profile-phone{color:var(--text-2);font-size:13px}.profile-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.profile-row{border-bottom:1px solid var(--surface-2);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.profile-row:last-child{border-bottom:none}.profile-row-label{color:var(--text);font-size:13.5px;font-weight:600}.profile-row-value{color:var(--text-2);font-size:13px}.profile-pc-note{color:var(--text-3);margin:4px 0 10px;font-size:11.5px;font-style:italic;line-height:1.5}.footprint-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.footprint-stat{background:var(--surface-2);border-radius:14px;padding:12px 14px}.footprint-num{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.footprint-stat-label{color:var(--text-2);margin-top:2px;font-size:11px}.profile-premium-card{background:linear-gradient(135deg, var(--accent-2), var(--accent-2-hover));border-radius:20px;flex-direction:column;padding:18px;display:flex}.profile-premium-title{font-family:var(--font-display);color:#fff;margin-bottom:2px;font-size:14px;font-weight:700}.profile-premium-sub{color:var(--accent-2-soft);margin-bottom:14px;font-size:12px}.toggle{border-radius:var(--radius-pill);cursor:pointer;background:var(--border);border:none;width:34px;height:20px;display:inline-block;position:relative}.toggle.on{background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle.on .toggle-knob{left:16px}.sign-out-link{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700}.privacy-section{margin-bottom:16px}.privacy-heading{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:13.5px;font-weight:700}.privacy-copy{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.5}.privacy-group{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;overflow:hidden}.privacy-toggle-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.privacy-toggle-label{color:var(--text);flex:1;font-size:13.5px;font-weight:600}.privacy-toggle-explainer{color:var(--text-2);margin:0;padding:0 16px 14px;font-size:11.5px;line-height:1.5}.privacy-action-row{border:none;border-top:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13.5px;font-weight:600;display:flex}.privacy-group .privacy-action-row:first-child{border-top:none}.privacy-action-danger{color:var(--danger)}.privacy-footer-note{color:var(--text-3);margin:0;font-size:11.5px;font-style:italic;line-height:1.5}.assistant-layout{grid-template-columns:1fr 300px;gap:24px;display:grid}.assistant-chatbox{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;height:600px;display:flex;overflow:hidden}.assistant-messages{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.assistant-empty{text-align:center;color:var(--text-2);max-width:280px;margin:auto;font-size:13px}.chat-row{display:flex}.chat-row.user{justify-content:flex-end}.chat-row.assistant{flex-direction:column;align-items:flex-start}.chat-bubble{border-radius:18px;max-width:78%;padding:11px 15px;font-size:14px;line-height:1.4}.chat-bubble.user{background:var(--accent);color:var(--accent-ink)}.chat-bubble.assistant{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.chat-bubble.typing{color:var(--text-2);letter-spacing:2px}.chat-source-pill{background:var(--positive-soft);color:var(--positive);border-radius:var(--radius-pill);margin-top:4px;padding:3px 10px;font-size:10.5px;font-weight:600}.assistant-quota-card{background:var(--accent-soft);text-align:center;border-radius:16px;margin:16px;padding:16px}.assistant-quota-title{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.assistant-quota-sub{color:var(--text-2);margin-bottom:12px;font-size:13px}.assistant-input-row{border-top:1px solid var(--border);gap:10px;padding:16px;display:flex}.assistant-input-row input{flex:1}.assistant-faq-card{border-top:1px solid var(--border);padding:12px 16px}.assistant-faq-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.assistant-faq-item{border:1px solid var(--border);border-radius:12px;overflow:hidden}.assistant-faq-question{text-align:left;background:var(--surface);width:100%;color:var(--text);cursor:pointer;border:none;padding:10px 13px;font-size:12.5px;font-weight:600;display:block}.assistant-faq-question:hover{color:var(--accent)}.assistant-faq-answer{color:var(--text-2);padding:0 13px 12px;font-size:12.5px;line-height:1.4}.assistant-side-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:16px;padding:16px}.assistant-usage-value{font-family:var(--font-display);color:var(--accent);font-size:13.5px;font-weight:700}.prompt-chip{border:1px solid var(--border);color:var(--text);background:var(--surface);text-align:left;border-radius:14px;width:100%;margin-bottom:8px;padding:11px 13px;font-size:12.5px}.prompt-chip:hover{border-color:var(--accent)}@media (width<=900px){.shell{flex-direction:column}.shell-sidebar{display:none}.shell-main{padding:24px}.shell-layout,.map-layout,.rep-broadcast-layout,.issue-grid,.profile-grid,.assistant-layout{grid-template-columns:1fr}}.beta-banner{background:var(--warning-soft);color:var(--warning);text-align:center;border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:12px;padding:9px 16px;font-size:12.5px;font-weight:600;display:flex}.beta-banner-text{line-height:1.4}.beta-banner-dismiss{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.beta-banner-dismiss:hover{opacity:1}.faqbot-launcher{z-index:45;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-family:var(--font-display);cursor:pointer;border:none;align-items:center;gap:8px;padding:13px 18px 13px 15px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 28px -8px #555ec68c}.faqbot-launcher:hover{transform:translateY(-1px);box-shadow:0 16px 34px -8px #555ec699}.faqbot-launcher-label{white-space:nowrap}.faqbot-launcher-avatar{border-radius:999px;flex-shrink:0;display:flex;box-shadow:0 0 0 2px #ffffffeb}.faqbot-launcher-badge{background:var(--positive);border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;top:-2px;right:-2px}.faqbot-panel{z-index:45;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:368px;max-width:calc(100vw - 32px);height:min(70vh,560px);box-shadow:var(--shadow-card);flex-direction:column;animation:.16s ease-out faqbot-pop;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden}@media (prefers-reduced-motion:reduce){.faqbot-panel{animation:none}}@keyframes faqbot-pop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}.faqbot-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 14px 16px 18px;display:flex}.faqbot-head-avatar{filter:drop-shadow(0 3px 8px #555ec659);flex-shrink:0;display:flex}.faqbot-head-text{flex:1;min-width:0}.faqbot-head-title{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:800}.faqbot-head-sub{color:var(--text-3);align-items:center;gap:6px;margin-top:2px;font-size:11.5px;display:flex}.faqbot-online-dot{background:var(--positive);border-radius:50%;flex-shrink:0;width:6px;height:6px}.faqbot-startover{color:var(--text-2);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 2px;font-size:12px;font-weight:600}.faqbot-startover:hover{color:var(--accent)}.faqbot-close{background:var(--surface-2);width:26px;height:26px;color:var(--text-2);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.faqbot-close:hover{background:var(--border);color:var(--text)}.faqbot-thread{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.faqbot-bubble-row{display:flex}.faqbot-bubble-row.bot{justify-content:flex-start;align-items:flex-end;gap:7px}.faqbot-bubble-row.user{justify-content:flex-end}.faqbot-bubble-avatar{flex-shrink:0;margin-bottom:1px;display:flex}.faqbot-bubble{border-radius:15px;max-width:84%;padding:10px 13px;font-size:13.5px;line-height:1.5}.faqbot-bubble-row.bot .faqbot-bubble{background:var(--surface-2);max-width:calc(84% - 29px);color:var(--text);border-bottom-left-radius:4px}.faqbot-bubble-row.user .faqbot-bubble{background:var(--accent-soft);color:var(--accent-hover);border-bottom-right-radius:4px;font-weight:600}.faqbot-typing{align-items:center;gap:4px;padding:13px;display:flex}.faqbot-typing span{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite faqbot-typing-pulse}.faqbot-typing span:nth-child(2){animation-delay:.15s}.faqbot-typing span:nth-child(3){animation-delay:.3s}@keyframes faqbot-typing-pulse{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.faqbot-typing span{opacity:.6;animation:none}}.faqbot-chips{flex-wrap:wrap;gap:7px;padding-top:2px;display:flex}.faqbot-chip{background:var(--surface);border:1.5px solid var(--accent-soft);color:var(--accent-hover);border-radius:var(--radius-pill);font-size:12.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;text-align:left;padding:7px 13px;transition:background .12s,border-color .12s}.faqbot-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.faqbot-chip-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.faqbot-chip-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.faqbot-chip-quiet{border-color:var(--border);color:var(--text-2);background:0 0}.faqbot-chip-quiet:hover{background:var(--surface-2);border-color:var(--border)}.faqbot-disclaimer{color:var(--text-3);border-top:1px solid var(--border);flex-shrink:0;padding:9px 16px;font-size:10.5px;line-height:1.4}@media (width<=480px){.faqbot-panel{width:auto;height:min(72vh,560px);bottom:16px;left:16px;right:16px}.faqbot-launcher{bottom:16px;right:16px}}.faqbot-launcher:focus-visible,.faqbot-chip:focus-visible,.faqbot-close:focus-visible,.faqbot-startover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scheme-detail-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);margin:12px 0 4px;font-size:11px;font-weight:700}.scheme-detail-label:first-child{margin-top:0}.scheme-detail-body{color:var(--text);margin:0;font-size:13px;line-height:1.55}.scheme-facts{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.scheme-fact{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600}.scheme-links{gap:16px;margin:12px 0;display:flex}.scheme-link{color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:none}.scheme-link:hover{text-decoration:underline}.scheme-link-quiet{color:var(--text-2)}.scheme-claims{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.scheme-claim{padding:8px 0}.scheme-claim-title{color:var(--text);font-size:12.5px;font-weight:600}.scheme-claim-desc{color:var(--text-2);margin-top:2px;font-size:12px}.scheme-findings{flex-direction:column;gap:4px;margin-top:6px;display:flex}.scheme-finding{color:var(--positive);font-size:11.5px;text-decoration:none}.scheme-finding:hover{text-decoration:underline}.scheme-disclaimer{color:var(--text-3);margin-top:10px;font-size:11.5px;font-style:italic;line-height:1.5}.scheme-eligibility-results{flex-direction:column;gap:10px;max-height:320px;display:flex;overflow-y:auto}.scheme-eligibility-result{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.scheme-eligibility-result-name{color:var(--text);font-size:13px;font-weight:600}.scheme-eligibility-result-reason{color:var(--text-2);font-size:12px}.scheme-eligibility-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:10.5px;font-weight:700}.scheme-eligibility-badge-yes{background:var(--positive-soft);color:var(--positive)}.scheme-eligibility-badge-maybe{background:var(--warning-soft);color:var(--warning)}.scheme-eligibility-badge-no{background:var(--surface);color:var(--text-3);border:1px solid var(--border)}.rep-performance{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.rep-performance-summary-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.rep-performance-summary{color:var(--text-2);font-size:12px;font-weight:600}.rep-fund-donut{flex-shrink:0}.rep-performance-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rep-performance-item{border:1px solid var(--border);border-radius:12px;overflow:hidden}.rep-performance-row{width:100%;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.rep-performance-metric{color:var(--text);font-size:12.5px;font-weight:600}.rep-performance-value{color:var(--accent);flex-shrink:0;font-size:13px;font-weight:700}.rep-performance-detail{color:var(--text-2);padding:0 12px 12px;font-size:12px;line-height:1.6}.rep-performance-detail .muted{color:var(--text-3);font-style:italic}.rep-performance-detail .rep-promise-source{margin-top:4px;display:inline-block}.rep-history-chart{margin-bottom:10px}.rep-history-list{flex-direction:column;gap:6px;margin:0 0 4px;padding:0;list-style:none;display:flex}.rep-history-item{justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.rep-history-term{color:var(--text);align-items:center;gap:6px;font-weight:600;display:flex}.rep-history-range{color:var(--text-2);font-variant-numeric:tabular-nums}.rep-history-current-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.embed-widget{box-sizing:border-box;background:var(--bg);max-width:360px;font-family:var(--font-body);color:var(--text);margin:0 auto;padding:16px 18px}.embed-widget-loading,.embed-widget-error{color:var(--text-2);padding:12px 0;font-size:13px}.embed-widget-header{margin-bottom:14px}.embed-widget-ac{font-family:var(--font-display);font-size:17px;font-weight:700}.embed-widget-state{color:var(--text-2);margin-top:2px;font-size:12px}.embed-widget-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.embed-widget-stat{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;padding:8px 6px}.embed-widget-stat-num{font-family:var(--font-display);color:var(--accent);font-size:18px;font-weight:800}.embed-widget-stat-label{color:var(--text-2);margin-top:2px;font-size:10.5px;line-height:1.3}.embed-widget-fund{text-align:center;margin-bottom:10px}.embed-widget-fund-label{color:var(--text-2);margin-bottom:2px;font-size:11px}.embed-widget-fund-percent{font-family:var(--font-display);color:var(--accent);margin-top:-4px;font-size:16px;font-weight:800}.embed-widget-streak{color:var(--positive,var(--accent));margin-bottom:8px;font-size:12px;font-weight:700}.embed-widget-top-category{color:var(--text-2);margin-bottom:8px;font-size:12px}.embed-widget-asof{color:var(--text-3);margin-bottom:10px;font-size:10.5px}.embed-widget-footer{color:var(--accent);border-top:1px solid var(--border);padding-top:10px;font-size:11px;font-weight:600;text-decoration:none;display:block}.embed-widget-footer:hover{text-decoration:underline}.election-tracker-overdue-list{margin-bottom:10px}.election-tracker-overdue-heading{color:var(--text-2);margin-bottom:6px;font-size:11px;font-weight:700}.election-tracker-overdue-row{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding:4px 0;font-size:12px;display:flex}.election-tracker-overdue-seat{color:var(--text-1)}.election-tracker-overdue-days{color:var(--negative,var(--accent));white-space:nowrap;font-weight:700}.public-profile-page{box-sizing:border-box;background:var(--bg);max-width:720px;min-height:100vh;font-family:var(--font-body);color:var(--text);margin:0 auto;padding:32px 20px 40px}.public-profile-state{color:var(--text-2);text-align:center;padding:60px 0;font-size:13.5px}.public-profile-hero{align-items:center;gap:18px;margin-bottom:24px;display:flex}.public-profile-photo{background:var(--accent);color:#fff;width:88px;height:88px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex;overflow:hidden}.public-profile-photo img{object-fit:cover;width:100%;height:100%}.public-profile-photo-credit{text-align:center;color:var(--text-2);margin-top:4px;font-size:10px;display:block}.public-profile-name{font-family:var(--font-display);color:var(--text);font-size:26px;font-weight:800}.public-profile-headline{color:var(--text-2);margin-top:4px;font-size:14px}.public-profile-seat-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;margin-top:8px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-block}.public-profile-achievements{white-space:pre-wrap;color:var(--text-2);font-size:13.5px;line-height:1.6}.public-profile-claim-banner{text-align:center;color:var(--accent);background:var(--accent-soft);border-radius:10px;margin-bottom:20px;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none;display:block}.public-profile-claim-banner:hover{text-decoration:underline}.public-profile-contender-note{color:var(--text-2);margin:4px 0 24px;font-size:12.5px}.public-profile-social-row{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.public-profile-social-link{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;text-decoration:none}.public-profile-social-link:hover{text-decoration:underline}.public-profile-subsection{margin-bottom:14px}.public-profile-subsection:last-child{margin-bottom:0}.public-profile-subsection-label{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:700}.public-profile-footer{text-align:center;color:var(--accent);border-top:1px solid var(--border);margin-top:32px;padding-top:16px;font-size:11px;font-weight:600;text-decoration:none;display:block}.public-profile-footer:hover{text-decoration:underline}
