:root{--green:#2f5e22;--green-d:#234a19;--orange:#ee8a1c;--red:#d9532a;--cream:#fff8e8;--sand:#fde9b0;--ink:#1f2a1b;--muted:#5d6a58;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:0 16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5rem}
h1{font-size:1.65rem;color:#fff}
h2{font-size:1.3rem;color:var(--green)}
h3{font-size:1rem;color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin:1.2rem 0 .4rem;font-family:system-ui,sans-serif}
a{color:var(--green)}
.hero{background:var(--green);color:#fff}
.hero-in{display:flex;gap:16px;align-items:center;padding-top:22px;padding-bottom:22px}
.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:4px solid var(--orange);box-shadow:0 0 0 3px #fff3;flex:none;background:#fff}
.eyebrow{margin:0 0 4px;color:#f6c548;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.sub{margin:0;color:#dfe9d8}
.cand{margin:.3rem 0 0;font-size:.95rem}
.cand b{color:#f6c548}
.stripe{height:6px;background:linear-gradient(var(--orange) 50%,var(--red) 50%)}
main{padding-top:18px;padding-bottom:8px}
.card{background:#fff;border-radius:var(--r);padding:18px;margin:0 0 16px;box-shadow:0 1px 3px #0001}
.find{border:2px solid var(--orange);background:linear-gradient(#fff,#fffaf0)}
.vote{background:var(--sand)}
.muted{color:var(--muted)}.small{font-size:.85rem}
.pill{font-family:system-ui;font-size:.75rem;background:var(--green);color:#fff;border-radius:99px;padding:2px 10px;vertical-align:middle;margin-left:6px}
label{display:block;font-weight:600;margin:.8rem 0 .3rem}
input,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #cbd5c4;border-radius:10px;background:#fff}
input:focus,textarea:focus{outline:3px solid #ee8a1c55;border-color:var(--orange)}
input.otp{font-size:1.6rem;letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums}
.btn{display:block;width:100%;margin-top:12px;padding:13px 16px;font:inherit;font-weight:700;text-align:center;text-decoration:none;color:#fff;background:var(--green);border:0;border-radius:10px;cursor:pointer}
.btn:hover{background:var(--green-d)}
.btn[disabled]{opacity:.6}
.btn.alt{background:var(--orange);color:#1f1300}
.btn.ghost{background:#fff;color:var(--green);border:2px solid var(--green)}
.ticks{list-style:none;padding:0;margin:.4rem 0}
.ticks li{position:relative;padding-left:26px;margin:.45rem 0}
.ticks li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800}
blockquote{margin:1rem 0;padding:.4rem 0 .4rem 14px;border-left:4px solid var(--orange);font-family:Georgia,serif;font-style:italic;color:var(--green)}
.appeal{margin:0}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:6px}
.stats div{background:#f4f6f2;border-radius:10px;padding:10px 12px}
.stats b{display:block;font:700 1.5rem Georgia,serif;color:var(--green)}
.stats span{font-size:.82rem;color:var(--muted)}
.roles{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:.3rem 0 1rem;counter-reset:r}
.roles li{counter-increment:r;background:var(--sand);padding:6px 12px;border-radius:99px;font-size:.9rem;font-weight:600;color:var(--green)}
.roles li:before{content:counter(r) ". ";opacity:.6}
.alert{background:#fdecea;color:#8a1f11;border-radius:10px;padding:10px 12px;margin:.5rem 0}
.notice{background:#eaf4e4;color:#1d4a11;border-radius:10px;padding:10px 12px;margin:.5rem 0}
.result{text-align:center}
.result .label{margin:.6rem 0 0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.result .mid{font:800 2.6rem Georgia,serif;color:var(--green);margin:0;word-break:break-all}
.htmx-request .btn{opacity:.6;pointer-events:none}
footer{background:var(--green);color:#e9f1e4;padding:18px 0 28px;margin-top:8px}
footer a{color:#f6c548}
.fine{font-size:.78rem;color:#c9d8c0;margin:.5rem 0 0}
@media(min-width:600px){h1{font-size:2.1rem}.avatar{width:120px;height:120px}.stats{grid-template-columns:repeat(4,1fr)}}
