.historical-politics{--politics-ink:#101820;--politics-ink-deep:#0b1219;--politics-paper:#f3f5f2;--politics-muted:color-mix(in srgb, var(--politics-paper) 64%, transparent);--politics-rule:color-mix(in srgb, var(--politics-paper) 20%, transparent);width:100%;margin-block:var(--space-l);color:var(--ink);font-variant-numeric:lining-nums tabular-nums}.interactive-page__body .historical-politics{margin-block:0}.historical-politics__stage{overflow:hidden;border:1px solid var(--politics-ink);background:var(--politics-ink);color:var(--politics-paper)}.historical-politics__stage :focus-visible{outline:3px solid var(--politics-paper);outline-offset:3px}.historical-politics__header{display:grid;grid-template-columns:minmax(0,1fr)minmax(13rem,auto);align-items:end;gap:var(--space-s)var(--space-l);padding:var(--space-m);border-bottom:1px solid var(--politics-rule)}.historical-politics__header .meta-label,.historical-politics__coverage .meta-label{color:var(--politics-muted)}.historical-politics__header h2,.historical-politics__header h3{max-width:18ch;margin:var(--space-2xs)0 0;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:520;letter-spacing:-.035em;line-height:var(--leading-tight)}.historical-politics__coverage{max-width:30ch;margin:0;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.55;text-align:right}.historical-politics__coverage .meta-label{display:block}.historical-politics__integrity{max-width:var(--measure);margin-block:var(--space-s);padding:var(--space-s);border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 7%,var(--field))}.historical-politics__integrity p{margin:0}.historical-politics__integrity p+p{margin-top:var(--space-2xs);color:var(--ink-soft);font-size:var(--text-s)}.historical-politics__data{margin-top:var(--space-xs);border-top:1px solid var(--hairline-strong)}.historical-politics__data summary{padding-block:var(--space-xs);cursor:pointer;font-size:var(--text-s);font-weight:650}.historical-politics__data .table-scroll{margin-block:var(--space-xs)var(--space-s);overflow-x:auto;overscroll-behavior-inline:contain}.historical-politics__data table{width:100%;min-width:42rem;margin:0;border-collapse:collapse;font-size:var(--text-s)}.historical-politics__data caption{padding:0 0 var(--space-xs);caption-side:top;color:var(--ink-soft);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;text-align:left;text-transform:uppercase}.historical-politics__data th,.historical-politics__data td{padding:.55rem .75rem .55rem 0;border-bottom:1px solid var(--hairline);text-align:left}.historical-politics__data thead th{border-bottom-color:var(--ink)}.historical-politics__data tr.is-structural{color:var(--ink-soft)}.historical-politics__data td small,.historical-politics__data th small{color:var(--ink-soft);font-family:var(--font-body)}.historical-politics__route-link{margin:var(--space-s)0 0;font-size:var(--text-s);font-weight:650}.historical-politics__source{max-width:var(--measure);margin-top:var(--space-s);color:var(--ink-soft);font-size:var(--text-xs);line-height:1.55}.candidate-polls__legend{display:flex;flex-wrap:wrap;gap:var(--space-2xs);padding:var(--space-s)var(--space-m);border-bottom:1px solid var(--politics-rule)}.candidate-polls__candidate-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:2.35rem;padding:.38rem .65rem;border:1px solid var(--politics-rule);border-radius:999px;background:0 0;color:var(--politics-paper);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.candidate-polls__candidate-toggle span{width:1.45rem;border-top:3px solid var(--series-color)}.candidate-polls__candidate-toggle:nth-child(2) span{border-top-style:dashed}.candidate-polls__candidate-toggle:nth-child(3) span{border-top-style:dotted}.candidate-polls__candidate-toggle:nth-child(4) span{border-top-style:double}.candidate-polls__candidate-toggle[aria-pressed=false]{color:var(--politics-muted);opacity:.58}.candidate-polls__candidate-toggle:disabled{cursor:default;opacity:1}.candidate-polls__plot{overflow-x:auto;border-bottom:1px solid var(--politics-rule);background:var(--politics-ink-deep);overscroll-behavior-inline:contain}.candidate-polls__plot svg{display:block;width:100%;min-width:44rem;height:auto}.candidate-polls__grid{stroke:var(--politics-rule);stroke-width:1}.candidate-polls__axis-tick{stroke:color-mix(in srgb,var(--politics-paper) 36%,transparent);stroke-width:1}.candidate-polls__axis-label{fill:var(--politics-muted);font-family:var(--font-mono);font-size:12px}.candidate-polls__series{fill:none;stroke:var(--series-color);stroke-width:3.25;stroke-linecap:round;stroke-linejoin:round;transition:opacity 120ms ease}.candidate-polls__series--1{stroke-dasharray:10 7}.candidate-polls__series--2{stroke-dasharray:2 7}.candidate-polls__series--3{stroke-dasharray:14 4 3 4}.candidate-polls__series.is-hidden,.candidate-polls__point.is-hidden{opacity:.08}.candidate-polls__point{fill:var(--series-color);stroke:var(--politics-ink-deep);stroke-width:2;opacity:.34;transition:r 120ms ease,opacity 120ms ease}.candidate-polls__point.is-current{r:7px;opacity:1}.candidate-polls__cursor{stroke:color-mix(in srgb,var(--politics-paper) 72%,transparent);stroke-width:1;stroke-dasharray:4 5;opacity:0}.candidate-polls.is-enhanced .candidate-polls__cursor{opacity:1}.candidate-polls__readout{display:grid;grid-template-columns:minmax(11rem,.55fr)minmax(0,1.45fr);gap:var(--space-s)var(--space-l);padding:var(--space-s)var(--space-m);border-bottom:1px solid var(--politics-rule);background:color-mix(in srgb,var(--politics-paper) 5%,var(--politics-ink))}.candidate-polls__readout p{margin:0}.candidate-polls__readout-date>p:last-child{margin-top:.18rem;font-family:var(--font-display);font-size:var(--text-xl)}.candidate-polls__readout-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xs)}.candidate-polls__readout-values p{padding-left:var(--space-xs);border-left:3px solid var(--series-color)}.candidate-polls__readout-values span{display:block;color:var(--politics-muted);font-size:var(--text-xs)}.candidate-polls__readout-values strong{display:block;margin-top:.15rem;color:var(--series-color);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:520;line-height:1}.candidate-polls__control{padding:var(--space-s)var(--space-m)var(--space-m)}.candidate-polls__control label{display:block;margin-bottom:var(--space-xs);font-size:var(--text-s);font-weight:650}.candidate-polls__control input{width:100%;accent-color:var(--teal)}.candidate-polls__control p{margin:var(--space-2xs)0 0;color:var(--politics-muted);font-size:var(--text-xs)}.parliament-switchers__stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--politics-rule)}.parliament-switchers__stages p{display:flex;gap:var(--space-xs);align-items:baseline;margin:0;padding:var(--space-s)var(--space-m);color:var(--politics-muted);font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}.parliament-switchers__stages p+p{border-left:1px solid var(--politics-rule)}.parliament-switchers__stages span{color:var(--amber);font-family:var(--font-mono)}.parliament-switchers__control{padding:var(--space-m);border-bottom:1px solid var(--politics-rule);background:color-mix(in srgb,var(--politics-paper) 5%,var(--politics-ink))}.parliament-switchers__control>label{display:block;margin-bottom:var(--space-2xs);color:var(--politics-muted);font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}.parliament-switchers__control>div{display:flex;gap:var(--space-xs)}.parliament-switchers__control select,.parliament-switchers__control button{min-height:2.65rem;border-radius:0;font:inherit;font-size:var(--text-s)}.parliament-switchers__control select{width:min(100%,26rem);padding:.55rem 2.25rem .55rem .7rem;border:1px solid var(--politics-paper);background:var(--politics-paper);color:var(--politics-ink)}.parliament-switchers__control button{padding:.55rem .8rem;border:1px solid var(--politics-paper);background:0 0;color:var(--politics-paper);cursor:pointer}.parliament-switchers__control select:disabled,.parliament-switchers__control button:disabled{cursor:default;opacity:1}.parliament-switchers__control>p{margin:var(--space-xs)0 0;color:var(--politics-muted);font-size:var(--text-xs)}.parliament-switchers__flow{padding:var(--space-m)}.parliament-switchers__flow-heading{display:flex;justify-content:space-between;gap:var(--space-s);margin-bottom:var(--space-s)}.parliament-switchers__flow-heading p{margin:0}.parliament-switchers__flow-heading p:last-child{max-width:45ch;color:var(--politics-muted);font-size:var(--text-xs);text-align:right}.parliament-switchers__flow-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.parliament-switchers__flow-list li{display:grid;grid-template-columns:minmax(9rem,.8fr)minmax(6rem,1fr)minmax(9rem,.8fr);align-items:center;min-height:2.75rem;transition:opacity 120ms ease}.parliament-switchers__flow-list li[hidden]{display:none}.parliament-switchers__node{min-width:0;padding:.42rem .6rem;border:1px solid var(--politics-rule);background:color-mix(in srgb,var(--politics-paper) 5%,var(--politics-ink))}.parliament-switchers__node span,.parliament-switchers__node small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parliament-switchers__node span{font-size:var(--text-s);font-weight:650}.parliament-switchers__node small{margin-top:.08rem;color:var(--politics-muted);font-size:.68rem}.parliament-switchers__node--target{text-align:right}.parliament-switchers__ribbon{display:flex;align-items:center;min-width:0}.parliament-switchers__ribbon span{display:block;flex:1;height:clamp(.24rem,calc(var(--flow-value) * .065rem),3.35rem);min-height:.24rem;background:color-mix(in srgb,var(--flow-color) 50%,var(--politics-paper) 50%);clip-path:polygon(0 18%,96% 0,100% 50%,96% 100%,0 82%)}.parliament-switchers__ribbon strong{flex:none;min-width:2.15rem;color:var(--politics-paper);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right}@media(max-width:54rem){.candidate-polls__readout-values{grid-template-columns:repeat(2,minmax(0,1fr))}.parliament-switchers__flow-list li{grid-template-columns:minmax(7rem,.8fr)minmax(4rem,1fr)minmax(7rem,.8fr)}}@media(max-width:44rem){.historical-politics__header,.candidate-polls__readout{grid-template-columns:minmax(0,1fr)}.historical-politics__coverage{text-align:left}.historical-politics__header,.candidate-polls__legend,.candidate-polls__readout,.candidate-polls__control,.parliament-switchers__control,.parliament-switchers__flow{padding-inline:var(--space-s)}.candidate-polls__readout-values{grid-template-columns:minmax(0,1fr)}.parliament-switchers__stages p{display:block;padding-inline:var(--space-xs)}.parliament-switchers__stages p span{display:block;margin-bottom:.15rem}.parliament-switchers__control>div{align-items:stretch;flex-direction:column}.parliament-switchers__control select{width:100%}.parliament-switchers__flow-heading{display:block}.parliament-switchers__flow-heading p:last-child{margin-top:var(--space-2xs);text-align:left}.parliament-switchers__flow-list li{grid-template-columns:minmax(0,1fr);gap:.2rem;padding-bottom:var(--space-xs);border-bottom:1px solid var(--politics-rule)}.parliament-switchers__node--target{text-align:left}.parliament-switchers__ribbon{min-height:1rem}}@media(prefers-reduced-motion:reduce){.candidate-polls__series,.candidate-polls__point,.parliament-switchers__flow-list li{transition:none}}@media print{.historical-politics__stage{border-color:#101820;background:#fff;color:#101820}.historical-politics__header .meta-label,.historical-politics__coverage .meta-label,.candidate-polls__readout-values span,.candidate-polls__control p,.parliament-switchers__control>label,.parliament-switchers__control>p,.parliament-switchers__flow-heading p:last-child,.parliament-switchers__node small{color:#4a5560}.candidate-polls__candidate-toggle,.candidate-polls__control,.parliament-switchers__control{display:none}.candidate-polls__plot{background:#101820}}