:root {
	--bg: #ffffff;
	--paper: #ffffff;
	--ink: #15171a;
	--muted: #667085;
	--line: #d7dce2;
	--line-strong: #a8b0bb;
	--head: #eef1f4;
	--yes: #16825d;
	--yes-soft: #e7f4ee;
	--no: #d13c32;
	--no-soft: #fdebea;
	--abstain: #e3a008;
	--not-voting: #9aa2ad;
	--focus: #1b5fd6;
}
* {
	box-sizing: border-box;
}
body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.45;
}
a {
	color: var(--focus);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
.page {
	max-width: 1180px;
	margin: 0 auto;
	padding: 12px 22px 56px;
}
.top-nav {
	display: flex;
	gap: 22px;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--line-strong);
}
.top-nav .nav-link[href="/about"] {
	margin-left: auto;
}
.nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	margin-bottom: -10px;
	border-bottom: 3px solid transparent;
	color: var(--muted);
	padding: 4px 1px 5px;
	font-size: 13px;
	font-weight: 750;
}
.nav-link:hover {
	border-bottom-color: var(--line-strong);
	color: var(--ink);
	text-decoration: none;
}
.nav-link.is-active {
	border-bottom-color: var(--focus);
	color: var(--ink);
}
.button,
.pager a {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	padding: 4px 10px;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.button-primary {
	border-color: var(--focus);
	background: var(--focus);
	color: #ffffff;
}
.button-primary:hover {
	border-color: #174fae;
	background: #174fae;
	text-decoration: none;
}
.button-secondary,
.pager a {
	border-color: var(--line-strong);
	background: var(--paper);
	color: var(--ink);
}
.button-secondary:hover,
.pager a:hover {
	background: var(--head);
	text-decoration: none;
}
.button-compact {
	min-height: 28px;
	padding: 3px 8px;
}
.button:focus-visible,
.pager a:focus-visible,
.nav-link:focus-visible,
.segmented-control-item:focus-visible,
.filter-chip:focus-visible {
	position: relative;
	z-index: 2;
	outline: 3px solid rgba(27, 95, 214, 0.28);
	outline-offset: 2px;
}
.button:disabled,
.button[aria-disabled="true"] {
	opacity: 0.48;
	cursor: not-allowed;
}
.site-footer {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 48px;
	border-top: 1px solid var(--line-strong);
	padding-top: 10px;
	color: var(--muted);
	font-size: 12px;
}
.site-footer a {
	color: var(--muted);
	font-weight: 700;
}
.site-footer span {
	color: var(--line-strong);
}
.votes-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 12px 24px;
	margin: 18px 0 22px;
}
.control-group {
	display: grid;
	gap: 5px;
}
.control-label {
	color: var(--muted);
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
}
.segmented-control {
	display: inline-flex;
	width: fit-content;
	border: 1px solid var(--line-strong);
	background: var(--paper);
}
.segmented-control-item {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	border: 0;
	background: var(--paper);
	color: var(--ink);
	padding: 4px 9px;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.segmented-control-item + .segmented-control-item {
	border-left: 1px solid var(--line-strong);
}
.segmented-control-item:hover {
	background: var(--head);
	text-decoration: none;
}
.segmented-control-item.is-active {
	background: var(--focus);
	color: #ffffff;
}
.page-head,
.detail-head {
	padding: 26px 0 18px;
}
.page-head h1,
.detail-head h1 {
	max-width: 980px;
	margin: 2px 0 0;
	font-size: 34px;
	line-height: 1.12;
}
.detail-head h1 {
	max-width: 900px;
	font-size: 24px;
	line-height: 1.18;
}
.page-head p {
	max-width: 720px;
	margin: 8px 0 0;
	color: var(--muted);
}
.detail-context-block + .detail-context-block {
	margin-top: 24px;
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
}
.detail-vote-block {
	position: relative;
}
.detail-vote-heading {
	max-width: 900px;
	margin: 3px 0 0;
	font-size: 20px;
	line-height: 1.3;
}
.detail-context-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 8px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 650;
}
.vote-action-bar {
	position: absolute;
	top: 12px;
	right: 0;
	z-index: 5;
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin: 0;
}
.vote-export-menu {
	position: relative;
}
.vote-export-menu > summary {
	list-style: none;
}
.vote-export-menu > summary::-webkit-details-marker {
	display: none;
}
.vote-export-popover {
	position: absolute;
	z-index: 20;
	top: calc(100% + 6px);
	right: 0;
	min-width: 210px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	box-shadow: 0 12px 32px rgba(21, 23, 26, 0.16);
}
.vote-export-popover a {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px;
	color: var(--ink);
	font-weight: 700;
}
.vote-export-popover a + a {
	border-top: 1px solid var(--line);
}
.vote-export-popover a:hover {
	background: var(--head);
	text-decoration: none;
}
.vote-export-popover small {
	color: var(--muted);
	font-size: 11px;
	font-weight: 500;
}
.vote-share-dialog {
	width: min(980px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	overflow: visible;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	padding: 0;
	box-shadow: 0 24px 72px rgba(21, 23, 26, 0.24);
}
.vote-share-dialog::backdrop {
	background: rgba(21, 23, 26, 0.48);
}
.vote-share-dialog-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid var(--line-strong);
	padding: 18px 20px 15px;
}
.vote-share-dialog-head h2 {
	margin: 2px 0 0;
	font-size: 22px;
	line-height: 1.2;
}
.vote-share-close {
	display: inline-flex;
	position: relative;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	cursor: pointer;
}
.vote-share-close::before,
.vote-share-close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: currentColor;
	content: "";
}
.vote-share-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.vote-share-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.vote-share-layout {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(360px, 1.2fr);
	gap: 24px;
	padding: 20px;
}
.vote-share-controls {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 16px;
}
.vote-share-kinds {
	display: grid;
	gap: 7px;
	margin: 0;
	border: 0;
	padding: 0;
}
.vote-share-kinds legend,
.vote-share-select > span,
.vote-share-select > label,
.vote-share-preview > span {
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
}
.vote-share-kinds label {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--line);
	padding: 9px 10px;
	cursor: pointer;
}
.vote-share-kinds label:has(input:checked) {
	border-color: var(--focus);
	box-shadow: inset 3px 0 0 var(--focus);
}
.vote-share-kinds label span {
	display: flex;
	flex-direction: column;
}
.vote-share-kinds small {
	color: var(--muted);
}
.vote-share-select {
	display: flex;
	position: relative;
	flex-direction: column;
}
.vote-share-select[hidden] {
	display: none;
}
.vote-share-select input,
.vote-share-select select {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	padding: 5px 8px;
	font: inherit;
}
.vote-share-person-options {
	position: absolute;
	z-index: 40;
	top: calc(100% + 6px);
	left: 0;
	width: 100%;
	max-height: 240px;
	overflow-y: auto;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	box-shadow: 0 12px 30px rgba(21, 23, 26, 0.18);
	padding: 4px;
}
.vote-share-person-options[hidden],
.vote-share-person-option[hidden],
.vote-share-person-empty[hidden] {
	display: none;
}
.vote-share-person-option {
	display: flex;
	min-height: 36px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 9px;
	cursor: pointer;
}
.vote-share-person-option:hover,
.vote-share-person-option.is-active {
	background: var(--head);
}
.vote-share-person-check {
	position: relative;
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	color: var(--focus);
	opacity: 0;
}
.vote-share-person-check::after {
	position: absolute;
	top: 0;
	left: 5px;
	width: 5px;
	height: 12px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	transform: rotate(45deg);
}
.vote-share-person-option[aria-selected='true'] .vote-share-person-check {
	opacity: 1;
}
.vote-share-person-empty {
	padding: 10px 9px;
	color: var(--muted);
	font-size: 13px;
}
.vote-share-actions [disabled],
.vote-share-actions [aria-disabled='true'] {
	opacity: 0.5;
	pointer-events: none;
}
.vote-share-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.vote-share-status {
	min-height: 20px;
	margin: -7px 0 0;
	color: var(--muted);
	font-size: 12px;
}
.vote-share-preview {
	display: flex;
	min-width: 0;
	flex-direction: column;
}
.vote-share-preview img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--line);
	background: var(--head);
}
.vote-share-preview img[data-format='square'] {
	width: auto;
	max-width: 100%;
	max-height: 520px;
	align-self: center;
}
.vote-share-preview img[data-format='story'] {
	width: auto;
	max-width: 100%;
	max-height: 520px;
	align-self: center;
}
.vote-share-close:focus-visible,
.vote-export-menu > summary:focus-visible,
.vote-share-kinds input:focus-visible,
.vote-share-select select:focus-visible {
	outline: 3px solid rgba(27, 95, 214, 0.28);
	outline-offset: 2px;
}
.detail-context-meta span + span::before {
	content: "·";
	margin: 0 8px;
	color: var(--line-strong);
}
.detail-business-number {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.parlament-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	height: 28px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	padding: 3px 7px;
}
.parlament-link:hover {
	background: var(--head);
}
.parlament-link:focus-visible {
	outline: 3px solid rgba(27, 95, 214, 0.28);
	outline-offset: 1px;
}
.parlament-link img {
	display: block;
	width: 13px;
	height: 17px;
}
.parlament-link-ext {
	display: block;
	width: 11px;
	height: 11px;
	color: var(--ink);
}
.detail-business-block .business-topics {
	margin-top: 10px;
}
.eyebrow {
	color: var(--muted);
	font-size: 12px;
	font-weight: 750;
	text-transform: uppercase;
}
.back-link {
	margin-top: 18px;
}
.meta-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
}
.meta-list > div {
	display: grid;
	grid-template-columns: auto auto;
	gap: 8px;
	border: 1px solid var(--line);
	background: var(--paper);
	padding: 8px 10px;
}
.meta-list dt {
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}
.meta-list dd {
	margin: 0;
	font-weight: 700;
}
.filter-form {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 8px;
	margin: 0 0 24px;
	padding: 10px;
	border: 1px solid var(--line-strong);
	background: #fafbfc;
}
.persons-filter {
	margin: 18px 0 8px;
}
.votes-filter {
	margin: 18px 0 8px;
}
.votes-filter .form-field-wide {
	min-width: min(320px, 100%);
}
.topic-picker {
	position: relative;
	min-width: 260px;
	flex: 0 1 300px;
}
.topic-picker summary {
	display: grid;
	gap: 4px;
	list-style: none;
	cursor: pointer;
}
.topic-picker summary::-webkit-details-marker {
	display: none;
}
.topic-picker-label,
.topic-picker-search span,
.topic-match-field > span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
}
.topic-picker-value {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 32px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	padding: 4px 32px 4px 7px;
	font-size: 14px;
}
.topic-picker-value::after {
	content: "";
	position: absolute;
	right: 11px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--muted);
	border-bottom: 2px solid var(--muted);
	transform: translateY(-65%) rotate(45deg);
}
.topic-picker[open] .topic-picker-value::after {
	transform: translateY(-25%) rotate(225deg);
}
.topic-picker summary:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}
.topic-picker-panel {
	position: absolute;
	z-index: 20;
	top: calc(100% + 5px);
	left: 0;
	width: min(380px, calc(100vw - 24px));
	border: 1px solid var(--line-strong);
	background: var(--paper);
	box-shadow: 0 12px 30px rgb(21 23 26 / 16%);
	padding: 10px;
}
.topic-picker-search,
.topic-match-field {
	display: grid;
	gap: 4px;
}
.topic-picker-search input,
.topic-match-field select {
	width: 100%;
	min-height: 32px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	padding: 4px 7px;
	font: inherit;
	font-size: 14px;
}
.topic-picker-options {
	display: grid;
	max-height: 280px;
	overflow-y: auto;
	margin: 9px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.topic-option {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 5px 4px;
	cursor: pointer;
}
.topic-option[hidden] {
	display: none;
}
.topic-option + .topic-option {
	border-top: 1px solid var(--line);
}
.topic-option:hover {
	background: #fafbfc;
}
.topic-option input {
	width: 16px;
	height: 16px;
	margin: 0;
}
.topic-picker-empty {
	margin: 8px 4px;
	color: var(--muted);
}
.form-field-year {
	min-width: 105px;
}
.vote-results-count {
	margin: -10px 0 12px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}
.person-results-meta {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 12px;
}
.person-results-count {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}
.filter-toggle {
	display: none;
}
.vote-results-count + .business-group,
[data-person-sections] > .person-section:first-child {
	margin-top: 0;
}
.individual-vote-filter {
	margin-bottom: 12px;
}
.individual-vote-heading-meta {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.individual-filter-reset {
	border: 0;
	background: transparent;
	color: var(--focus);
	padding: 0;
	font: inherit;
	font-size: 12px;
	font-weight: 750;
	cursor: pointer;
}
.individual-filter-reset:hover {
	text-decoration: underline;
}
.individual-filter-reset:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 3px;
}
.individual-filter-reset[hidden] {
	display: none;
}
.individual-vote-spacer {
	height: 0;
	pointer-events: none;
}
.form-field {
	display: grid;
	gap: 4px;
	min-width: 160px;
}
.form-field-wide {
	min-width: min(360px, 100%);
	flex: 1 1 300px;
}
.form-field span {
	color: var(--muted);
	font-size: 11px;
	font-weight: 750;
	text-transform: uppercase;
}
.form-field input,
.form-field select {
	width: 100%;
	min-height: 32px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	padding: 4px 7px;
	font: inherit;
	font-size: 14px;
}
.form-field input:focus,
.form-field select:focus,
.filter-submit:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}
.filter-submit,
.filter-reset {
	min-height: 32px;
	cursor: pointer;
	font: inherit;
}
.filter-actions {
	display: flex;
	gap: 10px;
	margin-left: auto;
}
.person-section {
	margin-top: 26px;
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
}
.person-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 12px;
}
.person-card {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 12px;
	min-height: 98px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--ink);
	padding: 10px;
	text-decoration: none;
}
.person-card:hover {
	background: #fafbfc;
	text-decoration: none;
}
.profile-picture {
	display: block;
	line-height: 0;
}
.person-avatar {
	width: 64px;
	height: 78px;
	border: 1px solid var(--line);
	background: var(--head);
	object-fit: cover;
}
.avatar-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #394150;
	font-size: 20px;
	font-weight: 850;
}
.person-card-body {
	display: grid;
	gap: 5px;
	min-width: 0;
	align-content: start;
}
.person-card-name {
	font-size: 16px;
	line-height: 1.2;
	overflow-wrap: anywhere;
}
.person-card-meta,
.person-card-dates {
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}
.person-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.person-hero {
	display: grid;
	grid-template-columns: 164px minmax(0, 1fr);
	gap: 22px;
	align-items: end;
	padding: 22px 0 20px;
	border-bottom: 1px solid var(--line);
}
.profile-photo {
	width: 164px;
	aspect-ratio: 3 / 4;
	border: 1px solid var(--line-strong);
	background: var(--head);
	object-fit: cover;
}
.person-title h1 {
	max-width: 980px;
	margin: 2px 0 0;
	font-size: 38px;
	line-height: 1.1;
}
.person-facts {
	margin: 8px 0 0;
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
}
.official-profile-link {
	margin-top: 12px;
}
.person-history {
	margin-top: 24px;
}
.history-grid {
	display: grid;
	gap: 16px;
}
.history-card {
	border-top: 1px solid var(--line);
	padding-top: 12px;
}
.history-card:first-child {
	border-top: 0;
	padding-top: 0;
}
.history-card-head {
	margin-bottom: 8px;
}
.history-card-head h3 {
	margin: 0;
	font-size: 16px;
	line-height: 1.25;
}
.council-history-groups {
	display: grid;
	gap: 12px;
}
.council-history-group {
	display: grid;
	gap: 6px;
}
.council-history-group + .council-history-group {
	padding-top: 12px;
}
.council-history-group h4 {
	margin: 0;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.3;
}
.history-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.history-list li {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid var(--line);
}
.history-list li:first-child {
	padding-top: 0;
	border-top: 0;
}
.history-range {
	color: var(--muted);
	font-size: 13px;
	white-space: nowrap;
}
.history-range-only {
	grid-column: 1 / -1;
}
.history-text {
	line-height: 1.35;
}
.history-empty {
	margin-top: 0;
}
.meaning-list {
	max-width: 720px;
	margin: 0;
	border-top: 1px solid var(--line-strong);
	border-bottom: 1px solid var(--line-strong);
}
.meaning-row {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
}
.meaning-row + .meaning-row {
	border-top: 1px solid var(--line);
}
.meaning-row dt {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	white-space: nowrap;
}
.meaning-row dt strong {
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.meaning-yes dt strong {
	color: var(--yes);
}
.meaning-no dt strong {
	color: var(--no);
}
.meaning-row dt span {
	color: var(--muted);
}
.meaning-row dd {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.35;
}
.meaning-list + .section-block {
	margin-top: 16px;
	border-top: 0;
	padding-top: 0;
}
.section-heading h2 {
	margin: 0;
	font-size: 17px;
	line-height: 1.25;
}
.business-head h2 {
	max-width: 980px;
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
}
.business-head .business-number {
	margin: 0 0 3px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: 0.02em;
}
.business-group {
	margin-top: 24px;
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
}
.section-block {
	margin-top: 24px;
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
}
.business-head,
.section-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}
.business-head {
	display: block;
}
.business-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 9px;
}
.filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	border: 1px solid #b6c7e5;
	background: #f4f7fc;
	color: var(--focus);
	padding: 4px 8px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}
