*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--yes:#00e5a0;--no:#ff4d6d;--bg:#0a0a0f;--surface:#111118;--surface2:#1a1a24;--border:#ffffff14;--text:#f0eef8;--muted:#f0eef873;--accent:#7b6fff}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Syne,sans-serif}.app{justify-content:center;padding:3rem 1rem;display:flex}.wrapper{width:100%;max-width:560px}.badge{color:var(--accent);letter-spacing:.08em;border:1px solid #7b6fff4d;border-radius:100px;align-items:center;gap:6px;margin-bottom:2rem;padding:4px 12px;font-size:11px;display:inline-flex}h1{letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(28px,6vw,42px);font-weight:800;line-height:1.1}h1 span{color:var(--accent)}.desc{color:var(--muted);margin-bottom:2.5rem;font-size:15px;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:1rem;padding:1.75rem}.card-label{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:1rem;font-size:10px}textarea{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:12px;outline:none;margin-bottom:1rem;padding:12px 14px;font-size:14px;line-height:1.5}.vote-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:14px;font-size:15px;font-weight:700;transition:all .15s}.btn-yes{color:var(--yes);background:#00e5a01a;border-color:#00e5a04d}.btn-no{color:var(--no);background:#ff4d6d1a;border-color:#ff4d6d4d}.status{border-radius:10px;margin-bottom:1rem;padding:10px 14px;font-size:13px}.status.success{color:var(--yes);background:#00e5a01a}.status.error{color:var(--no);background:#ff4d6d1a}.status.loading{color:var(--accent);background:#7b6fff1a}.metrics{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:1.5rem;display:grid}.metric{background:var(--surface2);text-align:center;border-radius:12px;padding:14px 12px}.metric-val{margin-bottom:2px;font-size:26px;font-weight:800}.metric-val.yes{color:var(--yes)}.metric-val.no{color:var(--no)}.metric-val.total{color:var(--accent)}.metric-lbl{color:var(--muted);letter-spacing:.06em;font-size:10px}.bars{margin-bottom:1.5rem}.bar-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.bar-lbl{width:22px;font-size:12px;font-weight:500}.bar-lbl.yes{color:var(--yes)}.bar-lbl.no{color:var(--no)}.bar-track{background:var(--surface2);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .5s}.bar-fill.yes{background:var(--yes)}.bar-fill.no{background:var(--no)}.bar-pct{color:var(--muted);text-align:right;width:32px;font-size:12px}.winner{border-radius:100px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex}.winner.yes{color:var(--yes);background:#00e5a01a}.winner.no{color:var(--no);background:#ff4d6d1a}.winner.open{background:var(--surface2);color:var(--muted)}.refresh-btn{border:1px solid var(--border);width:100%;color:var(--muted);cursor:pointer;letter-spacing:.06em;background:0 0;border-radius:10px;margin-top:1.25rem;padding:11px;font-size:12px}.footer{text-align:center;margin-top:2rem}.contract-addr{color:#fff3;word-break:break-all;font-size:10px}.powered{color:#fff3;margin-top:6px;font-size:11px}
