:root{--bg:#f1f2f4;--surface:#fff;--surface-2:#e9ebef;--ink:#1a1e26;--muted:#586070;--line:#d0d4db;--line-strong:#9aa1ae;--brand:#1b2a57;--brand-ink:#fff;--accent:#1b2a57;--accent-ink:#fff;--yes:#1d6a3a;--no:#a32a2a;--abstain:#7a5a00;--serif:Georgia, "Iowan Old Style", "Times New Roman", serif;--radius:2px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0d111a;--surface:#151a25;--surface-2:#1d2331;--ink:#e8ebf0;--muted:#9ba3b0;--line:#2d3545;--line-strong:#4b556a;--brand:#17224a;--accent:#a9c0ff;--accent-ink:#0b1226;--yes:#62c98d;--no:#ff8f88;--abstain:#e6c04f}}:root[data-theme=dark]{--bg:#0b1020;--surface:#131a2c;--surface-2:#1b2338;--ink:#eceff5;--muted:#9ea7b8;--line:#2a3350;--line-strong:#4a5578;--brand:#16224a;--accent:#a9c0ff;--accent-ink:#0b1226;--yes:#62c98d;--no:#ff8f88;--abstain:#e6c04f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;padding-bottom:env(safe-area-inset-bottom);margin:0;font-size:16px;line-height:1.45}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:1.25rem;font-weight:700;line-height:1.15}h2{font-size:1rem;font-weight:700;line-height:1.25}h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.75rem;font-weight:700;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit;border-radius:var(--radius)}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.grow{flex:auto;min-width:0}.spread{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.appbar{background:var(--brand);color:var(--brand-ink);padding:10px var(--gutter);border-bottom:1px solid #0006;align-items:center;gap:14px;display:flex}.logo{filter:brightness(0)invert();flex:none;width:auto;height:56px}.titles{flex:auto;min-width:0}.subtitle{color:#ffffffb8;margin-top:2px;font-size:.85rem}.appbar-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.appbar .btn{color:var(--brand-ink);background:0 0;border-color:#ffffff73}.appbar .btn:hover:not(:disabled){background:#ffffff1f}.appbar .chip{color:var(--brand-ink)}.page{max-width:640px;padding:var(--gutter);flex-direction:column;gap:14px;margin:0 auto;display:flex}.page.wide{max-width:1180px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.banner{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--abstain);border-radius:var(--radius);padding:10px 14px;font-size:.92rem}.banner.error{border-left-color:var(--no)}.section-title{border-bottom:1px solid var(--line);margin-top:6px;padding-bottom:6px}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:focus-visible,.input:focus-visible,select:focus-visible,.tab:focus-visible,.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary,.btn.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){filter:brightness(1.15)}.btn.danger{color:var(--no)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{min-height:30px;padding:3px 10px;font-size:.8rem}.input,select.input,textarea.input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:42px;padding:9px 12px}textarea.input{min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;line-height:1.5}label.field{flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;display:flex}label.check{border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;display:flex}label.check input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0}.chip{border-radius:var(--radius);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--muted);border:1px solid;padding:0 6px;font-size:.68rem;font-weight:700;line-height:1.7;display:inline-block}.chip.yes{color:var(--yes)}.chip.no{color:var(--no)}.chip.abstain{color:var(--abstain)}.chip.brand{color:var(--accent)}.dot{border:1.5px solid var(--line-strong);flex:none;width:9px;height:9px;display:inline-block}.dot.on{background:var(--yes);border-color:var(--yes)}.dot.warn{background:var(--abstain);border-color:var(--abstain)}.progress{background:var(--surface-2);height:6px}.progress>div{background:var(--accent);height:100%;transition:width .3s}.identity{background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.identity .label{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:.78rem}.identity .me-name{font-family:var(--serif);font-size:2rem;font-weight:700;line-height:1.1}.identity .row{margin-top:8px}.identity .chip{color:var(--brand-ink)}.identity .btn{color:var(--brand-ink);background:0 0;border-color:#ffffff73}.identity .btn:hover:not(:disabled){background:#ffffff1f}.country-list{grid-template-columns:1fr;gap:6px;display:grid}.country-btn{text-align:left;justify-content:space-between;min-height:46px;font-weight:600}.vote-buttons{grid-template-columns:1fr;gap:8px;display:grid}.vote-btn{border-width:2px;min-height:64px;font-size:1.25rem}.vote-btn.yes{color:var(--yes);border-color:var(--yes)}.vote-btn.no{color:var(--no);border-color:var(--no)}.vote-btn.abstain{color:var(--abstain);border-color:var(--abstain)}.vote-btn.picked.yes,.vote-btn.picked.yes:hover:not(:disabled){background:var(--yes);color:var(--surface)}.vote-btn.picked.no,.vote-btn.picked.no:hover:not(:disabled){background:var(--no);color:var(--surface)}.vote-btn.picked.abstain,.vote-btn.picked.abstain:hover:not(:disabled){background:var(--abstain);color:var(--surface)}.vote-btn:disabled{border-color:var(--line);color:var(--muted)}.outcome{letter-spacing:.1em;border-radius:var(--radius);text-transform:uppercase;border:2px solid;padding:2px 12px;font-size:.8rem;font-weight:800;display:inline-block}.outcome.passed{color:var(--yes)}.outcome.failed{color:var(--no)}.outcome.vetoed{color:var(--abstain)}.tallies{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);display:grid}.tally{text-align:center;color:var(--muted);border-left:1px solid var(--line);padding:10px 4px;font-size:.75rem}.tally:first-child{border-left:0}.tally b{color:var(--ink);font-size:1.6rem;line-height:1.1;display:block}.tally.yes b{color:var(--yes)}.tally.no b{color:var(--no)}.tally.abstain b{color:var(--abstain)}details summary{cursor:pointer;padding:4px 0;font-size:.9rem;font-weight:600}.names{color:var(--muted);margin-top:4px;font-size:.9rem}.result-title{font-family:var(--serif);font-size:1.2rem;font-weight:700}.statusbar{flex-wrap:wrap;align-items:center;gap:18px;padding:10px 16px;display:flex}.stat{flex-direction:column;line-height:1.15;display:flex}.stat+.stat{border-left:1px solid var(--line);padding-left:18px}.stat b{font-size:1.5rem}.stat span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.tabs{border-bottom:2px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tab{appearance:none;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:.92rem;font-weight:700}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .input{flex:200px;width:auto;min-height:40px}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.roll{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr;column-gap:24px;padding:0 12px;display:grid}.roll-row{border-bottom:1px solid var(--line);grid-template-columns:9px minmax(0,1fr) 216px 52px;align-items:center;gap:10px;padding:6px 0;display:grid}.roll-row .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.roll-row .name .chip{vertical-align:1px;margin-left:8px}.seg{grid-template-columns:repeat(3,1fr);display:grid}.seg button{appearance:none;border:1px solid var(--line-strong);background:var(--surface);min-height:30px;color:var(--muted);cursor:pointer;border-radius:0;margin-left:-1px;padding:4px;font-size:.8rem;font-weight:600}.seg button:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.seg button:last-child{border-radius:0 var(--radius) var(--radius) 0}.seg button:hover{color:var(--ink);background:var(--surface-2)}.seg button.on{z-index:1;background:var(--surface-2);border-color:var(--ink);color:var(--ink);font-weight:700;position:relative}.seg button.on.present{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.seg button.on.pv{background:var(--yes);border-color:var(--yes);color:var(--surface)}.vote-row{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 0;display:flex}.vote-row>button{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:32px;padding:4px 0;font-weight:600;display:flex}.seg4{grid-template-columns:repeat(4,1fr);gap:6px;padding-bottom:4px;display:grid}.cols{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}.sticky{z-index:5;position:sticky;top:8px}.open-banner{border-left:4px solid var(--accent)}body.screen{cursor:none;overflow:hidden}.stage{flex-direction:column;gap:3vh;min-height:calc(100vh - 96px);padding:3.5vh 3.5vw;display:flex}.appbar.big{padding:1.6vh 3.5vw}.appbar.big .logo{height:clamp(56px,10vh,110px)}.appbar.big h1{font-size:clamp(1.6rem,3.2vw,3.2rem)}.appbar.big .subtitle{font-size:clamp(.95rem,1.5vw,1.6rem)}.pill{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.08em;border:2px solid #ffffff80;padding:.5vh 1.4vw;font-size:clamp(1rem,1.6vw,1.7rem);font-weight:700}.pill.open{border-color:var(--yes);color:var(--yes)}.join-layout{flex:1;grid-template-columns:minmax(260px,28vw) 1fr;align-items:start;gap:4vw;display:grid}.qr{background:#fff;padding:14px;line-height:0}.qr svg{width:100%;height:auto}.url{word-break:break-all;margin-top:2vh;font-size:clamp(1.1rem,2vw,2rem);font-weight:700}.bigmsg{color:var(--muted);font-size:clamp(1.1rem,2vw,2rem)}.bigmsg b{color:var(--ink)}.chips{grid-template-columns:repeat(auto-fill,minmax(15vw,1fr));gap:.8vh .8vw;display:grid}.chips .chip{text-transform:none;letter-spacing:0;color:var(--muted);border-color:var(--line);text-overflow:ellipsis;padding:.5vh .8vw;font-size:clamp(.8rem,1.2vw,1.3rem);font-weight:600;line-height:1.3;overflow:hidden}.chips .chip.joined{color:var(--ink);border-color:var(--line-strong)}.chips .chip.present{color:var(--ink);border-color:var(--yes);border-left-width:5px}.big-count{font-size:clamp(4rem,14vw,13rem);font-weight:800;line-height:1}.vote-title{font-family:var(--serif);font-size:clamp(2rem,4.8vw,4.8rem);font-weight:700;line-height:1.12}.result-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:1.4vw;min-height:0;display:grid}.result-col{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--line-strong);min-height:0;padding:1.4vh 1.2vw;overflow:hidden}.result-col.yes{border-top-color:var(--yes)}.result-col.no{border-top-color:var(--no)}.result-col.abstain{border-top-color:var(--abstain)}.result-col h3{color:var(--ink);margin-bottom:1vh;font-size:clamp(.85rem,1.3vw,1.3rem)}.result-col ul{columns:1;margin:0;padding:0;font-size:clamp(.9rem,1.6vw,1.7rem);line-height:1.5;list-style:none}.result-col ul.many{columns:2;font-size:clamp(.8rem,1.25vw,1.3rem)}.outcome.huge{border-width:4px;padding:0 2vw;font-size:clamp(2rem,5.5vw,5.5rem)}.conn{border:1px solid var(--no);color:var(--no);background:var(--surface);z-index:10;padding:4px 10px;font-size:.8rem;position:fixed;bottom:10px;right:12px}@media (width>=560px){.vote-buttons{grid-template-columns:repeat(3,1fr)}.country-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.cols{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.roll{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.roll-row{grid-template-columns:9px minmax(0,1fr) 190px 46px;gap:8px}.logo{height:46px}.appbar{gap:10px}}@media (width<=800px){.join-layout{grid-template-columns:1fr}.result-grid{grid-template-columns:repeat(2,1fr)}}
