*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.district-inactive,.district-inactive:hover{cursor:pointer!important}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#cbd5e14d,#e2e8f080 50%,#cbd5e14d)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}svg,svg *{-webkit-tap-highlight-color:transparent;outline:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}svg :focus,svg:focus{box-shadow:none!important;outline:none!important}.recharts-bar-rectangle,.recharts-dot,.recharts-layer,.recharts-line,.recharts-pie-sector,.recharts-surface,.recharts-wrapper{-webkit-tap-highlight-color:transparent!important;outline:none!important}.recharts-bar rect,.recharts-bar-rectangle,.recharts-rectangle{fill-opacity:.85!important;cursor:pointer!important;pointer-events:all!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.recharts-bar rect:hover,.recharts-bar-rectangle:hover,.recharts-rectangle:hover{fill-opacity:1!important;filter:drop-shadow(0 4px 12px rgba(255,255,255,.3)) brightness(1.15)!important;transform:scaleY(1.02)!important;transform-origin:bottom!important}.recharts-bar[layout=vertical] rect:hover{transform:scaleX(1.02)!important;transform-origin:left!important}.recharts-bar .recharts-active-bar,.recharts-bar .recharts-active-shape,.recharts-bar .recharts-bar-background,.recharts-bar .recharts-bar-background-rectangle{display:none!important;opacity:0!important;visibility:hidden!important}.recharts-bar-layer rect[fill="#fff"],.recharts-bar-layer rect[fill="#ffffff"],.recharts-bar-layer rect[fill=white]{opacity:0!important}.recharts-bar-rectangle,.recharts-rectangle{z-index:100!important}.recharts-tooltip-wrapper{pointer-events:none!important}.recharts-default-tooltip,.recharts-tooltip-wrapper{position:relative!important;z-index:99999!important}.recharts-pie-sector{cursor:pointer!important;pointer-events:all!important;transition:all .3s ease!important}.recharts-pie-sector:hover{stroke:#fffc!important;stroke-width:2px!important;filter:brightness(1.2) drop-shadow(0 4px 12px rgba(255,255,255,.5))!important;opacity:1!important;transform:scale(1.03)!important;transform-origin:center!important}.recharts-pie{pointer-events:all!important}.recharts-pie .recharts-pie-sector{opacity:.9!important;pointer-events:all!important}.recharts-active-shape,.recharts-pie .recharts-sector.recharts-active-shape{filter:brightness(1.2) drop-shadow(0 4px 12px rgba(255,255,255,.5))!important;opacity:1!important}.recharts-wrapper{position:relative!important}.recharts-wrapper .recharts-tooltip-wrapper{position:absolute!important;z-index:99999!important}@keyframes bar-glow{0%,to{filter:drop-shadow(0 4px 12px rgba(255,255,255,.3))}50%{filter:drop-shadow(0 6px 16px rgba(255,255,255,.4))}}input[type=range].slider-thumb{-webkit-appearance:none;appearance:none;border-radius:6px;height:12px;outline:none;transition:all .3s ease}input[type=range].slider-thumb::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003,0 0 0 2px #3b82f680;cursor:pointer;height:24px;-webkit-transition:all .2s ease;transition:all .2s ease;width:24px}input[type=range].slider-thumb::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #0000004d,0 0 0 3px #3b82f6b3;transform:scale(1.1)}input[type=range].slider-thumb::-webkit-slider-thumb:active{box-shadow:0 2px 6px #0000004d,0 0 0 4px #3b82f6cc;transform:scale(1.05)}input[type=range].slider-thumb::-moz-range-thumb{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0003,0 0 0 2px #3b82f680;cursor:pointer;height:24px;-moz-transition:all .2s ease;transition:all .2s ease;width:24px}input[type=range].slider-thumb::-moz-range-thumb:hover{box-shadow:0 4px 12px #0000004d,0 0 0 3px #3b82f6b3;transform:scale(1.1)}input[type=range].slider-thumb::-moz-range-thumb:active{box-shadow:0 2px 6px #0000004d,0 0 0 4px #3b82f6cc;transform:scale(1.05)}input[type=range].slider-thumb::-moz-range-track{border-radius:6px;height:12px}input[type=range].slider-thumb:focus{outline:none}input[type=range].slider-thumb:focus::-webkit-slider-thumb{box-shadow:0 4px 12px #0000004d,0 0 0 3px #3b82f6cc}input[type=range].slider-thumb:focus::-moz-range-thumb{box-shadow:0 4px 12px #0000004d,0 0 0 3px #3b82f6cc}@media (max-width:768px){footer{min-height:60px;position:relative}body{margin-bottom:0;padding-bottom:0}.h-screen{min-height:100vh!important;min-height:-webkit-fill-available!important}html{height:-webkit-fill-available}}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-in{animation-fill-mode:both}.fade-in{animation-name:fade-in}.slide-in-from-bottom-2{animation-name:slide-in-from-bottom}.duration-300{animation-duration:.3s}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.modern-glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #fff3;box-shadow:0 8px 32px 0 #0000001a}.glass-card{@apply modern-glass rounded-2xl p-6 transition-all duration-300}.glass-card:hover{box-shadow:0 12px 40px 0 #00000026;transform:translateY(-4px)}.overview-dashboard{@apply p-6 space-y-6;animation:fadeInUp .6s ease-out}@keyframes shimmerGradient{0%{background-position:-200%}to{background-position:200%}}.shimmer-animation{animation:shimmerGradient 2.5s ease-in-out infinite;background-size:200% 100%}@keyframes gentleGlow{0%,to{text-shadow:0 0 20px #fcd34d66,0 0 40px #fcd34d33,0 2px 4px #0000004d}50%{text-shadow:0 0 30px #fcd34d99,0 0 60px #fcd34d4d,0 0 80px #fcd34d1a,0 2px 4px #0000004d}}@keyframes floatSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.tagline-container{animation:fadeInUp 1.2s ease-out}.tagline-text{animation:floatSoft 4s ease-in-out infinite;display:inline-block}.tagline-highlight{-webkit-text-fill-color:#0000;animation:shimmerGradient 3s linear infinite,gentleGlow 2s ease-in-out infinite;background:linear-gradient(90deg,#fbbf24,#fde047 25%,#fef08a 50%,#fde047 75%,#fbbf24);-webkit-background-clip:text;background-clip:text;background-size:200% auto;display:inline-block;font-weight:700}.stats-grid{@apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4}.stat-card{@apply relative overflow-hidden rounded-2xl p-6 cursor-pointer;background-clip:padding-box;box-shadow:0 4px 20px #00000026;min-height:140px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card-bg{@apply absolute inset-0;opacity:1!important;transition:opacity .3s ease}.stat-card:hover{box-shadow:0 8px 30px #0003;transform:translateY(-2px)}.stat-card:hover .stat-card-bg{opacity:1!important}.stat-card-content{@apply relative z-10 flex items-start gap-4}.stat-icon{@apply text-4xl;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-details{@apply flex-1}.stat-label{@apply text-white text-xs font-medium uppercase tracking-wider mb-1;opacity:.9}.stat-value{@apply text-white text-3xl font-bold mb-1;text-shadow:0 2px 4px #0000001a}.stat-subtext{@apply text-white text-xs;opacity:.8}.stat-card-shimmer{@apply absolute inset-0 opacity-0;background:linear-gradient(90deg,#0000,#fff3,#0000);transition:opacity .3s ease}.stat-card:hover .stat-card-shimmer{animation:shimmer 1.5s infinite;opacity:1}.insights-panel{background-color:#fff!important;@apply rounded-2xl p-6 shadow-lg;border:1px solid #0000001a;opacity:1!important}.insights-title{@apply text-lg font-bold text-gray-800 mb-4 flex items-center gap-2}.insights-title span{@apply text-2xl;animation:pulse 2s ease-in-out infinite}.insight-card,.insights-list{@apply flex items-start gap-3 p-4 rounded-xl border-2 transition-all duration-300}.insight-card:hover{box-shadow:0 4px 12px #00000014;transform:translateX(4px)}.insight-content,.insight-description,.insight-icon,.insight-title{@apply text-xs opacity-80}.modern-popup .leaflet-popup-content-wrapper{@apply rounded-2xl p-0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #ffffff80;box-shadow:0 20px 60px #0000004d}.modern-popup.popup-candidate-list .leaflet-popup-content-wrapper{display:flex;flex-direction:column;max-height:420px}.modern-popup.popup-candidate-list .leaflet-popup-content{display:flex;flex-direction:column;margin:0;max-height:420px;overflow:visible}.popup-content-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.candidate-list-scrollable{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:.75rem 1rem;scrollbar-color:#9ca3af66 #f3f4f680;scrollbar-width:thin}.candidate-list-scrollable::-webkit-scrollbar{width:6px}.candidate-list-scrollable::-webkit-scrollbar-track{background:#f3f4f680;border-radius:10px;margin:4px 0}.candidate-list-scrollable::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:10px;-webkit-transition:background .2s ease;transition:background .2s ease}.candidate-list-scrollable::-webkit-scrollbar-thumb:hover{background:#6b7280b3}.popup-click-hint-sticky{animation:pulseGlow 2s ease-in-out infinite,slideUpFade .6s ease-out both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(0deg,#3b82f61a 0,#3b82f60d);border-top:2px solid #3b82f633;bottom:0;box-shadow:0 -4px 12px #3b82f614;color:#1e40af;cursor:pointer;font-size:.875rem;font-weight:700;left:0;padding:.875rem 1.25rem;position:-webkit-sticky;position:sticky;right:0;text-align:center;transition:all .3s ease;z-index:10}.popup-click-hint-sticky:hover{background:linear-gradient(0deg,#3b82f626 0,#3b82f614);box-shadow:0 -6px 16px #3b82f61f;transform:translateY(-2px)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modern-popup.popup-pie-chart .leaflet-popup-content{margin:0;overflow:visible}.modern-popup .leaflet-popup-tip,.popup-constituency,.popup-district,.popup-header,.popup-winner{@apply flex items-center gap-2 bg-white rounded-lg px-3 py-2 shadow-sm}.popup-winner-icon{@apply text-xl;animation:bounce 2s ease-in-out infinite}.popup-winner-text{@apply text-sm font-bold text-gray-800 truncate max-w-[180px]}.pie-chart-3d-container{align-items:center;display:flex;justify-content:center;overflow:visible;padding:1.5rem}.pie-simple{aspect-ratio:1/1;box-shadow:0 2px 8px #0000001a;flex-shrink:0;height:7rem;margin:0 auto;transition:box-shadow .2s ease;width:7rem}.pie-simple:hover{box-shadow:0 4px 12px #0003}.pie-tooltip{background:#111827f2;border:1px solid #ffffff1a;border-radius:.5rem;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;font-size:.7rem;justify-content:center;min-height:50px;padding:.6rem .8rem;right:-170px;top:50%;transform:translateY(-50%);transition:opacity .1s ease,visibility 0s linear .1s;visibility:hidden;white-space:normal;width:160px}.pie-tooltip.show{transition:opacity .1s ease,visibility 0s linear 0s;visibility:visible}.tooltip-party{-webkit-line-clamp:2;-webkit-box-orient:vertical;border-bottom:1px solid #4b556380;color:#fff;display:-webkit-box;font-size:.7rem;line-height:1.3;margin-bottom:.4rem;max-height:2.6rem;min-height:1.3rem;padding-bottom:.4rem;text-align:center}.tooltip-stats{align-items:center;gap:.5rem;justify-content:space-around}.tooltip-stat{gap:.25rem}.tooltip-icon{font-size:.7rem}.tooltip-votes{color:#93c5fd;font-size:.65rem;font-weight:600}.tooltip-percent{color:#fbbf24;font-size:.9rem;font-weight:700}.popup-hover-hint{animation:fadeIn .5s ease-out .3s both;color:#9ca3af;font-size:.75rem;margin-bottom:.5rem}.popup-click-hint{animation:fadeIn .5s ease-out .5s both;color:#6b7280;font-size:.6875rem;font-weight:500;margin-bottom:.5rem;margin-top:.75rem;padding:.5rem 1rem;text-align:center}.view-details-btn{@apply w-full bg-gradient-to-r from-blue-600 to-indigo-600 text-white py-3 rounded-xl font-semibold text-sm;@apply hover:from-blue-700 hover:to-indigo-700 transition-all duration-300;@apply shadow-md hover:shadow-lg;@apply transform hover:scale-105}.candidate-list-container{max-height:180px;overflow-x:hidden;overflow-y:auto;padding:.75rem 1rem;scrollbar-color:#9ca3af66 #f3f4f680;scrollbar-width:thin}.candidate-list-container::-webkit-scrollbar{width:6px}.candidate-list-container::-webkit-scrollbar-track{background:#f3f4f680;border-radius:10px;margin:4px 0}.candidate-list-container::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:10px;-webkit-transition:background .2s ease;transition:background .2s ease}.candidate-list-container::-webkit-scrollbar-thumb:hover{background:#6b7280b3}.candidate-item{align-items:center;background:#0000;border-left:3px solid #0000;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.625rem .75rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.candidate-item:hover{background:#ffffff80;border-left-style:solid;border-left-width:3px;box-shadow:0 1px 3px #00000014;padding-left:.875rem;transform:translateX(2px)}.candidate-item:active{transform:translateX(3px) scale(.98)}.candidate-item:last-child{margin-bottom:0}.candidate-rank{align-items:center;background:#f3f4f6cc;border-radius:50%;color:#6b7280;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.75rem;justify-content:center;transition:all .2s ease;width:1.75rem}.candidate-item:hover .candidate-rank{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff;transform:scale(1.15)}.candidate-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.candidate-name{color:#1f2937;font-size:.875rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;white-space:nowrap}.candidate-item:hover .candidate-name{color:#1e40af;font-weight:700}.candidate-party{align-items:center;color:#6b7280;display:flex;font-size:.6875rem;gap:.375rem;line-height:1.2}.party-indicator{border-radius:50%;box-shadow:0 0 0 1.5px #ffffffe6;flex-shrink:0;height:.5rem;transition:all .2s ease;width:.5rem}.candidate-item:hover .party-indicator{box-shadow:0 0 0 2px #ffffffe6,0 0 8px currentColor;transform:scale(1.4)}.party-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.candidate-item:hover .party-name{color:#374151;font-weight:600}@media (max-width:640px){.candidate-list-scrollable{max-height:240px;padding:.5rem .75rem}.popup-click-hint-sticky{font-size:.8125rem;font-weight:700;padding:.75rem 1rem}.candidate-item{gap:.625rem;padding:.5rem .625rem}.candidate-rank{font-size:.6875rem;height:1.5rem;width:1.5rem}.candidate-name{font-size:.8125rem}.candidate-party{font-size:.625rem}.party-indicator{height:.4375rem;width:.4375rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-fadeIn{animation:fadeIn .6s ease-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.strategy-simulator-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:4px;margin-top:12px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.strategy-simulator-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.strategy-simulator-btn:hover:before{left:100%}.strategy-simulator-btn:hover{box-shadow:0 8px 25px #667eea99;transform:translateY(-2px) scale(1.02)}.strategy-simulator-btn:active{transform:translateY(0) scale(.98)}.simulator-hint{color:#fffffff2;font-size:11px;font-weight:400;margin-top:2px;opacity:.9}@keyframes pulseGlow{0%,to{box-shadow:0 4px 15px #667eea66}50%{box-shadow:0 4px 20px #667eeab3,0 0 30px #667eea4d}}.strategy-simulator-btn{animation:pulseGlow 2s ease-in-out infinite}.strategy-simulator-btn:hover{animation:none}.skeleton{@apply bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200;animation:skeleton-loading 1.5s ease-in-out infinite;background-size:200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{@apply skeleton rounded-2xl;height:140px}.skeleton-text{@apply skeleton rounded-lg;height:20px}@media (max-width:768px){.stat-card{min-height:120px}.stat-icon,.stat-value{@apply text-2xl}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){.glass-card{background:#0000004d;border-color:#ffffff1a}.insights-panel{@apply bg-gray-900 text-white;border-color:#ffffff1a}}.year-selector-chevron,.year-selector-content,.year-selector-enhanced,.year-selector-icon,.year-selector-label,.year-selector-trigger,.year-selector-value{@apply w-3 h-3 sm:w-4 sm:h-4 text-yellow-300 transition-transform duration-300 flex-shrink-0}.year-selector-backdrop{@apply fixed inset-0 z-40;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003}.year-selector-dropdown{@apply absolute right-0 mt-2 bg-white rounded-xl sm:rounded-2xl shadow-2xl;@apply border border-gray-200 z-50 overflow-hidden;@apply w-[280px] sm:w-80 max-h-[80vh] overflow-y-auto;animation:dropdownSlideIn .3s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-container,.year-option,.year-option-ad,.year-option-bs,.year-option-selected,.year-selector-dropdown-header,.year-selector-footer,.year-selector-options,.year-status-badge{@apply w-full h-full overflow-hidden}@media (max-width:640px){.overview-dashboard,.stats-grid{@apply grid-cols-2 gap-2}.stat-card{@apply p-4;min-height:100px}.insight-card,.insights-panel,.insights-title,.stat-icon,.stat-label,.stat-value{@apply p-3 gap-2}}@media (min-width:641px) and (max-width:1024px){.overview-dashboard,.stats-grid{@apply p-4}}@media (max-width:640px){.modern-popup .leaflet-popup-content-wrapper{@apply rounded-xl;max-width:calc(100vw - 40px)!important}.pie-chart-3d-container,.pie-simple,.popup-header,.view-details-btn{@apply py-2.5 text-xs}}@media (hover:none) and (pointer:coarse){.insight-card,.stat-card,.year-option,.year-selector-trigger{@apply active:scale-98}}.loading-shimmer-wrapper{@apply relative overflow-hidden}.loading-shimmer{@apply absolute inset-0;animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000)}.comparison-card,.comparison-container,.comparison-header,.comparison-label,.comparison-stat-label,.comparison-stat-row,.comparison-stat-value,.comparison-stats,.search-clear-btn,.search-enhanced,.search-icon,.search-input,.search-input-wrapper,.skeleton-dashboard,.skeleton-stats-grid{@apply absolute right-3 top-1/2 transform -translate-y-1/2;@apply text-gray-400 hover:text-gray-600 transition-colors duration-200}.search-results{@apply absolute z-50 w-full mt-2 bg-white rounded-xl shadow-2xl;@apply border border-gray-200 max-h-80 overflow-y-auto;animation:dropdownSlideIn .2s ease-out}.search-result-item,.search-result-item:active{@apply bg-blue-100}.keyboard-hints{@apply fixed bottom-4 right-4 bg-black/80 backdrop-blur-sm text-white;@apply px-4 py-3 rounded-lg text-xs space-y-1 z-50;@apply hidden lg:block;animation:fadeInUp .3s ease-out}.keyboard-hint-item,.keyboard-key{@apply bg-white/20 px-2 py-1 rounded text-[10px] font-mono}.smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.custom-scrollbar::-webkit-scrollbar{height:6px;width:6px}.custom-scrollbar::-webkit-scrollbar-track{@apply bg-gray-100 rounded-full}.custom-scrollbar::-webkit-scrollbar-thumb{@apply bg-gray-400 rounded-full;-webkit-transition:background-color .2s;transition:background-color .2s}.custom-scrollbar::-webkit-scrollbar-thumb:hover{@apply bg-gray-500}@media print{*,.insights-panel,.keyboard-hints,.stat-card,.view-details-btn,.year-selector-enhanced{@apply text-black bg-white}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.animate-slideInRight{animation:slideInRight .3s ease-out}.district-tooltip{background:#000c;border:none;border-radius:4px;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:12px;font-weight:500;padding:4px 8px}.constituency-label{background:#0000;border:none;box-shadow:none;pointer-events:none}.modern-popup{z-index:10000!important}.leaflet-popup{margin-bottom:0!important}.leaflet-popup-content-wrapper{transition:none!important}.modern-popup .leaflet-popup-content-wrapper{animation:popupFadeIn .15s ease-out;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffa6;border:1px solid #fff6;border-radius:20px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;overflow:hidden;padding:0}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.98) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.modern-popup .leaflet-popup-content{margin:0;max-width:280px;min-width:240px;padding:20px 20px 12px}.modern-popup .leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.modern-popup .leaflet-popup-tip{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fff;box-shadow:0 3px 14px #0000001f;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg);width:17px}.modern-popup .leaflet-popup-close-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0000000d;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex!important;font-size:20px;font-weight:300;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:8px;transition:all .2s ease;width:28px;z-index:1000}.modern-popup .leaflet-popup-close-button:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.modern-popup .leaflet-popup-close-button:active{transform:scale(.95)}.modern-popup.party-nc .leaflet-popup-content-wrapper{background:#2e8b5726;border:1px solid #2e8b574d}.modern-popup.party-uml .leaflet-popup-content-wrapper{background:#dc143c26;border:1px solid #dc143c4d}.modern-popup.party-mc .leaflet-popup-content-wrapper{background:#b2222226;border:1px solid #b222224d}.modern-popup.party-rsp .leaflet-popup-content-wrapper{background:#4682b426;border:1px solid #4682b44d}.modern-popup.party-rpp .leaflet-popup-content-wrapper{background:#daa52026;border:1px solid #daa5204d}.modern-popup.party-jsp .leaflet-popup-content-wrapper{background:#ff69b426;border:1px solid #ff69b44d}.modern-popup.party-ind .leaflet-popup-content-wrapper{background:#80808026;border:1px solid #8080804d}.popup-header{margin-bottom:16px;text-align:center}.popup-district{color:#6b7280;font-size:11px;font-weight:500;letter-spacing:.02em;margin-bottom:4px}.popup-constituency{color:#111827;font-size:18px;font-weight:700;margin-bottom:8px}.popup-winner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;box-sizing:border-box;color:#92400e;display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:center;padding:8px 16px;width:100%}.popup-winner-icon{flex-shrink:0;font-size:14px}.popup-winner-text{flex:1 1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.pie-chart-3d-container{margin:20px auto}.pie-chart-3d-container,.pie-simple{height:180px;position:relative;width:180px}.pie-simple{border-radius:50%;box-shadow:0 4px 16px #0000001a;cursor:pointer;transition:all .3s ease}.pie-simple:hover{box-shadow:0 8px 24px #00000026;transform:scale(1.05)}.pie-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827f5;border-radius:10px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:12px;left:50%;max-width:280px;min-width:200px;opacity:0;padding:12px 16px;pointer-events:none;position:absolute;top:-60px;transform:translateX(-50%);transition:opacity .2s ease;z-index:1000}.pie-tooltip.show{opacity:1}.pie-tooltip:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #111827f5;bottom:-5px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.tooltip-party{font-size:12px;font-weight:600;margin-bottom:6px;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.tooltip-stats{color:#ffffffe6;display:flex;font-size:11px;gap:10px;padding:0 4px}.tooltip-stat{align-items:center;display:flex;gap:4px}.tooltip-votes{font-weight:500}.tooltip-percent{color:#93c5fd;font-weight:600}.view-details-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:12px;font-weight:600;margin-top:12px;padding:8px 16px;transition:all .2s ease;width:100%}.view-details-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.view-details-btn:active{transform:translateY(0)}.popup-hover-hint{color:#000;font-size:10px;font-weight:500;margin-top:8px;text-align:center}