@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Space+Grotesk:wght@400;700&display=swap";:root{--bg-color:#0f172a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--glass-bg:#ffffff08;--glass-border:#ffffff14;--accent-color:#3b82f6;--tvk-primary:#f59e0b;--tvk-secondary:#7f1d1d;--dmk-primary:#dc2626;--dmk-secondary:#000;--aiadmk-primary:#15803d;--aiadmk-secondary:#e11d48;--ntk-primary:#b91c1c;--ntk-secondary:#fef08a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Outfit,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 32px #0000004d}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 #fff3}70%{box-shadow:0 0 20px 10px #fff0}to{box-shadow:0 0 #fff0}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slide-up}.animate-scale-in{animation:.5s ease-out forwards scale-in}.text-gradient{background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-container{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.header{text-align:center;margin-bottom:3rem;padding-block:2rem}.header h1{letter-spacing:-1px;margin-bottom:.5rem;font-size:3.5rem;font-weight:800}.header p{color:var(--text-secondary);font-size:1.25rem}.candidates-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.candidate-card{cursor:pointer;background:var(--glass-bg);border:1px solid var(--glass-border);text-align:center;z-index:1;border-radius:24px;flex-direction:column;align-items:center;padding:2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden}.candidate-card:before{content:"";background:var(--card-gradient);opacity:.1;z-index:-1;transition:opacity .3s;position:absolute;inset:0}.candidate-card:hover{box-shadow:0 20px 40px #0006, 0 0 20px var(--glow-color,transparent);border-color:#fff3;transform:translateY(-12px)scale(1.02)}.candidate-card:hover:before{opacity:.2}.card-icon{background:var(--glass-bg);color:#fff;border:4px solid var(--party-primary);border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;margin-bottom:1.5rem;display:flex;overflow:hidden;box-shadow:0 10px 20px #0000004d}.card-icon img{object-fit:cover;width:100%;height:100%}.voter-form{text-align:left;flex-direction:column;gap:1.25rem;max-width:500px;margin:0 auto 3rem;padding:2rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);font-weight:600}.form-control{border:1px solid var(--glass-border);color:#fff;background:#0003;border-radius:8px;outline:none;padding:.75rem 1rem;font-family:Outfit,sans-serif;font-size:1rem;transition:border-color .3s}.form-control:focus{border-color:var(--accent-color)}.btn-primary{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:1rem;padding:1rem 2rem;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;transition:all .3s}.btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 10px 20px #3b82f64d}.btn-primary:disabled{cursor:not-allowed;box-shadow:none;background:#475569;transform:none}.candidate-card h2{margin-bottom:.5rem;font-size:1.75rem}.candidate-card p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.vote-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;padding:.75rem 2rem;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;transition:all .3s}.candidate-card:hover .vote-btn{color:#000;background:#fff;box-shadow:0 0 15px #fff}.results-container{margin-top:2rem;padding:2.5rem}.results-title{text-align:center;margin-bottom:2rem;font-size:2.5rem}.result-bar-wrapper{margin-bottom:1.5rem}.result-header{justify-content:space-between;margin-bottom:.5rem;font-weight:600;display:flex}.progress-track{background:#ffffff0d;border-radius:12px;height:24px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--party-primary), var(--party-secondary));height:100%;box-shadow:0 0 10px var(--party-primary);border-radius:12px;transition:width 1.5s cubic-bezier(.22,1,.36,1)}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}