.filter-chip:hover {
	border-color: #779bd6;
	background: #eaf1fd;
	text-decoration: none;
}
.filter-chip.is-active {
	border-color: var(--focus);
	background: var(--focus);
	color: #ffffff;
}
.filter-chip-remove {
	font-size: 17px;
	font-weight: 500;
	line-height: 0.8;
}
.section-heading span {
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.data-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--paper);
	border: 1px solid var(--line);
}
.table-scroll {
	width: 100%;
	overflow-x: auto;
}
.data-table th,
.data-table td {
	border-bottom: 1px solid var(--line);
	padding: 9px 10px;
	text-align: left;
	vertical-align: middle;
}
.data-table tbody tr:last-child td {
	border-bottom: 0;
}
.data-table th {
	background: var(--line);
	color: #2e3440;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}
.data-table tbody tr:hover {
	background: #fafbfc;
}
.votes-table {
	min-width: 700px;
}
.votes-table tbody tr {
	position: relative;
	cursor: pointer;
}
.votes-table tbody tr:focus-within {
	z-index: 1;
	outline: 3px solid rgba(27, 95, 214, 0.28);
	outline-offset: 1px;
}
.votes-table th:nth-child(1),
.votes-table td:nth-child(1) {
	width: 105px;
}
.votes-table th:nth-child(2),
.votes-table td:nth-child(2) {
	width: 100px;
}
.votes-table th:nth-child(4),
.votes-table td:nth-child(4) {
	width: 290px;
}
.votes-table .subject-cell {
	min-width: 180px;
}
.vote-card-label {
	display: none;
}
.votes-table .result-cell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
}
.votes-table .result-cell .vote-bars {
	min-width: 0;
}
.vote-row-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	min-height: 32px;
	color: var(--muted);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}
