:root{--accent: #2563eb;--accent-ink: #ffffff;--ink: #111111;--muted: #666666;--paper: #ffffff;--sunk: #f6f6f6;--rule: #e5e5e5;--danger: #b00020;--ok: #1b5e20;--step: .5rem;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-figures: ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 6px;--measure: 34rem;--touch: 44px}@media(prefers-color-scheme:dark){:root{--ink: #f2f2f2;--muted: #a0a0a0;--paper: #121212;--sunk: #1c1c1c;--rule: #2e2e2e;--danger: #ff6b6b;--ok: #7bd389}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;padding:0 calc(var(--step) * 2);font-family:var(--font);font-size:1rem;line-height:1.5;color:var(--ink);background:var(--paper)}.page{max-width:var(--measure);margin:0 auto;padding-bottom:calc(var(--step) * 20)}h1,h2,h3{line-height:1.25;margin:calc(var(--step) * 3) 0 var(--step)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.0625rem}input,select,textarea,button{font:inherit;font-size:max(1rem,16px)}input,select,textarea{width:100%;min-height:var(--touch);padding:0 calc(var(--step) * 1.5);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink)}button{min-height:var(--touch);min-width:var(--touch);padding:0 calc(var(--step) * 2);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink);cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.error{color:var(--danger)}.muted{color:var(--muted)}.figures{font-family:var(--font-figures);font-variant-numeric:tabular-nums}.stack>*+*{margin-top:calc(var(--step) * 2)}.plain-list{list-style:none;margin:0;padding:0}.field>label{display:block;margin-bottom:calc(var(--step) / 2);font-weight:600}.field+.field{margin-top:calc(var(--step) * 2)}.spread{justify-content:space-between}.row-card{display:flex;align-items:center;gap:calc(var(--step) * 1.5);min-height:var(--touch);padding:var(--step);border:1px solid var(--rule);border-radius:var(--radius)}.sticky-bar{position:sticky;bottom:0;padding:calc(var(--step) * 1.5) 0;padding-bottom:calc(var(--step) * 1.5 + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule)}.ranked-list>li+li,.add-list>li+li{margin-top:var(--step)}.ranked-item{background:var(--paper)}.ordinal{flex:0 0 auto;display:grid;place-items:center;width:calc(var(--step) * 4);height:calc(var(--step) * 4);border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:600}.candidate-name{flex:1 1 auto;min-width:0}.row-controls{flex:0 0 auto;display:flex;gap:calc(var(--step) / 2)}.add-row>button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}.add-mark{font-size:1.25rem;line-height:1}.submit-bar>.submit{width:100%}.progress{margin:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.receipt-token{padding:calc(var(--step) * 1.5);border:1px solid var(--rule);border-radius:var(--radius);background:var(--sunk);word-break:break-all}.masthead{display:flex;align-items:center;gap:calc(var(--step) * 1.5)}.masthead h1{margin:0;min-width:0}.society-list>li+li{margin-top:var(--step)}.society-card{display:flex;align-items:center;gap:calc(var(--step) * 1.5);min-height:var(--touch);min-width:0;padding:calc(var(--step) * 1.5);border:1px solid var(--rule);border-radius:var(--radius);color:inherit;text-decoration:none}.society-card:hover{border-color:var(--accent);background:var(--sunk)}.society-logo{flex:0 0 auto;width:calc(var(--step) * 6);height:calc(var(--step) * 6);object-fit:contain}.society-text{display:flex;flex-direction:column;min-width:0}.society-title{font-weight:600}.society-slug{font-size:.875rem}.agenda-list>li+li{margin-top:var(--step)}.agenda-name{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.agenda-seats{font-size:.875rem}.link-button{min-height:var(--touch);padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline}
