/* Clear information block and single-count participation card. */
.participation-explain { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr); gap:clamp(25px,6vw,85px); align-items:center; padding-block:clamp(48px,7vw,84px); border-bottom:1px solid var(--stroke); }
.participation-explain__copy h2 { font:500 clamp(2rem,3.7vw,3.25rem)/1.15 Georgia,serif; letter-spacing:-.025em; margin:11px 0 24px; }
.participation-explain__steps { list-style:none; padding:0; margin:0 0 22px; display:grid; gap:13px; }
.participation-explain__steps li { display:flex; align-items:baseline; gap:18px; border-bottom:1px solid var(--stroke); padding-bottom:12px; }
.participation-explain__steps li > span { font:500 1.25rem Georgia,serif; color:var(--gold); }
.participation-explain__steps p { margin:0; font-size:.94rem; color:var(--muted); }
.participation-explain__steps strong { color:var(--ink); }
.participation-explain__rules { display:inline-flex; min-height:44px; align-items:center; gap:7px; font-size:.9rem; font-weight:750; text-underline-offset:5px; }
.participation-explain__counter { display:flex; flex-direction:column; align-items:flex-start; padding:clamp(25px,4vw,42px); border:1px solid #c5d8cd; background:linear-gradient(145deg,#e9f0e8,#f5f2e8); border-radius:18px; box-shadow:0 15px 50px -45px #123f41; min-height:295px; }
.participation-explain__icon { width:56px; height:56px; display:grid; place-items:center; border:1px solid #acc9b6; background:#dbe9df; color:#1e6456; border-radius:50%; margin:17px 0 8px; }
.participation-explain__counter [data-participation-people] { font:500 clamp(3.65rem,7vw,6.5rem)/1 Georgia,serif; font-variant-numeric:lining-nums tabular-nums; letter-spacing:-.07em; color:#163f3a; }
.participation-explain__counter-label { font-size:1.05rem; font-weight:750; margin-top:10px; }
.participation-explain__counter p { color:var(--muted); font-size:.79rem; margin:9px 0 0; max-width:26ch; }
.home-ballot-dock__links { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.home-ballot-dock__links > a { color:#f5f7ed; font-size:.85rem; text-underline-offset:4px; }
.home-ballot-dock__action { border:0; cursor:pointer; font:inherit; font-weight:800; font-size:.9rem; }
.home-vote-dialog { width:min(92vw,650px); max-height:min(91vh,850px); padding:0; background:#faf8f2; border:1px solid #c3d5ca; border-radius:16px; color:var(--ink); box-shadow:0 25px 100px #061d1db0; overflow:auto; }
.home-vote-dialog::backdrop { background:rgba(6,27,27,.72); backdrop-filter:blur(3px); }
.home-vote-dialog__content { padding:clamp(21px,4vw,38px); position:relative; }
.home-vote-dialog__content h2 { font:500 clamp(1.9rem,3.5vw,2.8rem)/1.12 Georgia,serif; margin:11px 32px 10px 0; }
.home-vote-dialog__content > p { font-size:.9rem; color:var(--muted); }
.home-vote-dialog__close { display:grid; place-items:center; position:absolute; top:12px; right:12px; width:44px; height:44px; border-radius:50%; border:1px solid var(--stroke); background:white; cursor:pointer; font-size:1.5rem; color:var(--ink); }
.home-vote-dialog__selections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; background:#e8f0e9; padding:16px; border-radius:10px; }
.home-vote-dialog__selections p { margin:0; font-size:.78rem; overflow-wrap:anywhere; }
.home-vote-dialog #vote-form .button { margin-top:0; width:100%; justify-content:center; min-height:48px; }
.home-vote-dialog__review { display:inline-block; margin-top:13px; font-size:.84rem; font-weight:700; text-underline-offset:4px; }
body:has(.home-vote-dialog[open]) { overflow:hidden; }
@media(max-width:760px) { .participation-explain { grid-template-columns:1fr; } .participation-explain__counter { min-height:auto; } .home-ballot-dock__links { width:100%; justify-content:space-between; } .home-ballot-dock__links > a { font-size:.78rem; } }
@media(max-width:480px) { .home-vote-dialog { width:96vw; max-height:94dvh; } .home-vote-dialog__selections { grid-template-columns:1fr; } .home-ballot-dock__links { flex-direction:column; align-items:stretch; gap:7px; } .home-ballot-dock__links > a { text-align:center; } }

/* Security-safe, human-readable explanation for prior votes. */
.voter-email-note { margin:8px 0 12px; color:var(--muted,#536963); font-size:.83rem; line-height:1.5; }

/* Public aggregate totals: both counts use the same confirmed-vote source. */
.participation-explain__votes { display:flex; flex-direction:column; gap:5px; margin-top:20px; padding-top:17px; border-top:1px solid #c5d8cd; width:100%; }
.participation-explain__votes strong { font:500 clamp(2rem,3.5vw,3rem)/1.1 Georgia,serif; font-variant-numeric:tabular-nums; color:#163f3a; }
.participation-explain__votes span { font-size:.96rem; font-weight:750; color:var(--ink); }
