.election-shell{padding-block:24px 40px}.election-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.election-head h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,4vw,2.8rem)}.election-head .eyebrow{margin:0 0 4px;font-size:.75rem}.election-shell button,.election-shell input,.election-shell select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:6px;min-height:44px;padding:9px 12px}.election-shell select,.election-shell input{width:100%;min-width:0}.election-shell label{gap:5px;min-width:0;font-size:.8rem;font-weight:600;display:grid}.election-shell :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.election-status{flex-wrap:wrap;gap:4px 16px;min-height:24px;margin:12px 0 20px;font-size:.8rem;display:flex}.election-status strong{color:var(--accent)}.contest-picker{grid-template-columns:minmax(180px,1fr) 150px minmax(230px,1.7fr);gap:12px;margin-bottom:20px;display:grid}.contest-choice{position:relative}#match-count{color:var(--muted);font-weight:400;position:absolute;top:0;right:0}.election-workspace{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);align-items:start;gap:28px;display:grid}#contests article{padding:8px 0}.contest-meta{color:var(--muted);margin:0 0 8px;font-size:.8rem}#contests h2{letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.15}.contest-summary{max-width:65ch;margin:0 0 20px;font-size:1rem;line-height:1.5}.vote-list{margin:12px 0;padding:0;list-style:none}.vote-list li{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex;position:relative}.vote-list li:last-child{border-bottom:1px solid var(--rule)}.vote-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.result-note{color:var(--muted);margin:12px 0 0;font-size:.8rem}.contest-details{margin-top:12px;font-size:.8rem}#region-status{margin:0 0 8px;font-size:.85rem}.election-sources{border-top:1px solid var(--rule);color:var(--muted);margin-top:24px;padding-top:10px;font-size:.8rem}.election-sources p{max-width:85ch}@media (width<=700px){.election-shell{padding-block:16px 24px}.election-status{min-height:40px;margin:8px 0 14px;font-size:.75rem}.contest-picker{grid-template-columns:minmax(0,1fr) 130px;gap:10px;margin-bottom:14px}.contest-choice{grid-column:1/-1}.election-workspace{grid-template-columns:1fr;gap:20px}#contests article{padding:8px 0}#contests{min-height:340px}.contest-summary{margin-bottom:8px;font-size:.85rem;line-height:1.4}#contests h2{margin-bottom:8px}.vote-list{margin:8px 0}}.batch-history{--comparison:#936caa;border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.batch-history h3{margin:0 0 8px;font-size:1rem}.trend-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.trend-panel svg{width:100%;height:auto;max-height:180px;color:var(--accent);display:block}.trend-value{margin:12px 0 4px;font-size:.85rem}.history-table-wrap{max-height:180px;margin-top:12px;overflow:auto}.history-table-wrap table{border-collapse:collapse;width:100%;font-size:.75rem}.history-table-wrap caption{text-align:left;padding-bottom:6px;font-weight:600}.history-table-wrap td,.history-table-wrap th{text-align:left;border-bottom:1px solid var(--rule);padding:7px}.history-table-wrap th{font-weight:600}.batch-empty{color:var(--muted);align-items:center;gap:12px;padding:8px 0;display:flex}.batch-empty p{margin:0;font-size:.85rem}.batch-empty-mark{color:var(--accent);font-size:1.8rem;line-height:1}.election-shell button:disabled{opacity:.45;cursor:default}.trend-value{font-size:1rem;font-weight:600;line-height:1.4}@media (width<=700px){#contests{min-height:500px}}.vote-share{background:var(--muted);opacity:.6;border-radius:2px;height:3px;position:absolute;bottom:0;left:0}#contests{min-height:100vh}.election-workspace{display:block}.contest-data-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;margin-top:20px;display:grid}.contest-data-grid .batch-history{border-top:0;border-left:1px solid var(--rule);min-width:0;margin:0;padding:0 0 0 24px}.contest-totals .vote-list li{padding:18px 0 22px}.contest-totals .vote-count{letter-spacing:-.025em;font-size:clamp(1.15rem,2vw,1.65rem)}.contest-totals .vote-share{background:var(--ink);opacity:.55;border-radius:4px;height:8px}.contest-explanation{margin:0 0 16px}.contest-explanation .contest-summary{max-width:90ch;margin:0}@media (width<=850px){.contest-data-grid{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:12px}.contest-data-grid .batch-history{border-left:0;border-top:1px solid var(--rule);padding:14px 0 0}.contest-totals .vote-count{font-size:1.2rem}}.batch-history>.trend-panel .trend-value{margin:0 0 6px}.batch-history>.trend-panel{margin-bottom:12px}.trend-view-toggle{gap:4px;margin-bottom:6px;display:flex}.trend-view-toggle button{font:inherit;padding:5px 12px;font-size:.8rem}.trend-view-toggle [aria-pressed=true]{background:var(--ink);color:var(--paper)}.trend-panel svg{max-height:210px}.history-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.history-heading h3,.history-heading .trend-view-toggle{margin:0}.trend-legend{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.trend-legend span:before{content:"";border-top:3px solid var(--series-color);vertical-align:middle;width:1.1rem;margin-right:.4rem;display:inline-block}.trend-legend small{font-weight:400}.chart-point-target{cursor:pointer;pointer-events:all}.chart-point-target:focus-visible{stroke:var(--ink);stroke-width:2px;stroke-dasharray:2 2;outline:none}.chart-point-popover{border:1px solid var(--rule);background:var(--paper);width:min(290px,100vw - 32px);max-height:calc(100dvh - 16px);color:var(--ink);border-radius:8px;margin:0;padding:14px;font-size:.85rem;line-height:1.4;position:fixed;inset:auto;overflow:auto;box-shadow:0 6px 24px #0003}.chart-point-popover p{margin:6px 0}.chart-point-popover button{margin-top:8px}#district-filter[hidden]{display:none}
