@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background-warm:#e9e7e2;--live-green:#30d158;--near-white-surface:#fbfbfd;--surface-white:#fff;--ink-primary:#1d1d1f;--ink-secondary:#424245;--ink-tertiary:#6e6e73;--ink-quaternary:#86868b;--root-ink:#272c35;--hairline:#e5e5ea;--bg:var(--background-warm);--ink:var(--ink-primary);--muted:var(--ink-secondary);--line:var(--hairline);--panel:var(--near-white-surface);--font-display:"Instrument Serif", Georgia, serif;--font-body:Geist, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, monospace;--radius-micro:2px;--radius-card:20px;--radius-pill:980px;--space-xs:4px;--space-sm:8px;--space-md-sm:12px;--space-md:16px;--space-md-lg:20px;--space-lg:32px;--space-xl:40px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--space-5xl:120px;--space-6xl:128px;--space-7xl:136px;--z-sticky:10;--z-dropdown:20;--z-modal-backdrop:30;--z-modal:40;--z-toast:50;--z-tooltip:60;--ease-out:cubic-bezier(.22, 1, .36, 1);font-family:var(--font-body);color:var(--ink);background:var(--bg);font-synthesis:none;font-optical-sizing:auto;font-kerning:normal;-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{padding-bottom:env(safe-area-inset-bottom);margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;color:var(--ink-secondary);background:var(--hairline);border-color:var(--hairline)}a{color:inherit;text-decoration:none}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}p{text-wrap:pretty;max-width:70ch}h1{font-family:var(--font-display);letter-spacing:-.022em;font-size:3.5rem;font-weight:400;line-height:1.04}h1 em{letter-spacing:-.012em;font-weight:400}h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:2rem;font-weight:400;line-height:1.15}h3{font-size:1.125rem;font-weight:500;line-height:1.3}small{font-size:.8125rem;line-height:1.5}img{max-width:100%;display:block}button svg,a svg{flex-shrink:0}time,.candidate-votes,.candidate-percentage,.leader-numbers,dd{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{top:-100px;left:var(--space-md);z-index:var(--z-tooltip);background:var(--ink);color:var(--surface-white);padding:var(--space-md);position:fixed}.skip-link:focus{top:var(--space-md)}.site-header{border-bottom:1px solid color-mix(in srgb, var(--ink) 16%, transparent)}.header-inner{max-width:1440px;padding:0 var(--space-md-lg);align-items:center;gap:0 var(--space-md);flex-wrap:wrap;min-height:84px;margin:auto;display:flex}.brand{flex-shrink:0;align-items:center;display:flex}.brand-logo{object-fit:contain;width:192px;height:64px}nav{align-items:center;gap:var(--space-md-lg);border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);order:3;width:100%;min-height:52px;display:flex}nav a{align-items:center;gap:var(--space-sm);letter-spacing:-.005em;min-height:44px;color:var(--ink-secondary);flex-wrap:wrap;font-size:.8125rem;font-weight:500;line-height:1.6;display:flex;position:relative}nav a.nav-active{color:var(--ink)}nav a.nav-active:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:4px;left:0;right:0}.nav-coming-soon{color:var(--ink-secondary);border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-radius:var(--radius-pill);padding:2px 6px;font-size:.6875rem;line-height:1.5}.account{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex;position:relative}.account-name{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.8125rem;display:none;overflow:hidden}.google-sign-in{position:relative}.google-label{display:none}.sign-in-error{color:var(--ink-secondary);max-width:32ch;margin-top:var(--space-sm);font-size:.8125rem}.account .sign-in-error{background:var(--surface-white);border:1px solid var(--ink);padding:var(--space-md);min-width:260px;z-index:var(--z-dropdown);position:absolute;top:100%;right:0}.button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-md-sm) var(--space-md-lg);border:1px solid var(--ink);border-radius:var(--radius-micro);text-align:center;transition:color .18s var(--ease-out), background-color .18s var(--ease-out), border-color .18s var(--ease-out);background:0 0;font-size:.875rem;font-weight:500;line-height:1.3;display:inline-flex}.button:hover:not(:disabled),.button.primary{background:var(--ink);color:var(--surface-white)}.button.primary:hover:not(:disabled){background:var(--root-ink);border-color:var(--root-ink)}.button.primary:disabled{color:var(--ink-secondary);background:var(--hairline);border-color:var(--hairline)}.button.subtle,.header-sign-in{border-color:#0000}.button.subtle:hover:not(:disabled),.header-sign-in:hover:not(:disabled){background:var(--hairline);color:var(--ink)}.icon-button{border:1px solid var(--line);border-radius:var(--radius-micro);min-width:44px;min-height:44px;transition:background-color .18s var(--ease-out), color .18s var(--ease-out);background:0 0;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--ink);color:var(--surface-white)}.badge{align-items:center;gap:var(--space-sm);border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-radius:var(--radius-pill);min-height:28px;padding:3px var(--space-md-sm);white-space:nowrap;font-size:.75rem;font-weight:500;display:inline-flex}.page{max-width:1440px;padding:var(--space-xl) var(--space-md-lg) var(--space-3xl);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-md-lg);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-heading>div:first-child{min-width:0}.page-heading p{margin-top:var(--space-md-sm);color:var(--ink-secondary);font-size:1rem}.election-heading .election-context{letter-spacing:-.011em;font-size:1.375rem;line-height:1.5}.election-context span{color:var(--ink-secondary);margin:0 var(--space-xs)}.heading-meta{align-items:flex-start;gap:var(--space-sm);padding-bottom:var(--space-xs);color:var(--ink-secondary);flex-direction:column;font-size:.8125rem;display:flex}.source-label{align-items:center;gap:var(--space-sm);color:var(--ink);font-weight:500;display:inline-flex}.source-dot,.state-dot{background:var(--ink-tertiary);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.source-label.is-live .source-dot,.state-dot.enabled{background:var(--live-green)}.results-sheet{background:var(--panel);border-radius:var(--radius-card)}.filters{padding:var(--space-md-lg);border-bottom:1px solid var(--line)}.filter-caption{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--ink-secondary);font-size:.8125rem;display:flex}.filter-fields{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-fields>.select-field:first-child{grid-column:auto}label{gap:var(--space-sm);color:var(--ink-secondary);flex-direction:column;min-width:0;font-size:.8125rem;font-weight:500;display:flex}select{width:100%;min-width:0;min-height:44px;padding:9px var(--space-md-sm);border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);border-radius:var(--radius-micro);background:var(--surface-white);color:var(--ink);text-overflow:ellipsis;font-size:.875rem;font-weight:400}select:hover:not(:disabled){border-color:var(--ink)}select:disabled{color:var(--ink-secondary);background:var(--line);border-color:var(--line);cursor:not-allowed}.select-field{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-md-sm);width:100%;min-height:48px;padding:10px var(--space-md-sm);border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);border-radius:var(--radius-micro);background:var(--surface-white);color:var(--ink);text-align:left;font-size:.875rem;font-weight:400;transition:border-color .16s ease-out;display:flex}.select-trigger:hover:not(:disabled),.select-trigger[aria-expanded=true]{border-color:var(--ink)}.select-trigger>svg{flex-shrink:0;transition:transform .16s ease-out}.select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.select-value{align-items:center;gap:var(--space-md-sm);min-width:0;display:flex}.select-trigger .select-value>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-flag{object-fit:contain;flex:0 0 24px;width:24px;height:18px}.select-popup{z-index:var(--z-dropdown);padding:var(--space-xs);border:1px solid var(--ink);border-radius:var(--radius-micro);background:var(--surface-white);color:var(--ink);flex-direction:column;display:flex;position:fixed}.select-search{align-items:center;gap:var(--space-sm);min-height:48px;margin:0 var(--space-sm) var(--space-xs);border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.select-search svg{color:var(--ink-secondary);flex-shrink:0}.select-search input{background:0 0;border:0;width:100%;min-width:0;min-height:44px;font-size:.875rem}.select-search input:focus-visible{outline-offset:-2px}.select-options{overscroll-behavior:contain;min-height:0;overflow-y:auto}.select-option{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-sm) var(--space-md-sm);border-radius:var(--radius-micro);text-align:left;background:0 0;border:0;font-size:.875rem;font-weight:400;line-height:1.5;display:flex}.select-option>svg{flex-shrink:0}.select-option.is-active{background:var(--bg)}.select-option[aria-selected=true]{font-weight:500}.select-hint{padding:var(--space-md-sm);color:var(--ink-secondary);font-size:.8125rem}.election-report{flex-direction:column;display:flex}.report-main{min-width:0}.leader-comparison{padding:var(--space-lg) var(--space-md-lg) 0}.comparison-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.comparison-heading h2{font-family:var(--font-body);letter-spacing:-.014em;font-size:1.5rem;font-weight:500;line-height:1.25}.comparison-heading>span{color:var(--ink-secondary);font-size:.8125rem}.leader-grid{gap:var(--space-lg);margin:0;padding:0;list-style:none;display:grid}.leader-grid li{min-width:0}.leader-grid li+li{padding-top:var(--space-lg);border-top:1px solid var(--line)}.leader-person{align-items:center;gap:var(--space-md);display:flex}.candidate-photo{background:var(--bg);width:44px;height:52px;color:var(--ink-secondary);border-radius:var(--radius-micro);font-family:var(--font-display);flex-shrink:0;place-items:center;font-size:1.5rem;display:grid;position:relative;overflow:hidden}.candidate-photo img{object-fit:cover;object-position:center 20%;width:100%;height:100%;position:absolute;inset:0}.featured-photo{width:88px;height:104px;font-size:3.5rem}.leader-identity{min-width:0}.leader-identity h3{font-family:var(--font-display);letter-spacing:-.015em;overflow-wrap:anywhere;font-size:2rem;font-weight:400;line-height:1.06}.leader-position{color:var(--ink-secondary);margin-bottom:var(--space-sm);font-size:.75rem;display:block}.leader-identity p{margin-top:var(--space-sm);color:var(--ink-secondary);font-size:.8125rem}.leader-identity p span{padding:0 var(--space-xs)}.leader-numbers{align-items:baseline;gap:var(--space-sm) var(--space-md);margin-top:var(--space-md-lg);flex-wrap:wrap;display:flex}.leader-numbers>strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:4rem;font-weight:400;line-height:1}.leader-numbers>span{font-family:var(--font-mono);color:var(--ink-secondary);font-size:.875rem}.vote-track{background:var(--line);border-radius:var(--radius-micro);width:100%;height:6px;margin-top:var(--space-md-sm);overflow:hidden}.vote-track>span{background:var(--ink);height:100%;transition:width .2s var(--ease-out);display:block}.leader-grid .vote-track{height:8px;margin-top:var(--space-md)}.leader-grid li+li .vote-track>span{background:var(--ink-tertiary)}.official-status{color:var(--ink-secondary);margin-top:var(--space-sm);font-size:.75rem;display:inline-block}.vote-difference{gap:var(--space-md);padding:var(--space-lg) 0;align-items:center;display:flex}.vote-difference:before,.vote-difference:after{content:"";background:var(--line);flex:1;height:1px}.vote-difference p{text-align:center;max-width:42ch;font-size:.875rem;line-height:1.6}.vote-difference strong{font-weight:500}.comparison-empty{padding:var(--space-md) 0 var(--space-xl)}.comparison-empty h3{font-family:var(--font-display);margin-bottom:var(--space-md-sm);font-size:2rem;font-weight:400}.comparison-empty p{color:var(--ink-secondary);max-width:48ch}.ranking{margin:0 var(--space-md-lg);border-top:1px solid var(--line)}.ranking-tools{padding:var(--space-lg) 0 var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.ranking-tools h2{align-items:center;gap:var(--space-md-sm);font-size:1.75rem;display:flex}.candidate-count{font-family:var(--font-mono);color:var(--ink-secondary);border:1px solid var(--line);text-align:center;border-radius:var(--radius-pill);min-width:28px;padding:2px 6px;font-size:.8125rem}.search-input{align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--ink-secondary);flex-direction:row;width:100%;min-height:44px}.search-input input{width:100%;min-width:0;min-height:44px;padding:var(--space-sm) 0;background:0 0;border:0;font-size:.875rem}input::placeholder{color:var(--ink-secondary);opacity:1}.search-input:focus-within{border-bottom-color:var(--ink)}.ranking-columns,.candidate-list li{gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto;display:grid}.ranking-columns{padding:var(--space-md-sm) 0;border-bottom:1px solid var(--line);color:var(--ink-secondary);font-size:.75rem}.ranking-columns span:nth-child(2){display:none}.ranking-columns span:last-child{text-align:right}.candidate-list{margin:0;padding:0;list-style:none}.candidate-list li{padding:var(--space-md-lg) 0;border-bottom:1px solid var(--line);align-items:center}.candidate-person{align-items:center;gap:var(--space-md-sm);min-width:0;display:flex}.rank-position{font-family:var(--font-mono);color:var(--ink-secondary);min-width:16px;font-size:.75rem;display:none}.candidate-name{min-width:0}.candidate-name strong{overflow-wrap:anywhere;font-size:.9375rem;font-weight:500;line-height:1.35;display:block}.candidate-name p{color:var(--ink-secondary);margin-top:var(--space-xs);font-size:.75rem}.candidate-name p span{padding:0 var(--space-xs)}.candidate-name small{font-size:.75rem;display:block}.candidate-votes{font-family:var(--font-mono);color:var(--ink-secondary);grid-area:2/1;margin-left:56px;font-size:.75rem;font-weight:400}.candidate-percentage{text-align:right;grid-area:1/2/3;width:82px}.candidate-percentage strong{font-size:1rem;font-weight:500}.candidate-percentage .vote-track{margin-top:var(--space-sm);height:3px}.pagination{padding:var(--space-md-lg) 0;justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--ink-secondary);font-size:.8125rem;display:flex}.pagination-controls{gap:var(--space-sm);display:flex}.empty-results{padding:var(--space-lg) 0}.empty-results h3{margin-bottom:var(--space-sm);font-size:1.125rem}.empty-results p{color:var(--ink-secondary);max-width:55ch}.empty-results .button{margin-top:var(--space-md)}.tally-summary{padding:var(--space-lg) var(--space-md-lg);border-top:1px solid var(--line)}.tally-summary h2{margin-bottom:var(--space-md-lg)}.progress-heading{align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;display:flex}.progress-heading strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:3rem;font-weight:400;line-height:1}.progress-heading span{color:var(--ink-secondary);font-size:.8125rem}progress{appearance:none;border-radius:var(--radius-micro);background:var(--line);width:100%;height:6px;color:var(--ink);margin-top:var(--space-md);border:none;display:block}progress::-webkit-progress-bar{background:var(--line);border-radius:var(--radius-micro)}progress::-webkit-progress-value{background:var(--ink);border-radius:var(--radius-micro)}progress::-moz-progress-bar{background:var(--ink);border-radius:var(--radius-micro)}.section-count{font-family:var(--font-mono);color:var(--ink-secondary);margin-top:var(--space-md-sm);font-size:.6875rem;line-height:1.6}.finished-label{margin-top:var(--space-md);font-size:.8125rem;font-weight:500;display:inline-block}.official-update{gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md-lg) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.official-update>span{color:var(--ink-secondary);font-size:.8125rem}.official-update time{font-family:var(--font-mono);font-size:.8125rem}.vote-totals{gap:var(--space-md);padding:var(--space-md-lg) 0;border-bottom:1px solid var(--line);flex-direction:column;margin:0;display:flex}.vote-totals div{justify-content:space-between;gap:var(--space-md-sm);display:flex}.vote-totals dt{color:var(--ink-secondary);font-size:.875rem}.vote-totals dd{font-family:var(--font-mono);margin:0;font-size:.8125rem}.collection-time{margin-top:var(--space-md-lg);color:var(--ink-secondary);font-size:.75rem}.collection-time time{font-family:var(--font-mono);font-size:.6875rem}.official-note{margin:var(--space-md) 0;color:var(--ink-secondary);font-size:.8125rem}.text-link{align-items:center;gap:var(--space-sm);text-underline-offset:4px;min-height:44px;font-size:.875rem;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--root-ink)}.history-section{padding:var(--space-lg) var(--space-md-lg)}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-md-lg);margin-bottom:var(--space-md-lg);flex-wrap:wrap;display:flex}.section-heading p{color:var(--ink-secondary);margin-top:var(--space-sm);font-size:.875rem}.segmented{border-bottom:1px solid var(--line);gap:var(--space-xs);flex-wrap:wrap;display:inline-flex}.segmented button{min-height:44px;padding:var(--space-sm) var(--space-md-sm);color:var(--ink-secondary);transition:background-color .18s var(--ease-out);background:0 0;border:0;border-bottom:2px solid #0000;font-size:.8125rem}.segmented button:hover{background:var(--line)}.segmented button.selected{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.chart-candidate-picker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--space-md)}.chart-candidate-picker summary{cursor:pointer;min-height:44px;padding:var(--space-md-sm) 0;font-size:.875rem}.chart-candidate-picker summary>span{margin-left:var(--space-sm);color:var(--ink-secondary);font-size:.75rem}.candidate-selection{gap:var(--space-sm) var(--space-md-lg);padding-bottom:var(--space-md);flex-wrap:wrap;display:flex}.candidate-selection label{align-items:center;gap:var(--space-sm);cursor:pointer;flex-direction:row;min-height:44px;font-size:.8125rem;font-weight:400;display:inline-flex}.candidate-selection input{width:16px;height:16px;accent-color:var(--ink);margin:0}.candidate-selection label:has(input:disabled){cursor:not-allowed}.chart-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.chart-legend{gap:var(--space-sm) var(--space-md-lg);margin:0 0 var(--space-md);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--space-sm);font-size:.75rem;display:flex}.chart-area{min-height:280px;font-family:var(--font-body);font-size:.75rem}.chart-area .recharts-default-tooltip{border-radius:var(--radius-micro);font-size:.8125rem}.chart-empty{justify-content:center;align-items:center;gap:var(--space-md-lg);min-height:280px;padding:var(--space-md-lg);text-align:center;color:var(--ink-secondary);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.chart-empty p{max-width:40ch;font-size:.875rem}.chart-empty-line{border-bottom:1px solid var(--ink-tertiary);border-top:1px solid var(--line);width:100px;height:36px}.chart-bottom{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-md);flex-wrap:wrap;display:flex}.chart-bottom p{font-family:var(--font-mono);color:var(--ink-secondary);font-size:.6875rem}.history-data{border-top:1px solid var(--line);margin-top:var(--space-md);padding-top:var(--space-xs)}.history-data summary{cursor:pointer;min-height:44px;padding:var(--space-md-sm) 0;font-size:.8125rem}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}caption{text-align:left;padding:var(--space-md) 0;color:var(--ink-secondary);font-size:.8125rem}th{color:var(--ink-secondary);background:var(--panel);font-weight:500}th,td{padding:var(--space-md) var(--space-md-sm);border-bottom:1px solid var(--line);vertical-align:top}td small{color:var(--ink-secondary);margin-top:var(--space-xs);font-size:.75rem;display:block}.mandate-preview{gap:var(--space-lg);margin-top:var(--space-md-lg);padding:var(--space-lg) var(--space-md-lg);background:var(--panel);border-radius:var(--radius-card);scroll-margin-top:var(--space-md-lg);flex-direction:column;display:flex}.mandate-message{min-width:0}.mandate-message .badge{margin-bottom:var(--space-md)}.mandate-message h2{letter-spacing:-.022em;font-size:2.5rem;line-height:1.08}.mandate-message h2 em{letter-spacing:-.012em}.mandate-message>p{color:var(--ink-secondary);margin-top:var(--space-md-sm);font-size:1.125rem}.mandate-context{padding-top:var(--space-md-lg);border-top:1px solid var(--line);color:var(--ink-secondary)}.mandate-context svg{margin-bottom:var(--space-md)}.mandate-context p{max-width:38ch;font-size:.9375rem}.mandate-context>span{margin-top:var(--space-md);font-size:.8125rem;display:block}.site-footer{max-width:1440px;padding:var(--space-lg) var(--space-md-lg) var(--space-xl);border-top:1px solid color-mix(in srgb, var(--ink) 16%, transparent);gap:var(--space-md-lg);flex-direction:column;align-items:flex-start;margin:0 auto;display:flex}.footer-identity .brand-logo{width:150px;height:50px}.footer-identity p{color:var(--ink-secondary);font-size:.8125rem}.footer-source p{font-size:.875rem}.footer-source span{margin-top:var(--space-xs);color:var(--ink-secondary);max-width:50ch;font-size:.75rem;display:block}.footer-links{gap:var(--space-md-lg);display:flex}.footer-links a{text-underline-offset:4px;align-items:center;min-height:44px;font-size:.8125rem;text-decoration:underline;display:flex}.admin-badge{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-radius:var(--radius-pill);font-size:.8125rem;display:inline-flex}.admin-controls,.operations-section{background:var(--panel);border-radius:var(--radius-card);padding:var(--space-lg) var(--space-md-lg)}.admin-control-top{gap:var(--space-md-lg);flex-direction:column;display:flex}.collection-state{align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.collection-state strong{font-size:1rem;font-weight:500}.collection-state small{width:100%;margin-left:var(--space-md);color:var(--ink-secondary)}.admin-actions{gap:var(--space-md-sm);border-top:1px solid var(--line);margin-top:var(--space-lg);padding-top:var(--space-lg);flex-wrap:wrap;display:flex}.admin-actions .button{flex:200px}.admin-notice{background:var(--surface-white);border:1px solid var(--ink-secondary);padding:var(--space-md);margin-top:var(--space-md);font-size:.875rem}.admin-notice.error{color:var(--ink);background:#f9efeb;border-color:#986a50}.operations-section{margin-top:var(--space-md-lg)}.operations-section table{min-width:780px}.operations-section th:first-child,.operations-section td:first-child{padding-left:0}.operations-section summary{cursor:pointer;min-height:44px}.operation-status{align-items:center;gap:var(--space-sm);border:1px solid var(--line);padding:3px var(--space-sm);border-radius:var(--radius-pill);white-space:nowrap;font-size:.75rem;display:inline-flex}.operation-status.running:before{content:"";background:var(--live-green);border-radius:50%;width:6px;height:6px}.operation-status.failed,.operation-status.interrupted{background:#f9efeb;border-color:#986a50}.operation-errors{max-width:50ch;padding-left:var(--space-md-lg);color:var(--ink-secondary);line-height:1.6}.login-panel{gap:var(--space-lg);padding-top:var(--space-3xl);flex-direction:column;display:flex}.login-introduction{min-width:0}.login-introduction .badge{margin-bottom:var(--space-md-lg)}.login-introduction h1{max-width:12ch;font-size:3.5rem}.login-introduction>p{color:var(--ink-secondary);margin-top:var(--space-md-lg);max-width:38ch;font-size:1.125rem}.login-content{background:var(--panel);border-radius:var(--radius-card);padding:var(--space-lg);align-items:flex-start;gap:var(--space-md-lg);flex-direction:column;display:flex}.login-content h2{font-size:2rem}.login-content p{color:var(--ink-secondary)}.login-content .google-label{display:inline}.login-content .button{min-height:48px}.login-note{border-top:1px solid var(--line);padding-top:var(--space-md-lg);width:100%;font-size:.8125rem}.login-note a{text-underline-offset:4px;text-decoration:underline}.empty{text-align:center}.page-state{justify-content:center;align-items:center;gap:var(--space-md-lg);flex-direction:column;min-height:65vh;display:flex}.page-state h1{max-width:16ch}.page-state p{color:var(--ink-secondary);max-width:45ch}.page-state a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.skeleton-row{align-items:center;gap:var(--space-md);padding:var(--space-md-lg) 0;border-bottom:1px solid var(--line);display:flex}.skeleton-row span,.skeleton-row div,.skeleton-row i,.skeleton-leader{background:var(--line);border-radius:var(--radius-micro);animation:1.5s ease-in-out infinite pending-pulse}.skeleton-row span{width:44px;height:52px}.skeleton-row div{flex:1;height:20px}.skeleton-row i{width:68px;height:20px}.leader-skeleton{gap:var(--space-lg);padding-bottom:var(--space-lg);display:grid}.skeleton-leader{min-height:180px}.spinning{animation:1s linear infinite spin}@keyframes pending-pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=640px){.page{padding:var(--space-2xl) var(--space-lg) var(--space-3xl)}.header-inner{padding:0 var(--space-lg)}.account-name,.google-label{display:inline}.leader-grid,.leader-skeleton{gap:var(--space-md-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.leader-grid li+li{padding-top:0;padding-left:var(--space-md-lg);border-top:0;border-left:1px solid var(--line)}.leader-person{align-items:flex-start}.featured-photo{width:76px;height:96px}.leader-numbers{flex-direction:column;align-items:flex-start}.leader-identity h3{font-size:1.875rem}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-fields>.select-field:first-child{grid-column:auto}.ranking-columns,.candidate-list li{grid-template-columns:minmax(0,1fr) 125px 100px}.ranking-columns span:nth-child(2){justify-content:flex-end;align-items:center;gap:var(--space-xs);display:inline-flex}.rank-position{display:block}.candidate-votes{text-align:right;color:var(--ink);grid-area:auto;margin-left:0;font-size:.8125rem}.candidate-percentage{grid-area:auto;width:auto}.mobile-votes-label{display:none}.search-input{max-width:250px}.filters,.leader-comparison,.history-section,.tally-summary{padding-left:var(--space-lg);padding-right:var(--space-lg)}.ranking{margin-left:var(--space-lg);margin-right:var(--space-lg)}.mandate-preview{padding:var(--space-lg)}.site-footer{padding-left:var(--space-lg);padding-right:var(--space-lg)}.admin-controls,.operations-section{padding:var(--space-lg)}.admin-control-top{grid-template-columns:minmax(0,1fr) 180px;display:grid}.collection-state{grid-column:1/-1}}@media (width>=900px){.header-inner{gap:var(--space-xl);flex-wrap:nowrap;min-height:88px}nav{gap:var(--space-lg);border-top:none;order:0;width:auto;min-height:88px}nav a.nav-active:after{bottom:0}nav a{min-height:88px}.page-heading{margin-bottom:var(--space-xl)}h1{letter-spacing:-.022em;font-size:5.5rem;line-height:1.04}.heading-meta{align-items:flex-end}.filter-fields{grid-template-columns:minmax(160px,1.3fr) minmax(120px,.7fr) minmax(160px,1.2fr) minmax(120px,1fr)}.election-report{grid-template-columns:minmax(0,1fr) 280px;display:grid}.tally-summary{border-top:0;border-left:1px solid var(--line);padding-left:var(--space-md-lg);padding-right:var(--space-md-lg)}.tally-sticky{top:var(--space-lg);position:sticky}.progress-heading{align-items:flex-start;gap:var(--space-md-sm);flex-direction:column}.progress-heading strong{font-size:3.25rem}.ranking-columns,.candidate-list li{grid-template-columns:minmax(0,1fr) 105px 82px}.rank-position{display:none}.candidate-person{gap:var(--space-sm)}.leader-person{gap:var(--space-md-sm);flex-direction:column}.leader-numbers>strong{font-size:3.75rem}.mandate-preview{align-items:center;gap:var(--space-xl);flex-direction:row}.mandate-message{flex:2}.mandate-message h2{font-size:3.5rem}.mandate-context{padding-top:0;padding-left:var(--space-lg);border-top:0;border-left:1px solid var(--line);flex:1}.site-footer{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-direction:row}.footer-links{flex-direction:column;gap:0}.admin-control-top{grid-template-columns:minmax(220px,1.2fr) 160px minmax(220px,1fr);align-items:end}.collection-state{padding:0 0 var(--space-sm) var(--space-md-lg);border-top:0;border-left:1px solid var(--line);grid-column:auto}.admin-page h1{font-size:4.5rem}.login-panel{align-items:center;gap:var(--space-3xl);padding-top:var(--space-4xl);padding-bottom:var(--space-4xl);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.login-introduction h1{font-size:5rem}.login-content{padding:var(--space-xl)}}@media (width>=1200px){.page,.header-inner{padding-left:var(--space-xl);padding-right:var(--space-xl)}.election-report{grid-template-columns:minmax(0,1fr) 320px}.tally-summary{padding:var(--space-lg)}.leader-grid,.leader-skeleton{gap:var(--space-lg)}.leader-grid li+li{padding-left:var(--space-lg)}.leader-person{gap:var(--space-md);flex-direction:row}.leader-identity h3{font-size:2.125rem}.featured-photo{width:88px;height:112px}.leader-numbers>strong{font-size:4.5rem}.ranking-columns,.candidate-list li{grid-template-columns:minmax(0,1fr) 130px 110px}.rank-position{display:block}.candidate-person{gap:var(--space-md-sm)}.mandate-message h2{font-size:4rem}.site-footer{padding-left:var(--space-xl);padding-right:var(--space-xl)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.skeleton-row span,.skeleton-row div,.skeleton-row i,.skeleton-leader,.spinning{animation:none}}@media print{:root{background:#fff}.site-header,.filters,.ranking-tools .search-input,.segmented,.chart-candidate-picker,.pagination,.mandate-preview,.footer-links{display:none}.page{max-width:none;padding:0}.election-report{display:block}.results-sheet{background:#fff}.tally-summary{border-left:0;border-top:1px solid var(--line)}.tally-sticky{position:static}.leader-comparison,.candidate-list li,.tally-summary{break-inside:avoid}}