.vote-card-action {
	display: none;
}
.vote-row-action::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
}
.votes-table tbody tr:hover .vote-row-action span,
.votes-table tbody tr:focus-within .vote-row-action span {
	color: var(--focus);
}
.vote-row-action:hover {
	text-decoration: none;
}
.vote-row-action:focus-visible {
	outline: 0;
}
.individual-table {
	min-width: 0;
}
.individual-table td {
	padding: 6px 10px;
}
.individual-decision-cell > span {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	color: var(--ink);
	line-height: 1.15;
}
.individual-table th:nth-child(2),
.individual-table td:nth-child(2) {
	width: 90px;
}
.individual-table th:nth-child(3),
.individual-table td:nth-child(3) {
	width: 90px;
}
.individual-table th:nth-child(4),
.individual-table td:nth-child(4) {
	width: 82px;
}
.individual-table th:nth-child(5),
.individual-table td:nth-child(5) {
	width: 190px;
}
.individual-mobile-meta {
	display: none;
}
.individual-empty-row td {
	color: var(--muted);
	font-weight: 700;
	text-align: center;
}
.nowrap {
	white-space: nowrap;
}
.subject-cell {
	min-width: 260px;
	word-break: break-word;
}
.council-tag,
.decision-chip,
.small-tag {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	border: 1px solid var(--line-strong);
	padding: 2px 7px;
	font-size: 12px;
	font-weight: 750;
	white-space: nowrap;
}
.council-tag {
	background: #f8f9fb;
	color: #28303b;
}
.decision-chip {
	min-width: 84px;
	justify-content: center;
}
.small-tag {
	min-width: 38px;
	justify-content: center;
	background: #f8f9fb;
	color: #394150;
	font-variant-numeric: tabular-nums;
}
.decision-yes {
	color: #0f5f39;
}
.decision-no {
	color: #9c1c13;
}
.decision-not-voting {
	color: #394150;
}
.decision-abstain {
	color: #8a6200;
}
.vote-bars {
	--vote-label-size: 15px;
	display: grid;
	width: 100%;
	max-width: 720px;
}
.vote-bar-row {
	display: grid;
	grid-template-columns: minmax(150px, 190px) minmax(120px, 1fr) 88px;
	align-items: baseline;
	gap: 6px;
}
.vote-bar-label {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-end;
	min-width: 0;
	gap: 7px;
	font-size: var(--vote-label-size);
	font-weight: 700;
	text-align: right;
}
.vote-bar-track {
	display: block;
	width: 100%;
	height: 1cap;
	overflow: hidden;
	background: #e9edf1;
	font-size: var(--vote-label-size);
	font-weight: 700;
}
.vote-bar-fill {
	display: block;
	height: 100%;
}
.vote-bar-value {
	display: inline-flex;
	justify-content: flex-end;
	align-items: baseline;
	gap: 7px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.vote-bar-value small {
	min-width: 34px;
	color: var(--muted);
	font-size: 12px;
	text-align: right;
}
.vote-bars-empty {
	min-height: 36px;
	align-content: center;
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}
.vote-bars-compact {
	--vote-label-size: 11px;
	max-width: none;
	min-width: 260px;
	gap: 0;
}
.vote-bars-compact .vote-bar-row {
	grid-template-columns: 72px minmax(64px, 1fr) 60px;
	gap: 4px;
}
.vote-bars-compact .vote-bar-label,
.vote-bars-compact .vote-bar-value {
	gap: 4px;
	font-size: var(--vote-label-size);
	line-height: 1.15;
}
.vote-bars-compact .vote-bar-value small {
	display: inline;
	min-width: 26px;
	font-size: 10px;
}
.bar-yes {
	background: var(--yes);
}
.bar-no {
	background: var(--no);
}
.bar-abstain {
	background: var(--abstain);
}
.bar-not-voting {
	background: var(--not-voting);
}
.legend-swatch {
	display: inline-block;
	flex: 0 0 auto;
	width: 1cap;
	height: 1cap;
	border: 0;
}
.canton-votes-section {
	position: relative;
}
.canton-map-toolbar {
	margin-bottom: 12px;
}
.canton-touch-hint {
	display: none;
	margin: 0 0 8px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}
.canton-view-button {
	min-height: 32px;
}
.canton-view-button:focus-visible,
.canton-table-button:focus-visible {
	outline: 3px solid rgba(27, 95, 214, 0.28);
	outline-offset: 2px;
}
.canton-map-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 238px;
	gap: 22px;
	align-items: center;
}
.canton-map-frame {
	min-width: 0;
}
.canton-map-svg {
	-webkit-tap-highlight-color: transparent;
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
}
.canton-map-region {
	-webkit-tap-highlight-color: transparent;
	outline: none;
}
.canton-shape {
	-webkit-tap-highlight-color: transparent;
	fill: var(--canton-majority, #eef1f4);
	stroke: var(--ink);
	stroke-width: 1.25;
	stroke-linejoin: round;
	cursor: pointer;
	transition: fill 140ms ease, filter 120ms ease, stroke 120ms ease;
}
.canton-hit-shape {
	fill: transparent;
	stroke: none;
	pointer-events: none;
}
.canton-map-layout[data-view="composition"] .canton-shape {
	fill: var(--canton-composition, #eef1f4);
}
.canton-highlight-shape {
	fill: none;
	stroke: var(--ink);
	stroke-width: 3;
	stroke-linejoin: round;
	pointer-events: none;
}
.canton-selection-highlight .canton-highlight-shape {
	stroke: var(--ink);
	stroke-width: 3;
}
.canton-map-info {
	display: grid;
	gap: 5px;
	align-self: stretch;
	align-content: center;
}
.canton-map-info > strong {
	font-size: 16px;
}
.canton-map-info > span {
	min-height: 42px;
	color: var(--muted);
	font-size: 13px;
}
.canton-map-legend {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
	margin-top: 12px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 700;
}
.canton-map-legend[hidden] {
	display: none;
}
.canton-map-legend span {
	display: flex;
	align-items: baseline;
	gap: 7px;
}
.canton-legend-yes {
	background: var(--yes);
}
.canton-legend-no {
	background: var(--no);
}
.canton-legend-split,
.canton-legend-abstain {
	background: var(--abstain);
}
.canton-legend-not-voting {
	background: var(--not-voting);
}
.canton-legend-empty {
	background: var(--head);
}
.canton-map-tooltip {
	position: fixed;
	z-index: 1000;
	max-width: min(320px, calc(100vw - 24px));
	border: 1px solid rgba(0, 0, 0, 0.24);
	background: var(--ink);
	color: var(--paper);
	box-shadow: 0 8px 18px rgba(21, 23, 26, 0.22);
	padding: 7px 9px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 100ms ease, transform 100ms ease;
}
.canton-map-tooltip.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.canton-map-tooltip-name,
.canton-map-tooltip-detail {
	display: block;
}
.canton-map-tooltip-detail {
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.74);
	font-weight: 650;
}
.canton-map-tooltip.is-touch {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	max-width: min(300px, calc(100vw - 24px));
	padding: 8px 10px;
	font-size: 14px;
	user-select: none;
}
.canton-map-tooltip-leader {
	position: fixed;
	z-index: 999;
	width: 2px;
	background: rgba(21, 23, 26, 0.38);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%);
	visibility: hidden;
}
.canton-map-tooltip-leader.is-visible {
	opacity: 1;
	visibility: visible;
}
.canton-data {
	margin-top: 12px;
}
.canton-data summary {
	color: var(--focus);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.canton-data .table-scroll {
	margin-top: 8px;
}
.canton-table {
	min-width: 620px;
}
.canton-table th:not(:first-child),
.canton-table td:not(:first-child) {
	width: 112px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
.canton-table-button {
	border: 0;
	background: transparent;
	color: var(--focus);
	padding: 0;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.canton-table-button:hover {
	text-decoration: underline;
}
.canton-table-button span {
	color: var(--muted);
	font-size: 12px;
}
.acknowledgments-head,
.about-head {
	border-bottom: 1px solid var(--line-strong);
}
.about-head > p {
	max-width: 720px;
}
.about-content {
	display: grid;
	gap: 28px;
	max-width: 880px;
	margin-top: 24px;
}
.about-section {
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
}
.about-section:first-child {
	border-top: 0;
	padding-top: 0;
}
.about-section h2 {
	margin: 3px 0 8px;
	font-size: 21px;
	line-height: 1.25;
}
.about-section p {
	max-width: 760px;
	margin: 8px 0 0;
}
.about-site-list {
	max-width: 760px;
	margin: 14px 0;
	padding-left: 24px;
}
.about-site-list li + li {
	margin-top: 8px;
}
.about-feedback {
	padding: 18px;
	border: 1px solid var(--line-strong);
	background: var(--head);
}
.contact-link {
	display: inline-block;
	font-size: 17px;
	font-weight: 800;
}
.about-disclaimer {
	max-width: 760px;
	margin: 0;
	color: var(--muted);
	font-size: 13px;
}
.credits-list {
	display: grid;
	gap: 28px;
	max-width: 880px;
	margin-top: 24px;
}
.credit-section {
	border-top: 1px solid var(--line-strong);
	padding-top: 12px;
	scroll-margin-top: 18px;
}
.credit-section:first-child {
	border-top: 0;
	padding-top: 0;
}
.credit-section h2 {
	margin: 3px 0 8px;
	font-size: 21px;
	line-height: 1.25;
}
.credit-section > p {
	max-width: 760px;
	margin: 8px 0 0;
}
.credit-details {
	display: grid;
	margin: 16px 0 0;
	border-top: 1px solid var(--line);
}
.credit-details > div {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 16px;
	border-bottom: 1px solid var(--line);
	padding: 9px 0;
}
.credit-details dt {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}
.credit-details dd {
	margin: 0;
}
.credit-note {
	color: var(--muted);
	font-size: 13px;
}
.fraction-scroll {
	width: 100%;
	overflow: visible;
	margin-top: 12px;
	border: 1px solid var(--line-strong);
	background: var(--paper);
}
.section-block.is-share-comparison-target .fraction-scroll {
	box-shadow: 0 0 0 2px var(--focus);
}
.fraction-touch-hint {
	display: none;
	margin: 4px 0 8px;
	color: var(--muted);
	font-size: 12px;
	font-weight: 700;
}
.fraction-card {
	display: block;
	min-width: 0;
	background: var(--paper);
	margin: 0;
	padding: 0;
}
.fraction-card + .fraction-card {
	border-top: 1px solid var(--line);
}
.fraction-card.is-share-target {
	position: relative;
	z-index: 1;
	background: #f5f8ff;
	box-shadow: inset 4px 0 0 var(--focus), 0 0 0 2px var(--focus);
	scroll-margin-block: 24px;
}
.fraction-card-heading {
	padding: 13px 14px 0;
}
.fraction-card h3 {
	margin: 0;
	font-size: 16px;
	line-height: 1.25;
}
.fraction-card h3 span {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
}
.fraction-card-toggle,
.fraction-summary,
.fraction-preview-hint {
	display: none;
}
@keyframes fraction-dot-preview-pulse {
	0%, 25%, 100% {
		transform: scale(1);
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
	}
	50%, 72% {
		transform: scale(1.45);
		box-shadow: 0 0 0 3px rgba(21, 23, 26, 0.16);
	}
}
@media (prefers-reduced-motion: no-preference) {
	.member-dot.is-preview-pulse-one,
	.member-dot.is-preview-pulse-two {
		animation: fraction-dot-preview-pulse 820ms ease-out;
		z-index: 25;
	}
	.member-dot.is-preview-pulse-two {
		animation-delay: 180ms;
	}
}
@media (min-width: 761px) {
	.fraction-vote-grid {
		--fraction-row: 21px;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding-bottom: var(--fraction-row);
	}
	.vote-dot-column {
		display: grid;
		grid-template-rows: auto auto;
		align-content: start;
		justify-items: center;
		padding: 12px 14px 0;
	}
	.vote-dot-column-group {
		display: grid;
		grid-template-rows: auto auto;
		align-content: start;
	}
	.vote-dot-column-group > .vote-dot-column:first-child:not(.is-empty) {
		padding-bottom: 6px;
	}
	.vote-dot-column-group > .vote-dot-column + .vote-dot-column {
		/* Normal count block (28px) + 14px = two 21px row pitches. */
		padding-top: 14px;
	}
	.vote-dot-column-group > .vote-dot-column:last-child.is-empty .fraction-count {
		margin-bottom: 0;
	}
}
.member-dot-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 204px;
	align-content: flex-start;
	justify-content: flex-start;
	gap: 6px;
}
.member-dot {
	display: inline-block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.16);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
	position: relative;
	transition: transform 120ms ease, box-shadow 120ms ease;
}
.member-dot:focus-visible,
.member-dot.is-touch-active {
	transform: scale(1.35);
	box-shadow: 0 0 0 3px rgba(21, 23, 26, 0.16);
	outline: none;
	z-index: 25;
}
.member-dot.is-share-target {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}
.individual-table tbody tr.is-share-target > td {
	background: #edf3ff;
	box-shadow: inset 0 2px 0 var(--focus), inset 0 -2px 0 var(--focus);
}
.individual-table tbody tr.is-share-target > td:first-child {
	box-shadow: inset 3px 0 0 var(--focus), inset 0 2px 0 var(--focus), inset 0 -2px 0 var(--focus);
}
@media (hover: hover) and (pointer: fine) {
	.member-dot:hover {
		transform: scale(1.35);
		box-shadow: 0 0 0 3px rgba(21, 23, 26, 0.16);
		outline: none;
		z-index: 25;
	}
}
@media (hover: none), (pointer: coarse), (any-pointer: coarse) {
	.fraction-touch-hint {
		display: block;
	}
	.member-dot-grid {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		touch-action: pan-y;
		user-select: none;
	}
	.member-dot {
		-webkit-touch-callout: none;
		-webkit-user-drag: none;
		-webkit-user-select: none;
		touch-action: none;
		user-select: none;
	}
	.member-dot::after {
		position: absolute;
		inset: -4px;
		content: "";
	}
}
.fraction-count {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 5px;
	width: 100%;
	max-width: 204px;
	border-top: 1px solid var(--line);
	padding-top: 2px;
	line-height: 20px;
	margin: 0 0 4px;
	font-variant-numeric: tabular-nums;
}
.fraction-count-label {
	display: inline;
	font-size: 12px;
}
.fraction-count strong {
	font-size: 14px;
}
.fraction-count span {
	color: var(--muted);
}
.vote-member-tooltip {
	position: fixed;
	z-index: 1000;
	max-width: min(260px, calc(100vw - 24px));
	padding: 5px 7px;
	background: var(--ink);
	color: var(--paper);
	border: 1px solid rgba(0, 0, 0, 0.24);
	box-shadow: 0 8px 18px rgba(21, 23, 26, 0.22);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
	opacity: 0;
	pointer-events: none;
	transform: translateY(4px);
	transition: opacity 120ms ease, transform 120ms ease;
	visibility: hidden;
	white-space: nowrap;
}
.vote-member-tooltip span {
	display: block;
}
.vote-member-tooltip-meta {
	color: rgba(255, 255, 255, 0.72);
	font-size: 11px;
	font-weight: 650;
	margin-top: 2px;
}
.vote-member-tooltip.is-visible {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}
.vote-member-tooltip.is-touch {
	-webkit-touch-callout: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	padding: 8px 10px;
	cursor: pointer;
	font-size: 14px;
	pointer-events: auto;
	text-decoration: none;
	user-select: none;
}
.vote-member-tooltip.is-touch:active {
	opacity: 0.82;
}
.vote-member-tooltip.is-touch .vote-member-tooltip-meta {
	font-size: 12px;
}
.vote-member-tooltip-leader {
	position: fixed;
	z-index: 999;
	width: 2px;
	background: rgba(21, 23, 26, 0.38);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%);
	visibility: hidden;
}
.vote-member-tooltip-leader.is-visible {
	opacity: 1;
	visibility: visible;
}
.empty-state {
	border: 1px solid var(--line-strong);
	background: var(--paper);
	color: var(--muted);
	margin: 20px 0 0;
	padding: 18px;
	font-weight: 700;
}
.pager {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
}
.pager span {
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}
@media (min-width: 800px) {
	.result-summary .vote-bars {
		max-width: 822px;
		margin-right: auto;
		margin-left: auto;
	}
	.result-summary .vote-bar-row {
		grid-template-columns: 190px minmax(120px, 430px) 190px;
	}
	.result-summary .vote-bar-value {
		justify-content: flex-start;
	}
	.result-summary .vote-bar-value strong {
		min-width: 32px;
		text-align: right;
	}
	.meaning-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: none;
	}
	.meaning-list .meaning-row:first-child {
		padding-right: 16px;
	}
	.meaning-list .meaning-row + .meaning-row {
		border-top: 0;
		border-left: 1px solid var(--line);
		padding-left: 16px;
	}
}
@media (min-width: 761px) {
	.individual-vote-filter {
		display: grid;
		grid-template-columns: minmax(160px, 1fr) 109px 90px 83px 190px;
		align-items: end;
		gap: 0;
		padding: 10px 0;
	}
	.individual-vote-filter .form-field,
	.individual-vote-filter .form-field-wide {
		min-width: 0;
		padding: 0 10px;
	}
}
@media (min-width: 900px) {
	.individual-table-scroll {
		overflow: visible;
	}
	.individual-table thead th {
		position: sticky;
		top: -1px;
		z-index: 10;
	}
}
@media (max-width: 760px) {
	.page {
		padding: 18px 12px 40px;
	}
	.vote-action-bar {
		position: static;
		justify-content: stretch;
		margin: 0 0 16px;
	}
	.vote-action-bar > .button,
	.vote-action-bar > details {
		flex: 1 1 0;
	}
	.vote-export-menu > summary {
		width: 100%;
		justify-content: center;
	}
	.vote-export-popover {
		left: 0;
		right: auto;
		width: 100%;
	}
	.vote-share-dialog {
		width: 100%;
		max-width: none;
		max-height: 100dvh;
		margin: auto 0 0;
		overflow-y: auto;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
	}
	.vote-share-person-options {
		position: static;
		margin-top: 6px;
	}
	.vote-share-preview img[data-format='square'],
	.vote-share-preview img[data-format='story'] {
		max-height: 440px;
	}
	.vote-share-dialog-head {
		padding: 14px 14px 12px;
	}
	.vote-share-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		padding: 14px;
	}
	.vote-share-actions {
		grid-template-columns: minmax(0, 1fr);
	}
	.page-head h1,
	.detail-head h1 {
		font-size: 27px;
	}
	.detail-head h1 {
		font-size: 20px;
	}
	.fraction-scroll {
		overflow: visible;
		margin-top: 0;
		border: 0;
		background: transparent;
	}
	.fraction-touch-hint {
		display: none;
	}
	.fraction-card {
		display: block;
		min-width: 0;
		border: 1px solid var(--line-strong);
		margin-top: 9px;
		padding: 8px 12px 10px;
	}
	.fraction-card + .fraction-card {
		border-top: 1px solid var(--line-strong);
	}
	.fraction-card-heading {
		padding: 0;
	}
	.fraction-card-heading > h3 {
		display: none;
	}
	.fraction-card-toggle {
		display: flex;
		width: 100%;
		min-height: 40px;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		border: 0;
		background: transparent;
		color: var(--ink);
		padding: 0;
		font: inherit;
		font-weight: 800;
		text-align: left;
		cursor: pointer;
	}
	.fraction-card-toggle-title {
		font-size: 16px;
		line-height: 1.25;
	}
	.fraction-card-toggle-title small {
		color: var(--muted);
		font-size: 12px;
		font-weight: 800;
	}
	.fraction-card-toggle-action {
		display: inline-flex;
		flex: 0 0 auto;
		align-items: center;
		gap: 7px;
		color: var(--muted);
		font-size: 12px;
	}
	.fraction-card-toggle-action i {
		width: 8px;
		height: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-2px);
		transition: transform 120ms ease;
	}
	.fraction-card.is-expanded .fraction-card-toggle-action i {
		transform: rotate(225deg) translate(-1px, -1px);
	}
	.fraction-card-toggle:focus-visible {
		outline: 3px solid rgba(27, 95, 214, 0.28);
		outline-offset: 3px;
	}
	.fraction-summary {
		display: block;
		margin-top: 2px;
	}
	.fraction-summary-bar {
		display: flex;
		height: 10px;
		overflow: hidden;
		background: var(--head);
	}
	.fraction-summary-segment {
		min-width: 0;
		flex-basis: 0;
	}
	.fraction-summary-legend {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3px 14px;
		margin-top: 7px;
		font-size: 12px;
		font-variant-numeric: tabular-nums;
	}
	.fraction-summary-legend > span {
		display: grid;
		grid-template-columns: 1em minmax(0, 1fr) auto auto;
		align-items: center;
		gap: 5px;
	}
	.fraction-summary-legend i {
		width: 1em;
		height: 1em;
	}
	.fraction-summary-legend strong {
		font-size: 12px;
	}
	.fraction-summary-legend small {
		min-width: 30px;
		color: var(--muted);
		font-size: 11px;
		text-align: right;
	}
	.fraction-card:not(.is-expanded) .fraction-vote-grid {
		display: none;
	}
	.fraction-preview-hint {
		display: flex;
		align-items: center;
		gap: 5px;
		margin: 9px 0 0;
		color: var(--muted);
		font-size: 12px;
		font-weight: 700;
	}
	.fraction-preview-hint span {
		color: var(--ink);
		font-size: 16px;
		line-height: 1;
	}
	.fraction-card.is-preview-hint-removed .fraction-preview-hint {
		display: none;
	}
	.fraction-vote-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 10px;
		border-top: 1px solid var(--line);
	}
	.vote-dot-column-group {
		display: contents;
	}
	.vote-dot-column-group::before {
		display: none;
	}
	.vote-dot-column-group .vote-dot-column:not(.is-empty) {
		border-top: 1px solid var(--line);
		border-left: 0;
		padding-left: 0;
		padding-top: 10px;
	}
	.vote-dot-column {
		display: flex;
		min-height: 0;
		flex-direction: column;
		border-left: 0;
		padding: 10px 0;
	}
	.vote-dot-column + .vote-dot-column {
		border-top: 0;
	}
	.vote-dot-column.is-empty {
		display: none;
	}
	.vote-dot-column:not(.is-empty) ~ .vote-dot-column:not(.is-empty) {
		border-top: 1px solid var(--line);
	}
	.vote-dot-column + .vote-dot-column::before {
		display: none;
	}
	.member-dot-grid {
		width: 100%;
		max-width: none;
		min-height: 0;
		justify-content: flex-start;
	}
	.fraction-count {
		display: flex;
		align-items: baseline;
		justify-content: flex-start;
		gap: 5px;
		max-width: none;
		border-top: 0;
		padding-top: 0;
		margin: 0 0 8px;
	}
	.fraction-count-label {
		display: inline;
		margin-right: auto;
		font-size: 13px;
	}
	.person-title h1 {
		font-size: 30px;
	}
	.filter-form {
		align-items: stretch;
		gap: 10px;
		padding: 12px;
	}
	.filter-toggle {
		display: flex;
		align-self: flex-end;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		gap: 5px;
		min-height: 38px;
		padding: 0 11px;
		border: 1px solid var(--line-strong);
		background: var(--paper);
		color: var(--ink);
		cursor: pointer;
	}
	.filter-toggle-icon {
		width: 18px;
		height: 18px;
		fill: currentColor;
	}
	.filter-toggle-caret {
		width: 7px;
		height: 7px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
		transition: transform 120ms ease;
	}
	.filter-form.is-expanded .filter-toggle-caret {
		transform: translateY(1px) rotate(225deg);
	}
	.filter-form:not(.is-expanded) > :not(.filter-search-field):not(.filter-toggle):not(.filter-actions) {
		display: none;
	}
	.form-field,
	.form-field-wide,
	.topic-picker {
		min-width: 100%;
	}
	.filter-form .filter-search-field {
		flex: 1 1 0;
		min-width: 0;
	}
	.filter-actions {
		width: 100%;
		margin-left: 0;
	}
	.filter-actions .button {
		flex: 1;
		min-height: 38px;
		justify-content: center;
	}
	.button {
		min-height: 44px;
	}
	.button-compact {
		min-height: 40px;
	}
	.nav-link {
		min-height: 44px;
		font-size: 14px;
	}
	.votes-controls {
		gap: 14px;
	}
	.control-group {
		width: 100%;
	}
	.segmented-control {
		width: 100%;
	}
	.segmented-control-item {
		min-height: 38px;
		flex: 1 1 0;
		padding-right: 8px;
		padding-left: 8px;
	}
	.control-label,
	.form-field span,
	.topic-picker-label,
	.topic-picker-search span,
	.topic-match-field > span {
		font-size: 12px;
	}
	.form-field input,
	.form-field select,
	.topic-picker-value,
	.topic-picker-search input,
	.topic-match-field select {
		min-height: 38px;
		padding-top: 5px;
		padding-bottom: 5px;
		/* >=16px keeps iOS Safari from zooming in when the field gains focus */
		font-size: 16px;
	}
	.filter-chip {
		min-height: 40px;
		padding-right: 11px;
		padding-left: 11px;
	}
	.topic-picker-panel {
		width: 100%;
	}
	.person-grid {
		grid-template-columns: 1fr;
	}
	.person-hero {
		grid-template-columns: 1fr;
	}
	.profile-photo {
		width: 132px;
	}
	.history-list li {
		grid-template-columns: 1fr;
		gap: 3px;
	}
	.business-head,
	.section-heading {
		display: block;
	}
	.section-heading span {
		display: inline-block;
		margin-top: 4px;
	}
	.data-table {
		font-size: 13px;
	}
	.data-table th,
	.data-table td {
		padding: 8px 7px;
	}
	.business-group .table-scroll {
		overflow: visible;
	}
	.votes-table {
		display: block;
		min-width: 0;
		border: 0;
		background: transparent;
	}
	.votes-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.votes-table tbody {
		display: grid;
		gap: 10px;
	}
	.votes-table tbody tr {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		border: 1px solid var(--line);
		background: var(--paper);
		padding: 11px;
		cursor: pointer;
	}
	.votes-table tbody tr:hover {
		background: #fafbfc;
	}
	.votes-table tbody tr:focus-within {
		outline: 3px solid rgba(27, 95, 214, 0.28);
		outline-offset: 1px;
	}
	.votes-table td,
	.votes-table th:nth-child(1),
	.votes-table td:nth-child(1),
	.votes-table th:nth-child(2),
	.votes-table td:nth-child(2),
	.votes-table th:nth-child(4),
	.votes-table td:nth-child(4) {
		display: block;
		width: auto;
		min-width: 0;
		border: 0;
		padding: 0;
	}
	.vote-card-label {
		display: block;
		margin-bottom: 2px;
		color: var(--muted);
		font-size: 10px;
		font-weight: 800;
		line-height: 1.2;
		text-transform: uppercase;
	}
	.vote-council-cell,
	.vote-date-cell {
		color: var(--muted);
		font-size: 13px;
		font-weight: 700;
	}
	.vote-date-cell {
		text-align: right;
	}
	.votes-table .subject-cell,
	.votes-table .result-cell {
		grid-column: 1 / -1;
		margin-top: 10px;
		padding-top: 0;
	}
	.votes-table .subject-cell {
		font-size: 15px;
		font-weight: 700;
	}
	.votes-table .subject-cell.is-empty {
		display: none;
	}
	.votes-table td.result-cell {
		container-type: inline-size;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 5px 10px;
		min-width: 0;
	}
	.votes-table .vote-bars-compact {
		grid-column: 1 / -1;
		min-width: 0;
	}
	.votes-table .vote-card-action {
		display: inline-flex;
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		color: var(--focus);
		font-size: 13px;
		font-weight: 700;
		white-space: nowrap;
	}
	.votes-table .vote-card-action::after {
		position: absolute;
		z-index: 1;
		inset: 0;
		content: "";
	}
	.votes-table .vote-row-action {
		display: none;
	}
	.individual-table {
		display: block;
		min-width: 0;
		border: 0;
		background: transparent;
	}
	.individual-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.individual-table tbody {
		display: block;
		border-top: 1px solid var(--line);
	}
	.individual-table tbody tr[data-vote-row] {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 56px;
		align-items: center;
		gap: 10px;
		border-bottom: 1px solid var(--line);
		padding: 9px 2px;
	}
	.individual-table tbody tr[data-vote-row]:hover {
		background: #fafbfc;
	}
	.individual-table tbody tr[data-vote-row]:focus-within {
		outline: 3px solid rgba(27, 95, 214, 0.28);
		outline-offset: 1px;
	}
	.individual-table tbody tr[hidden] {
		display: none;
	}
	.individual-table td {
		display: block;
		width: auto;
		min-width: 0;
		border: 0;
		padding: 0;
	}
	.individual-table .individual-party-cell,
	.individual-table .individual-fraction-cell,
	.individual-table .individual-canton-cell {
		display: none;
	}
	.individual-person-cell {
		grid-column: 1;
		min-width: 0;
	}
	.individual-person-link {
		display: block;
		min-width: 0;
		color: var(--ink);
		font-size: 15px;
		font-weight: 750;
		line-height: 1.25;
	}
	.individual-person-link::after {
		position: absolute;
		inset: 0;
		content: "";
	}
	.individual-person-link:hover {
		text-decoration: none;
	}
	.individual-mobile-meta {
		display: block;
		margin-top: 3px;
		color: var(--muted);
		font-size: 12px;
		font-weight: 650;
		line-height: 1.2;
	}
	.individual-table td.individual-decision-cell {
		grid-column: 2;
		width: auto;
		max-width: 132px;
		text-align: right;
		pointer-events: none;
	}
	.individual-empty-row td {
		display: block;
		padding: 16px 8px;
	}
	.canton-map-layout {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.canton-map-frame {
		overflow: hidden;
		padding: 2px;
	}
	.canton-touch-hint {
		display: block;
	}
	.canton-shape {
		touch-action: none;
	}
	.canton-map-info {
		border-top: 1px solid var(--line-strong);
		border-left: 0;
		padding-top: 10px;
		padding-left: 0;
	}
	.canton-map-info > span {
		min-height: 0;
	}
	.canton-map-legend {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.credit-details > div {
		grid-template-columns: 1fr;
		gap: 3px;
	}
	.vote-bars:not(.vote-bars-compact) {
		gap: 12px;
	}
	.vote-bars:not(.vote-bars-compact) .vote-bar-row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 2px 10px;
	}
	.vote-bars:not(.vote-bars-compact) .vote-bar-label {
		justify-content: flex-start;
		text-align: left;
	}
	.vote-bars:not(.vote-bars-compact) .vote-bar-label .legend-swatch {
		order: -1;
	}
	.vote-bars:not(.vote-bars-compact) .vote-bar-track {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}
