:root{--ink:#102518;--green:#009739;--green-dark:#004b23;--yellow:#ffdf00;--blue:#002776;--paper:#fffef4;--line:#d9e3d8}*{box-sizing:border-box}html{background:#003b1d}body{margin:0;color:#fff;font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at 12% 8%,rgba(255,223,0,.34) 0,transparent 31%),radial-gradient(circle at 88% 18%,rgba(0,39,118,.36) 0,transparent 31%),linear-gradient(155deg,#007a32,#003f20 72%);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(120deg,transparent 0 48%,#ffdf00 49% 50%,transparent 51%);background-size:42px 42px}main{width:min(100%,900px);margin:auto;padding:24px 18px 40px}.hero{text-align:center;padding:18px 0 28px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.18em}.brand span,.live span{width:12px;height:12px;border-radius:50%;background:var(--yellow);box-shadow:0 0 18px var(--yellow)}.eyebrow{margin:42px 0 16px;font-weight:800;letter-spacing:.17em;color:#fff6ad}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.countdown div{background:rgba(0,39,118,.22);border:1px solid rgba(255,223,0,.48);border-radius:20px;padding:20px 6px;backdrop-filter:blur(8px)}.countdown strong{display:block;font-family:"Archivo Black",sans-serif;font-size:clamp(2.2rem,10vw,5rem);line-height:1;color:#fff}.countdown span{display:block;margin-top:10px;color:#fff3a0;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.date{letter-spacing:.16em;color:#fff3a0;font-size:.85rem;margin:20px 0 0}.poll{position:relative;color:var(--ink);background:var(--paper);border-radius:30px;padding:32px 24px;margin-top:6px;box-shadow:0 24px 70px rgba(0,36,18,.48);overflow:hidden}.poll:before{content:"";position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--green),var(--yellow),var(--blue))}.live{display:flex;align-items:center;gap:10px;color:var(--green);font-weight:800;letter-spacing:.1em}.live span{background:var(--green);box-shadow:0 0 16px var(--green)}h1{font-family:"Archivo Black",sans-serif;font-size:clamp(2rem,7vw,4rem);line-height:1.03;margin:28px 0 14px;letter-spacing:-.035em}.intro{font-size:1.12rem;line-height:1.55;color:#52685a;margin-bottom:28px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:17px;cursor:pointer;min-height:76px;transition:.18s}.option:hover{border-color:#65b77e}.option:has(input:checked){border-color:var(--green);background:#edf9ef;box-shadow:0 0 0 4px rgba(0,151,57,.13)}.option input{position:absolute;opacity:0}.radio{width:27px;height:27px;flex:0 0 27px;border:3px solid #68796e;border-radius:50%}.option:has(input:checked) .radio{border:8px solid var(--green);background:white}.candidate{display:flex;flex-direction:column;gap:4px}.candidate strong{font-size:1rem}.candidate small,.bar-meta small{color:#627168;font-weight:700;text-transform:uppercase;letter-spacing:.08em}button{width:100%;border:0;border-radius:17px;padding:20px;margin-top:24px;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;font-weight:800;font-size:1rem;letter-spacing:.07em;cursor:pointer}button:disabled{opacity:.5}.message{text-align:center;min-height:24px;color:#42584a}.results{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.results-head,.bar-meta{display:flex;justify-content:space-between;align-items:center;gap:16px}.results-head h2{margin:0;font-size:1.5rem}.results-head>span{color:#5c7063}.bar-row{margin:22px 0}.bar-meta>span{display:flex;flex-direction:column;gap:4px}.track{height:13px;background:#dbe6dc;border-radius:99px;overflow:hidden;margin-top:9px}.fill{height:100%;background:linear-gradient(90deg,var(--green),var(--yellow));border-radius:99px;transition:width .5s}.secondary{background:transparent;color:var(--green-dark);border:3px solid var(--green)}footer{text-align:center;color:#f1f5d2;font-size:.82rem;line-height:1.55;padding:26px 12px 0}footer p{margin:6px 0}@media(max-width:620px){main{padding:10px 10px 30px}.hero{padding-top:20px}.countdown{gap:7px}.countdown div{border-radius:14px;padding:15px 3px}.countdown strong{font-size:2.25rem}.countdown span{font-size:.65rem}.poll{padding:28px 16px;border-radius:25px}.options{grid-template-columns:1fr}.option{min-height:70px}h1{font-size:2.35rem}}
