:root{color-scheme:light;--ink:#172b3b;--muted:#64748b;--border:#dce3e9;--orange:#c76012;--green:#17713b;--red:#b83333}
*{box-sizing:border-box}html{min-width:320px;background:#eef1f4}body{margin:0;background:#eef1f4;color:var(--ink);font-family:Arial,"Noto Sans Devanagari",sans-serif}.app-shell{max-width:920px;margin:0 auto;background:#f8fafb;min-height:100vh;box-shadow:0 0 30px #1423380c}.hero{background:linear-gradient(120deg,#17263c,#304862);color:#fff;text-align:center;padding:25px 14px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:3px;color:#f9bd75;margin:0}.hero h1{font-size:clamp(28px,5vw,40px);font-weight:1000;margin:10px 0 5px}.hero-subtitle{font-size:14px;color:#d7e1ea;margin:0}.satire-pill{display:inline-block;margin-top:15px;border:1px solid #f5b96c80;color:#ffe0b4;border-radius:50px;padding:6px 12px;font-size:10px;font-weight:800}.machine-section{padding:20px 14px 6px}.section-kicker{text-align:center;font-size:10px;font-weight:900;letter-spacing:2px;color:#64748b;margin:0 0 12px}.machine{max-width:660px;margin:auto;padding:12px;background:linear-gradient(135deg,#f3f4ee,#dce1d9);border:2px solid #aeb8ae;border-radius:15px;box-shadow:0 10px 25px #0002}.machine-topline,.machine-bottomline{display:flex;justify-content:space-between;padding:5px 2px 13px;font-size:10px;font-weight:900;letter-spacing:.8px;color:#243849}.machine-bottomline{padding:12px 2px 3px}.power-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#23a35d;box-shadow:0 0 6px #23a35d;margin-right:5px}.ballot-unit{overflow:hidden;border:1.5px solid #aeb9ad;border-radius:11px}.unit-heading{text-align:center;background:#edf0e9;padding:14px;border-bottom:1px solid #b9c3b8;color:#192e40}.unit-heading strong{font-size:12px;letter-spacing:2px}.unit-heading span{display:block;margin-top:5px;font-size:10px;color:#627269}.column-labels,.candidate{display:grid;grid-template-columns:31px minmax(0,1fr) 83px 58px;gap:8px;align-items:center;padding:8px 11px}.column-labels{min-height:31px;background:#d5ddd4;font-size:9px;font-weight:900;letter-spacing:.5px;color:#263a32}.center{text-align:center}.candidate{min-height:78px;background:#f6f7f2;border-top:1px solid #c4ccc2;transition:background .2s}.candidate.selected{background:#e3f2e4}.candidate-number{text-align:center;color:#64756b;font-size:12px;font-weight:900}.candidate-info strong{display:block;font-size:11px;font-weight:900;line-height:1.35;color:#172b3b}.candidate-info small{display:block;font-size:10px;color:#66766d;margin-top:4px}.symbol-frame{height:62px;width:72px;margin:auto;background:#fff;border:1px solid #d0d7d0;border-radius:6px;padding:3px;display:flex;align-items:center;justify-content:center}.symbol-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.vote-control{display:flex;align-items:center;flex-direction:column;gap:6px}.vote-button{width:42px;height:35px;border:1px solid #194a63;border-radius:50%;background:linear-gradient(#70a9bf,#245c77);box-shadow:inset 0 2px 3px #fff8,0 2px 4px #0003;cursor:pointer}.vote-button:active{transform:translateY(2px)}.vote-button:focus-visible,.action:focus-visible,.popup-card button:focus-visible{outline:3px solid #2879cf;outline-offset:3px}.vote-led{width:10px;height:10px;border:1px solid #441919;border-radius:50%;background:#632b2b}.vote-led.on{background:#ef2929;box-shadow:0 0 10px red}.unit-footer{text-align:center;padding:9px;background:#dfe5dc;font-size:9px;letter-spacing:1px;font-weight:900;color:#53645a}.dashboard{max-width:660px;margin:20px auto 0;border-radius:15px;overflow:hidden;background:white;border:1px solid var(--border);box-shadow:0 7px 22px #15263a12}.dashboard-header{background:linear-gradient(120deg,#162c42,#25445e);color:white;padding:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.dashboard-eyebrow{color:#ffd18c}.dashboard-header h2{font-size:21px;font-weight:1000;margin:5px 0}.dashboard-header p:last-child{margin:0;color:#d6e1e9;font-size:11px}.live-label{font-size:9px;font-weight:900;white-space:nowrap;border-radius:30px;padding:7px 9px;background:#ef444426;border:1px solid #fecaca66;color:#ffe4e6}.live-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff6464;margin-right:3px}.control-display{margin:14px 14px 0;background:#10271e;color:#a6f1ac;border:3px solid #aeb9ad;border-radius:9px;padding:15px;text-align:center;font-family:monospace}.control-display>span{font-size:9px;letter-spacing:1px;display:block}.control-display strong{display:block;font-size:22px;margin:5px}.control-display small{font-size:11px}.kpi-grid{padding:14px 14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kpi-card{border-radius:11px;padding:13px;background:#f0f4f7;border:1px solid #d8e1e8;min-width:0}.kpi-label{display:block;font-size:10px;font-weight:800;color:#536477;line-height:1.4}.kpi-card>strong{display:block;font-size:29px;line-height:1.2;font-weight:1000;margin-top:5px;color:#152e46}.kpi-card>small{display:block;font-size:9px;color:#536477;margin-top:4px}.kpi-orange{background:#fff2e3;border-color:#f6d4ad}.kpi-orange>strong{color:#c76012}.kpi-orange>small{color:#9d531b}.kpi-red{background:#fff0f0;border-color:#f2d0d0}.kpi-red>strong{color:#b83333}.kpi-red>small{color:#974747}.report-card{margin:14px 14px 0;border:1px solid #dce3e9;border-radius:12px;overflow:hidden;background:#fff}.report-heading{padding:13px 14px;background:#edf2f7;border-bottom:1px solid #dae2e9;display:flex;justify-content:space-between;align-items:center;gap:10px}.report-heading h3{font-size:13px;font-weight:900;color:#1b3046;margin:0}.report-heading p{font-size:10px;color:#536477;margin:4px 0 0}.report-tag{font-size:9px;font-weight:900;border-radius:5px;padding:5px 7px;background:#dce6ef;color:#324a60;white-space:nowrap}.report-body{padding:13px}.party-row{padding:10px 0;border-bottom:1px solid #edf0f2}.party-row:last-child{border:0}.party-line{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:800;color:#283c4d;margin-bottom:7px}.party-count{display:flex;align-items:center;gap:7px}.party-count strong{font-size:12px;color:#213b52}.party-pct{font-size:9px;font-weight:900;border-radius:5px;padding:4px 6px;background:#edf1f5;color:#32465a}.bar-track{height:9px;background:#e8edf1;border-radius:20px;overflow:hidden}.bar-fill{height:100%;width:0;border-radius:20px;transition:width .35s}.report-note{font-size:10px;line-height:1.5;color:#667584;margin:0;padding:0 13px 13px}.fictional-result{border-radius:12px;padding:15px;background:linear-gradient(130deg,#fff3e6,#ffead1);border:1px solid #f0d1ac}.result-label{font-size:11px;font-weight:900;color:#81501f;letter-spacing:.4px}.result-number{display:block;font-size:33px;font-weight:1000;color:#bc6416;line-height:1.2;margin-top:6px}.progress-track{height:9px;background:#f4ddc3;border-radius:20px;overflow:hidden;margin-top:12px}.progress-track span{height:100%;width:0;display:block;background:#eb8420;transition:width .35s}.progress-caption{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;font-weight:900;color:#81501f}.mini-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.mini-stat{border-radius:9px;padding:12px;background:#f1f3f5}.mini-stat span,.mini-stat small{display:block;font-size:10px;font-weight:800;color:#536477}.mini-stat strong{display:block;font-size:21px;color:#263a4e;margin:5px 0}.mini-stat small{font-size:9px;font-weight:500}.mini-stat-green{background:#eaf6ee;border:1px solid #cce4d1}.mini-stat-green span,.mini-stat-green strong,.mini-stat-green small{color:#17713b}.machine-joke{margin:14px 14px 0;border-radius:10px;padding:14px;background:#172d42;color:white;text-align:center}.machine-joke strong{font-size:11px;color:#ffd18c}.machine-joke p{font-size:13px;line-height:1.7;margin:7px 0 0;color:#f4f7fa}.dashboard-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:15px}.action{padding:10px 15px;border-radius:8px;font-size:12px;font-weight:900}.secondary-button{border:1px solid #cbd5df;background:white;color:#263a4e}.primary-button{background:#172b40;color:white}.disclaimer,.fine{font-size:10px;line-height:1.6;color:#667584;text-align:center;margin:0 14px 14px}.site-footer{text-align:center;padding:14px 8px 20px;color:#8793a0;font-size:9px;font-weight:900;letter-spacing:1px}.modal{position:fixed;inset:0;z-index:999999;background:#091523e5;display:none;align-items:center;justify-content:center;padding:15px}.modal.open{display:flex}.popup-card{background:white;width:100%;max-width:380px;border-radius:18px;padding:23px 20px;text-align:center;position:relative;overflow:hidden;animation:evmpop .3s ease-out}.popup-emoji{font-size:42px}.popup-eyebrow{font-size:10px;font-weight:900;letter-spacing:1px;color:#c76012;margin-top:12px}.popup-card h2{color:#ad4e0a;font-size:24px;font-weight:1000;margin:8px 0}.popup-card>p{font-size:14px;line-height:1.8;color:#344054;margin:12px 0}.popup-result{background:#fff3e5;border:1px solid #f2d6b4;border-radius:10px;padding:12px}.popup-result span,.popup-result small{display:block;font-size:10px;font-weight:800;color:#8d5b2c}.popup-result strong{display:block;font-size:27px;color:#c76012;margin:7px}.popup-disclaimer{font-size:10px!important;color:#64748b!important}.popup-card button{background:#182d43;color:white;width:100%;border-radius:8px;padding:12px;margin-top:8px;font-weight:900}.confetti{position:absolute;top:-20px;pointer-events:none;animation:fall 1.8s forwards}@keyframes fall{to{transform:translateY(460px) rotate(540deg);opacity:0}}@keyframes evmpop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:520px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-red{grid-column:span 2}.report-heading h3{font-size:12px}}@media(max-width:430px){.column-labels,.candidate{grid-template-columns:22px minmax(0,1fr) 57px 39px;gap:5px;padding-left:6px;padding-right:6px}.candidate{min-height:73px}.candidate-info strong{font-size:9px}.candidate-info small{font-size:9px}.symbol-frame{width:53px;height:53px;padding:2px}.vote-button{width:35px;height:30px}.column-labels{font-size:8px}.dashboard{margin-top:16px}.kpi-card>strong{font-size:25px}.report-heading{padding:11px}.report-body{padding:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
