@import "https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Thin.ttf)format("truetype");font-weight:100;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-ExtraLight.ttf)format("truetype");font-weight:200;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Light.ttf)format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-ExtraBold.ttf)format("truetype");font-weight:800;font-display:swap}@font-face{font-family:Noto Serif Bengali;src:url(/Noto_Serif_Bengali/static/NotoSerifBengali-Black.ttf)format("truetype");font-weight:900;font-display:swap}:root{color:#1d2b36;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f6f9;font-family:Noto Serif Bengali,Hind Siliguri,SolaimanLipi,system-ui,-apple-system,serif;font-weight:400;line-height:1.5}html{-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{background-color:#f3f6f9;min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}#root{min-height:100vh}.App{flex-direction:column;min-height:100vh;display:flex}.App__content{flex:1}.App__footer{text-align:center;color:#5b6b78;background-color:#f3f6f9;border-top:1px solid #1d2b3614;padding:16px 12px 24px;font-size:.9rem}:root{--primary:#1f8f4f;--primary-dark:#166534;--primary-soft:#f0fdf4;--primary-glow:#1f8f4f66;--secondary:#2d9cdb;--accent:#f2c94c;--danger:#e5493d;--bg-main:#f8fafc;--bg-card:#fff;--text-main:#1d2b36;--text-muted:#64748b;--border:#e2e8f0;--radius:18px;--card-shadow:0 10px 40px #0000000a, 0 2px 8px #00000005;--font-bn:"Hind Siliguri", sans-serif;--font-en:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-bn);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%{box-shadow:0 0 5px #1f8f4f33}50%{box-shadow:0 0 15px #1f8f4f66}to{box-shadow:0 0 5px #1f8f4f33}}@keyframes seatRingPulse{0%{opacity:.65;stroke-width:1.4px}50%{opacity:1;stroke-width:2.2px}to{opacity:.65;stroke-width:1.4px}}@keyframes tooltipGlow{0%{box-shadow:0 10px 24px #182a3e1f}50%{box-shadow:0 14px 30px #1f8f4f2e}to{box-shadow:0 10px 24px #182a3e1f}}.page{background:var(--bg-main);min-height:100vh;padding:90px 16px 48px;animation:.6s ease-out fadeIn}.container{flex-direction:column;gap:24px;max-width:1100px;margin:0 auto;display:flex}.container.narrow{max-width:720px}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--card-shadow);border:1px solid #00000008;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.5s ease-out slideInUp}.card:hover{transform:translateY(-2px);box-shadow:0 20px 60px #00000014}.card.centered{text-align:center}.header{margin-bottom:24px}.header.centered{text-align:center}.headline{font-family:var(--font-bn);color:var(--text-main);letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-main), #334155);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-size:clamp(32px,5vw,48px);font-weight:800;line-height:1.2}.title{font-family:var(--font-bn);color:var(--text-main);margin:0 0 8px;font-size:clamp(24px,3.5vw,32px);font-weight:700}.subtitle{font-family:var(--font-bn);color:var(--text-muted);margin:0;font-size:16px;font-weight:400}.subtitle-large{font-family:var(--font-bn);color:#6b7a86;margin:0;font-size:18px;font-weight:500}.section-title{color:#1d2b36;margin-bottom:16px;font-size:18px;font-weight:600}.section-title-center{text-align:center}.steps{flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0 32px;display:flex}.stepper{scrollbar-width:thin;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 32px;padding-bottom:4px;display:flex;overflow-x:auto}.stepper .step{white-space:nowrap;flex:1 0 auto}.step{background:var(--bg-main);border:1px solid var(--border);color:var(--text-muted);font-size:14px;font-weight:600;font-family:var(--font-bn);border-radius:99px;align-items:center;gap:8px;padding:10px 20px;transition:all .3s;display:flex}.step-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary);box-shadow:0 4px 12px #1f8f4f1a}.step-dot{border:1px solid var(--border);width:24px;height:24px;font-size:12px;font-family:var(--font-en);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.step-active .step-dot{background:var(--primary);color:#fff;border-color:var(--primary)}.step-done{color:#3b57c2;background:#eef2ff}.step-done .step-dot{color:#fff;background:#3b57c2;border-color:#3b57c2}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.field{color:var(--text-main);font-size:15px;font-weight:600;font-family:var(--font-bn);flex-direction:column;gap:10px;display:flex}.field-step{border:2px solid var(--border);background:#fff;border-radius:16px;padding:20px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.field-label{align-items:center;gap:10px;margin-bottom:8px;display:flex}.step-number{color:#64748b;width:32px;height:32px;font-size:16px;font-weight:700;font-family:var(--font-bn);background:#e8ecf0;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:inline-flex}.field-active{border-color:var(--primary);background:linear-gradient(135deg,#f0fdf4,#fff);transform:scale(1.02);box-shadow:0 8px 24px #1f8f4f26,0 0 0 4px #1f8f4f1a}.field-active .step-number{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;animation:2s ease-in-out infinite pulse;box-shadow:0 4px 12px #1f8f4f4d}.field-completed{background:#f0fdf4;border-color:#10b981}.field-completed .step-number{color:#fff;background:#10b981}.field-completed .step-number:after{content:"✓";font-size:14px;position:absolute}.field-disabled{opacity:.5;pointer-events:none}.field-disabled .step-number{color:#94a3b8;background:#e8ecf0}.field select{font-family:var(--font-bn);border:2px solid var(--border);color:var(--text-main);cursor:pointer;background:#fff;border-radius:12px;padding:14px;font-size:16px;transition:all .3s}.field select:hover:not(:disabled){border-color:var(--primary);box-shadow:0 4px 12px #1f8f4f0d}.field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #1f8f4f1a}.field select:disabled{color:var(--text-muted);cursor:not-allowed;background:#f1f5f9}.preview{background:linear-gradient(135deg,#f5f8fb,#f0f6fb);border:1px solid #1f8f4f1a;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:16px;transition:all .3s;animation:.5s ease-out slideInUp;display:flex;box-shadow:0 4px 15px #1f8f4f0d}.preview:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1f8f4f1a}.preview-title{color:#7a8b96;font-size:13px}.preview-name{color:#1d2b36;word-break:break-word;font-size:20px;font-weight:600}.referendum-container{max-width:800px;margin:0 auto;padding:16px}.referendum-card{text-align:center;border-top:5px solid #009c4d;padding:24px}.referendum-header{border-bottom:1px solid #eee;margin-bottom:18px;padding-bottom:12px}.referendum-title{color:#e60000;margin-bottom:8px;font-size:2rem}.referendum-subtitle{color:#666;font-size:1.1rem}.referendum-content-box{text-align:left;background:#f8f9fa;border-radius:8px;padding:16px}.referendum-question{color:#2c3e50;margin-bottom:14px;font-size:1.1rem;font-weight:700;line-height:1.6}.referendum-points{margin-bottom:18px}.referendum-point{color:#444;margin-bottom:10px;font-size:1rem;line-height:1.5}.referendum-actions{justify-content:center;gap:24px;margin:24px 0;display:flex}.referendum-option{flex-direction:column;align-items:center;gap:12px;display:flex}.referendum-box{text-align:center;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:120px;padding:10px 40px}.referendum-label-text{color:#000;font-size:1.2rem;font-weight:700}.btn-referendum{cursor:pointer;color:#fff;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:120px;padding:10px 40px;font-size:1.2rem;transition:transform .2s,box-shadow .2s;animation:1.8s ease-in-out infinite referendum-pulse;display:flex;position:relative;box-shadow:0 4px 6px #0000001a}.btn-referendum:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.btn-yes{background-color:#27ae60}.btn-no{background-color:#e67e22}.btn-referendum:after{content:"";opacity:0;pointer-events:none;border:2px solid #fff9;border-radius:6px;animation:1.8s ease-out infinite referendum-ring;position:absolute;inset:-6px}.btn-yes:after{border-color:#27ae60b3}.btn-no:after{border-color:#e67e22b3}@keyframes referendum-pulse{0%{transform:scale(1);box-shadow:0 4px 6px #0000001a}50%{transform:scale(1.04);box-shadow:0 10px 18px #0000002e}to{transform:scale(1);box-shadow:0 4px 6px #0000001a}}@keyframes referendum-ring{0%{opacity:.6;transform:scale(.98)}70%{opacity:0;transform:scale(1.08)}to{opacity:0;transform:scale(1.08)}}.referendum-instruction,.referendum-note{text-align:center;color:#7f8c8d;margin-top:15px;font-size:.9rem;font-style:italic}.referendum-results-card{margin-bottom:18px;padding:16px}.referendum-results-card .header{margin-bottom:12px}.referendum-results-card .section-title{margin-bottom:6px;font-size:16px}.referendum-results-card .subtitle{font-size:14px}.referendum-results-card+.seats-card{margin-top:-16px}.referendum-bar-container{margin-top:12px;padding:0 12px}.referendum-bar-labels{justify-content:space-between;margin-bottom:6px;font-size:1rem;font-weight:700;display:flex}.label-yes{color:#2e1ab5}.label-no{color:#f60}.referendum-progress-bar{background:#eee;height:16px;display:flex;overflow:hidden}.referendum-progress-fill{color:#fff;justify-content:center;align-items:center;height:100%;font-size:.8rem;transition:width 1s ease-out;display:flex}.fill-yes{background-color:#2e1ab5}.fill-no{background-color:#f60}.referendum-bar-values{justify-content:space-between;margin-top:6px;font-size:1.1rem;font-weight:700;display:flex}.value-yes,.value-no{color:#000}.preview-meta{color:#6b7a86;font-size:13px}.preview-votes{color:#1f7a45;font-size:14px;font-weight:600}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.select-card{text-align:left;color:#fff;background:linear-gradient(135deg,#1f8f4f,#e5493d);border:none;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:140px;padding:18px;transition:transform .2s,box-shadow .2s;display:flex}.select-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1f314738}.card-title{margin:0 0 6px;font-size:22px}.card-meta{opacity:.9;margin:0;font-size:13px}.badge{background:#fff3;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:12px}.question{margin-bottom:16px}.question-text{color:#1d2b36;margin-bottom:12px;font-size:18px}.stack{flex-direction:column;gap:10px;display:flex}.option{text-align:left;cursor:pointer;background:#fff;border:2px solid #d5dde2;border-radius:12px;padding:12px 16px;font-size:15px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.4s ease-out fadeIn}.option:hover{background:#f9fffe;border-color:#1f8f4f;transform:translateY(-2px);box-shadow:0 6px 20px #1f8f4f26}.option-selected{background:linear-gradient(135deg,#e9f6ee,#d4efe5);border-color:#1f8f4f;animation:2s ease-in-out infinite pulse;box-shadow:0 8px 25px #1f8f4f40,0 0 0 3px #1f8f4f1a}.option-wide{justify-content:space-between;align-items:center;gap:12px;display:flex}.text-input{border:1px solid #d6dee4;border-radius:12px;padding:12px 14px;font-size:15px}.icon-check{color:#1f8f4f;width:20px;height:20px}.icon-warning{color:#e0a300;width:52px;height:52px;margin-bottom:12px}.success-icon{background:linear-gradient(135deg,#e9f6ee,#d4efe5);border:2px solid #1f8f4f33;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;animation:.5s ease-out slideInDown;display:flex;box-shadow:0 8px 20px #1f8f4f33}.actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.btn{cursor:pointer;touch-action:manipulation;border:none;border-radius:12px;padding:12px 18px;font-size:15px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn:before{content:"";z-index:0;background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:active:before{width:300px;height:300px}.btn-pulse-green{animation:2s ease-in-out infinite btnPulseGreen;position:relative}.btn-menu-effect{border:2px solid #1f8f4f;animation:2s ease-in-out infinite menuBorderPulse;box-shadow:0 0 #1f8f4f66}.btn-text-pulse{animation:1.8s ease-in-out infinite textPulseGreen;display:inline-block}@keyframes btnPulseGreen{0%{transform:translateY(0);box-shadow:0 0 #1f8f4f59}70%{transform:translateY(-1px);box-shadow:0 0 0 12px #1f8f4f00}to{transform:translateY(0);box-shadow:0 0 #1f8f4f00}}@keyframes menuBorderPulse{0%{border-color:#1f8f4f;box-shadow:0 0 #1f8f4f73}50%{border-color:#1f8f4f;box-shadow:0 0 0 10px #1f8f4f00}to{border-color:#1f8f4f;box-shadow:0 0 #1f8f4f00}}@keyframes textPulseGreen{0%,to{color:#1f8f4f;transform:scale(1)}50%{color:#167a3a;transform:scale(1.04)}}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none!important}.btn-primary{color:#fff;z-index:1;background:linear-gradient(135deg,#1f8f4f,#1f7a45);position:relative;box-shadow:0 10px 30px #1f8f4f40}.btn-primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 40px #1f8f4f59}.btn-primary:active:not(:disabled){transform:translateY(-1px)}.btn-secondary{color:#2e3a43;background:#e8edf1;border:1px solid #d6dee4;transition:all .3s}.btn-secondary:hover:not(:disabled){background:#d9e1e8;border-color:#bec8d1;transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.btn-secondary:active:not(:disabled){transform:translateY(-1px)}.btn-large{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1f8f4f,#1f7a45);border:none;border-radius:12px;width:100%;max-width:300px;margin:0 auto;padding:16px 32px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px #1f8f4f40}.btn-large:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 15px 40px #1f8f4f59}.btn-large:active:not(:disabled){transform:translateY(-1px)}.alert{color:#a12c2c;background:linear-gradient(135deg,#fff4f4,#ffe8e8);border:2px solid #f3b6b6;border-radius:10px;padding:12px 14px;font-size:14px;animation:.3s ease-out slideInUp;box-shadow:0 4px 12px #ff64641a}.alert.alert-success{color:#166534;background:linear-gradient(135deg,#ecfbf2,#d9f6e6);border-color:#9fe1c2;box-shadow:0 4px 12px #22c55e26}.result-block{border-top:1px solid #edf1f4;margin-top:14px;padding-top:14px}.result-block:first-of-type{border-top:none;margin-top:0;padding-top:0}.result-title{color:#1d2b36;margin:0 0 8px;font-size:16px}.result-row{margin-bottom:10px}.result-label{color:#2b3a43;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;font-size:14px;display:flex}.result-value{color:#1d2b36;text-align:right;font-weight:600}.result-count{color:#7a8b96;margin-left:6px;font-weight:500}.bar{background:#e9eef2;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.bar-fill{background:linear-gradient(90deg,#1f8f4f,#3fc26b,#1f8f4f) 0 0/200% 100%;border-radius:999px;height:100%;animation:3s infinite shimmer}.muted{color:#7a8b96;font-size:13px}.result-summary{background:linear-gradient(135deg,#f7fafc,#f2f8fc);border:1px solid #1f8f4f1a;border-radius:14px;margin-bottom:16px;padding:16px;animation:.5s ease-out slideInUp;box-shadow:0 4px 12px #1f8f4f0d}.filter{margin:20px 0}@media (max-width:720px){.card{padding:18px}.actions{flex-direction:column}.btn{width:100%}.preview{flex-direction:column;align-items:flex-start}.btn{min-height:44px}.btn-small{min-height:36px}}@media (max-width:480px){.page{padding:84px 12px 36px}.headline{font-size:clamp(28px,7vw,36px)}.title{font-size:clamp(20px,5vw,26px)}.stat-number{font-size:30px}.preview-name{font-size:18px}}.homepage-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#1f8f4f,#167a3a);border:none;flex-direction:column;justify-content:center;align-items:center;min-height:88px;padding:14px 24px 6px;display:flex}.homepage-hero .header{text-align:center;width:100%}.homepage-hero .headline{color:#fff;-webkit-text-fill-color:#fff;background:0 0;margin-bottom:6px;animation:.6s ease-out slideInDown}.homepage-hero .subtitle-large{color:#ffffffe6}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{text-align:center;background:#fff;border:2px solid #1f8f4f0d;border-radius:16px;padding:24px 16px;transition:all .3s;animation:.5s ease-out slideInUp;box-shadow:0 4px 15px #1f8f4f1a}.stat-card:hover{border-color:#1f8f4f1a;transform:translateY(-4px);box-shadow:0 8px 25px #1f8f4f26}.stat-number{color:#1f8f4f;margin-bottom:8px;font-size:36px;font-weight:700;line-height:1}.stat-label{color:#6b7a86;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.results-card{animation:.5s ease-out slideInUp}.results-list{flex-direction:column;gap:12px;display:flex}.result-card{background:linear-gradient(#fff 0%,#fbfdfc 100%);border:1px solid #1f8f4f14;box-shadow:0 12px 30px #1f8f4f14}.result-row{background:linear-gradient(135deg,#f9fbfd,#f5f8fc);border:1px solid #1f8f4f14;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.result-row:hover{border-color:#1f8f4f2e;transform:translateY(-2px);box-shadow:0 10px 22px #1f8f4f1f}.result-row.winner{background:linear-gradient(135deg,#e9f6ee,#d4efe5);border-color:#1f8f4f59;box-shadow:0 12px 24px #1f8f4f33}.result-info{flex-direction:column;flex:1;gap:10px;display:flex}.result-name{color:#1d2b36;word-break:break-word;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.badge{color:#1f7a45;background:#1f8f4f1f;border:1px solid #1f8f4f33;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.progress-bar-bg{background:#e9eef2;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.progress-bar-fill{background:linear-gradient(90deg,#1f8f4f,#3fc26b,#1f8f4f) 0 0/200% 100%;border-radius:999px;height:100%;animation:3s infinite shimmer}.result-row.winner .progress-bar-fill{background:linear-gradient(90deg,#1f7a45,#55d28a,#1f7a45)}.result-meta{flex-direction:column;align-items:flex-end;gap:6px;min-width:90px;display:flex}.vote-count{color:#1f7a45;font-size:14px;font-weight:700}.percentage{color:#2b3a43;background:#fff;border:1px solid #1f8f4f26;border-radius:999px;padding:4px 8px;font-size:13px;font-weight:700}.result-item{background:linear-gradient(135deg,#f9fbfd,#f5f8fc);border:1px solid #1f8f4f14;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .3s;animation:.4s ease-out fadeIn;display:flex}.result-item:hover{background:linear-gradient(135deg,#f5f8fc,#f0f5fb);border-color:#1f8f4f26;transform:translate(4px);box-shadow:0 4px 12px #1f8f4f1a}.result-rank{color:#fff;background:linear-gradient(135deg,#1f8f4f,#1f7a45);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.result-info{flex:1}.result-constituency{color:#1d2b36;word-break:break-word;margin-bottom:4px;font-size:15px;font-weight:700}.result-winner{color:#6b7a86;font-size:13px}.result-winner strong{color:#1f8f4f;font-weight:600}.result-votes{color:#1f7a45;text-align:center;background:linear-gradient(135deg,#e9f6ee,#d4efe5);border-radius:8px;min-width:60px;padding:8px 12px;font-size:14px;font-weight:700}@media (max-width:720px){.referendum-actions{flex-direction:column;align-items:stretch;gap:14px}.referendum-option{width:100%}.btn-referendum,.referendum-box{width:100%;min-width:0;padding:12px 16px}.result-row{flex-wrap:wrap;align-items:flex-start}.result-meta{align-items:flex-start;min-width:0}.result-item{flex-wrap:wrap}.result-votes{min-width:0}}.cta-card{color:#fff;text-align:center;background:linear-gradient(135deg,#1f8f4f,#167a3a);padding:40px 32px;animation:.5s ease-out slideInUp}.cta-content{max-width:500px;margin:0 auto}.cta-title{color:#fff;margin:0 0 12px;font-size:28px;font-weight:700}.cta-subtitle{color:#ffffffe6;margin:0 0 24px;font-size:16px;line-height:1.5}.cta-card .btn-large{color:#1f8f4f;background:#fff;box-shadow:0 10px 30px #0003}.cta-card .btn-large:hover{color:#0f6a36;background:#dff5ea;box-shadow:0 15px 40px #00000040}.info-card{padding:20px 24px}.info-card-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.info-title{color:#1d2b36;margin:0 0 4px;font-size:20px}.info-subtitle{color:#6b7a86;margin:0;font-size:14px}.seats-card{padding:28px 24px 20px}.seats-chart{flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.seats-svg{width:min(100%,680px);height:auto;display:block}.seats-overlay{pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.seat-dot{fill:#fff;stroke:#d9e2ea;stroke-width:.9px;transition:stroke .2s,fill .2s}.seat-dot-winner{stroke:#0f281a2e}.seat-dot:hover{stroke:#1f8f4f;fill:#f9fffe}.seat-dot-ring{fill:none;stroke:url(#seatGlow);stroke-width:1.6px;opacity:.9;filter:url(#seatGlowShadow);animation:1.6s ease-in-out infinite seatRingPulse}.seat-count{color:#1d2b36;letter-spacing:.6px;font-size:20px;font-weight:700}.seat-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:8px 4px 2px;display:flex}.seat-legend-item{color:#2f3f49;background:#f9fbfd;border:1px solid #e2e8ef;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.seat-legend-swatch{border:1px solid #00000014;border-radius:50%;width:12px;height:12px;box-shadow:0 2px 6px #00000014}.seat-legend-label{font-weight:600}.party-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.party-group-card{background:#fff;border:1px solid #e0e6eb;border-radius:14px;padding:16px;box-shadow:0 6px 20px #182a3e14}.party-group-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.party-group-title{color:#1d2b36;font-size:16px;font-weight:700}.party-group-count{color:#6b7a86;font-size:12px}.party-list{flex-direction:column;gap:8px;display:flex}.party-item{background:#f7fafc;border:1px solid #e2e8ef;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.party-name{color:#1d2b36;font-weight:600}.party-symbol{color:#4b5b65;background:#fff;border:1px solid #d7e0e7;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.seat-tooltip{z-index:20;pointer-events:none;background:#fff;border:1px solid #0000;border-radius:10px;min-width:160px;padding:8px 10px;animation:2.2s ease-in-out infinite tooltipGlow;position:absolute;box-shadow:0 12px 24px #182a3e1f}.seat-tooltip-corner{top:12px;right:12px}.seat-tooltip:before{content:"";z-index:-1;opacity:.7;filter:blur(.4px);background:linear-gradient(135deg,#0b6b3a,#1f8f4f,#e43d30);border-radius:12px;position:absolute;inset:-2px}.seat-tooltip:after{content:"";z-index:-1;background:#fff;border-radius:9px;position:absolute;inset:1px}.seat-tooltip-title{color:#1d2b36;margin-bottom:4px;font-size:12px;font-weight:700}.seat-tooltip-row{color:#2f3f49;margin-bottom:2px;font-size:11px}.seat-tooltip-meta{color:#6b7a86;margin-top:4px;font-size:10px}.parties-page{background-color:#f8f9fa;max-width:1200px;min-height:100vh;margin:0 auto;padding:30px;font-family:Hind Siliguri,sans-serif}.page-title{color:#333;border-bottom:2px solid #ddd;margin-bottom:25px;padding-bottom:10px;font-size:28px;font-weight:700}.coalitions-container{flex-direction:column;gap:30px;display:flex}.coalition-section{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #0000000d}.coalition-header{background-color:#f9f9f9;border-bottom:1px solid #ebebeb;border-left:6px solid #ccc;padding:12px 20px}.coalition-label{color:#333;font-size:18px;font-weight:600}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.parties-table{border-collapse:collapse;width:100%;min-width:800px}.parties-table th,.parties-table td{text-align:center;vertical-align:middle;word-break:break-word;border:1px solid #e0e0e0;padding:10px 15px}.parties-table th{color:#495057;background-color:#f1f3f5;font-size:14px;font-weight:600}.party-name-cell{color:#212529;font-weight:500;text-align:left!important}.party-name-wrapper{align-items:center;gap:8px;display:flex}.party-strip{border-radius:2px;width:4px;height:20px}.party-img{object-fit:contain;max-width:50px;max-height:50px;margin:0 auto;display:block}.party-img.flag{border:1px solid #eee}.text-symbol{color:#666;font-size:14px;font-style:italic}.leader{color:#0087dc;cursor:pointer}.seats-center{color:#333;font-weight:700}@media (max-width:768px){.parties-page{padding:15px}.party-img{max-width:40px}.parties-table th,.parties-table td{padding:8px;font-size:13px}}.navbar{-webkit-backdrop-filter:blur(8px);z-index:1000;width:100%;box-shadow:none;background:#ffffff80;border-bottom:none;align-items:center;height:64px;display:flex;position:fixed;top:0;left:0}.navbar-container{justify-content:space-between;align-items:center;width:100%;max-width:1100px;margin:0 auto;padding:0 20px;display:flex}.navbar-logo{cursor:pointer;color:#1f8f4f;align-items:center;gap:10px;font-size:20px;font-weight:700;transition:opacity .2s;display:flex}.navbar-logo:hover{opacity:.8}.logo-icon{font-size:24px}.navbar-menu-desktop{gap:20px;display:flex}.nav-link{color:#5c6b73;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:15px;font-weight:600;transition:all .2s}.nav-link:hover{color:#1f8f4f;background:#1f8f4f0d}.nav-link.active{color:#1f8f4f;background:#1f8f4f1a}.nav-link:first-child{border:2px solid #1f8f4f;animation:2s ease-in-out infinite borderPulse}.nav-link:nth-child(2),.nav-link:nth-child(3),.nav-link:nth-child(4),.nav-link:nth-child(5){border-bottom:2px solid #1f8f4f}@keyframes borderPulse{0%{border-top-color:#1f8f4f;border-left-color:#1f8f4f;border-right-color:#1f8f4f}50%{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000}to{border-top-color:#1f8f4f;border-left-color:#1f8f4f;border-right-color:#1f8f4f}}.navbar-menu-mobile-toggle{cursor:pointer;color:#1d2b36;touch-action:manipulation;display:none}.navbar-mobile-overlay{background:#fff;border-bottom:1px solid #eee;width:100%;padding:10px 0;animation:.3s ease-out slideDown;position:absolute;top:64px;left:0;box-shadow:0 10px 20px #0000000d}.navbar-mobile-menu{flex-direction:column;display:flex}.mobile-nav-link{text-align:left;color:#333;touch-action:manipulation;background:0 0;border:none;border-bottom:1px solid #f5f5f5;min-height:44px;padding:12px 24px;font-size:16px}.mobile-nav-link:first-child{border-bottom:2px solid #1f8f4f;border-left:4px solid #1f8f4f;animation:2s ease-in-out infinite leftBorderPulse}.mobile-nav-link:nth-child(2),.mobile-nav-link:nth-child(3),.mobile-nav-link:nth-child(4){border-bottom:2px solid #1f8f4f;border-left:4px solid #1f8f4f}.mobile-nav-link:last-child{border-bottom:2px solid #1f8f4f}.mobile-nav-link.active{color:#1f8f4f;background:#f9fdfa;font-weight:600}@keyframes leftBorderPulse{0%{border-left-color:#1f8f4f}50%{border-left-color:#0000}to{border-left-color:#1f8f4f}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.navbar-menu-desktop{display:none}.navbar-menu-mobile-toggle{display:block}}@media (max-width:480px){.navbar-container{padding:0 14px}.navbar-logo{gap:8px;font-size:18px}.logo-icon{font-size:20px}}.constituencies-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px;display:grid}@media (max-width:600px){.constituencies-grid{grid-template-columns:repeat(2,1fr)}.constituency-box{padding:12px}.constituency-box-name{min-height:26px;font-size:11px}}.constituency-box{text-align:center;cursor:pointer;background:#fff;border:2px solid #e0e6eb;border-radius:12px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.3s ease-out fadeIn;position:relative;overflow:hidden}.constituency-box:before{content:"";background:#e0e6eb;height:3px;transition:all .3s;position:absolute;top:0;left:0;right:0}.constituency-box:hover{border-color:#1f8f4f;transform:translateY(-3px);box-shadow:0 6px 16px #1f8f4f26}.constituency-box:hover:before{background:linear-gradient(135deg,#1f8f4f,#1f7a45);height:4px}.constituency-box.has-winner{background:linear-gradient(135deg,#f9fbfd,#f5f8fc);border-color:#1f8f4f}.constituency-box.has-winner:before{background:linear-gradient(135deg,#1f8f4f,#1f7a45);height:4px}.constituency-box-name{color:#1d2b36;word-break:break-word;justify-content:center;align-items:center;min-height:30px;margin-bottom:10px;font-size:12px;font-weight:700;line-height:1.3;display:flex}.constituency-box-winner{flex-direction:column;gap:4px;display:flex}.winner-label{color:#1f8f4f;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.winner-name{color:#1d2b36;word-break:break-word;font-size:11px;font-weight:700;line-height:1.2}.winner-votes{color:#6b7a86;font-size:10px;font-weight:600}.constituency-box-empty{color:#8d99a5;background:#f1f4f6;border-radius:6px;padding:8px 4px;font-size:11px;font-weight:500}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e0e6eb;border-radius:12px;overflow-x:auto;box-shadow:0 2px 8px #0000000a}.candidate-table{border-collapse:separate;border-spacing:0;background:#fff;border-radius:12px;width:100%;min-width:760px;overflow:hidden}.candidate-table th,.candidate-table td{text-align:center;word-break:break-word;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px;transition:all .2s}.candidate-table th{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);background:linear-gradient(135deg,#f8fafb,#f3f6f9);font-size:12px;font-weight:700}.candidate-table td{color:#2b3a43;background:#fff}.candidate-table tbody tr{transition:all .3s}.candidate-table tbody tr:hover{background:linear-gradient(135deg,#f9fbfd,#f6f9fc);box-shadow:inset 0 0 0 1px #1f8f4f14}.candidate-photo{object-fit:cover;border:2px solid #e8ecf0;border-radius:12px;width:56px;height:56px;transition:all .3s;box-shadow:0 4px 12px #00000014}.candidate-table tbody tr:hover .candidate-photo{border-color:var(--primary);transform:scale(1.08);box-shadow:0 6px 16px #1f8f4f33}.btn-small{border-radius:10px;padding:8px 10px;font-size:13px}.btn-vote{color:#fff;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#1f8f4f,#1f7a45);border:none;border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #1f8f4f33}.btn-vote:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #1f8f4f4d}.btn-vote:active:not(:disabled){transform:translateY(-1px)}.btn-vote-selected{background:linear-gradient(135deg,#1f8f4f,#167a3a);animation:2s ease-in-out infinite vote-pulse;box-shadow:0 8px 20px #1f8f4f59}.btn-vote-cast{color:#fff;background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 20px #05966966;border:2px solid #10b981!important;animation:none!important}.btn-vote-cast:disabled{cursor:not-allowed;opacity:1;background:linear-gradient(135deg,#059669,#047857)}.btn-vote-disabled{color:#999;cursor:not-allowed;background:#fff;font-weight:500;box-shadow:0 2px 4px #0000000d;border:1px solid #ddd!important}.btn-vote-disabled:hover{transform:none;box-shadow:0 2px 4px #0000000d}@keyframes vote-pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-download{color:var(--primary);border:none;border-bottom:2px solid var(--primary);box-shadow:none;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-download:hover{color:var(--primary-dark);border-bottom-color:var(--primary-dark);background:#1f8f4f26;font-weight:700;transform:translateY(-2px);box-shadow:0 4px 12px #1f8f4f33}.btn-download:active{transform:translateY(-1px)}.guide-page{padding:90px 16px 48px}.guide-header{text-align:center;margin-bottom:24px}.guide-title{margin:0 0 8px;font-size:clamp(28px,4vw,40px);font-weight:800}.guide-subtitle{color:#6b7a86;margin:0}.guide-section{background:#fff;border:1px solid #1f8f4f14;border-radius:16px;padding:22px;box-shadow:0 8px 24px #182a3e14}.guide-section+.guide-section{margin-top:20px}.guide-section-title{margin-bottom:12px;font-size:18px;font-weight:700}.guide-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.step-card{background:linear-gradient(135deg,#f7fafc,#f0f6fb);border:1px solid #1f8f4f1f;border-radius:14px;padding:16px}.step-title{margin-bottom:6px;font-weight:700}.list{color:#2b3a43;margin:0;padding-left:18px}.myth-fact{background:#f9fffb;border-left:4px solid #1f8f4f;border-radius:10px;padding:12px 14px}.myth-fact strong{color:#0f6a36}.fact{color:#1d2b36}.tip-card{background:#f9fbff;border:1px solid #2d9cdb33;border-radius:12px;padding:14px}.cta-note{color:#fff;text-align:center;background:linear-gradient(135deg,#1f8f4f,#167a3a);border-radius:14px;padding:18px;font-weight:600}@media (max-width:720px){.guide-page{padding:84px 12px 36px}}
