.lh-a11y-root {
	--lh-a11y-accent: #004071;
	--lh-a11y-accent-contrast: #fff;
	--lh-a11y-accent-ink: #004071;
	--lh-a11y-border: #d8e1e6;
	--lh-a11y-muted: #5b6870;
	--lh-a11y-surface: #fff;
	--lh-a11y-soft: #eef4f6;
	--lh-a11y-pointer-y: 50vh;
	color: #172126;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.5;
	text-align: start;
	text-transform: none;
}

.lh-a11y-root *,
.lh-a11y-root *::before,
.lh-a11y-root *::after {
	box-sizing: border-box;
}

.lh-a11y-launcher {
	align-items: center;
	background: var(--lh-a11y-accent);
	border: 3px solid #fff;
	border-radius: 50%;
	bottom: max(24px, env(safe-area-inset-bottom));
	box-shadow: 0 6px 24px rgb(0 0 0 / 24%);
	color: var(--lh-a11y-accent-contrast);
	cursor: pointer;
	display: flex;
	height: 60px;
	justify-content: center;
	margin: 0;
	padding: 10px;
	position: fixed;
	transition: box-shadow 160ms ease, transform 160ms ease;
	width: 60px;
	z-index: 2147483600;
}

.lh-a11y-desktop-left .lh-a11y-launcher {
	left: max(24px, env(safe-area-inset-left));
}

.lh-a11y-desktop-right .lh-a11y-launcher {
	right: max(24px, env(safe-area-inset-right));
}

.lh-a11y-launcher:hover {
	box-shadow: 0 8px 28px rgb(0 0 0 / 32%);
	transform: translateY(-2px);
}

.lh-a11y-launcher:focus-visible,
.lh-a11y-dialog button:focus-visible,
.lh-a11y-dialog a:focus-visible {
	box-shadow: 0 0 0 5px #111;
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.lh-a11y-launcher-icon {
	display: block;
	height: 38px;
	width: 38px;
}

.lh-a11y-dialog {
	background: transparent;
	border: 0;
	bottom: max(96px, calc(env(safe-area-inset-bottom) + 84px));
	color: #172126;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	height: min(680px, 70dvh);
	line-height: 1.5;
	margin: 0;
	max-height: calc(100dvh - 120px);
	max-width: calc(100vw - 48px);
	overflow: visible;
	padding: 0;
	position: fixed;
	top: auto;
	width: 360px;
	z-index: 2147483647;
}

.lh-a11y-dialog::backdrop {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: transparent;
}

.lh-a11y-desktop-left .lh-a11y-dialog {
	left: max(24px, env(safe-area-inset-left));
	right: auto;
}

.lh-a11y-desktop-right .lh-a11y-dialog {
	left: auto;
	right: max(24px, env(safe-area-inset-right));
}

.lh-a11y-panel {
	background: var(--lh-a11y-surface);
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 18px;
	box-shadow: 0 18px 52px rgb(0 0 0 / 28%);
	display: flex;
	flex-direction: column;
	height: 100%;
	max-height: 100%;
	overflow: hidden;
}

.lh-a11y-header {
	align-items: center;
	background: var(--lh-a11y-accent);
	color: var(--lh-a11y-accent-contrast);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 14px 16px;
}

.lh-a11y-header h2,
.lh-a11y-section h3,
.lh-a11y-section p,
.lh-a11y-footer p {
	color: inherit;
	font-family: inherit;
	font-style: normal;
	letter-spacing: normal;
	margin: 0;
	text-transform: none;
}

.lh-a11y-header h2 {
	flex: 1 1 auto;
	font-size: 17px;
	font-weight: 750;
	line-height: 1.22;
}

.lh-a11y-desktop-right .lh-a11y-panel {
	border-radius: 18px;
}

.lh-a11y-close {
	align-items: center;
	background: rgb(255 255 255 / 14%);
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 50%;
	color: inherit;
	cursor: pointer;
	display: flex;
	flex: 0 0 auto;
	height: 38px;
	justify-content: center;
	margin: 0;
	padding: 8px;
	width: 38px;
}

.lh-a11y-close:hover {
	background: rgb(255 255 255 / 24%);
}

.lh-a11y-close svg {
	fill: currentColor;
	height: 20px;
	width: 20px;
}

.lh-a11y-content {
	background: #f6f8f9;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 8px 20px 22px;
	scrollbar-color: #a8b6bd transparent;
	scrollbar-width: thin;
}

.lh-a11y-section {
	border-bottom: 1px solid var(--lh-a11y-border);
	padding: 20px 0;
}

.lh-a11y-section:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.lh-a11y-section-heading {
	margin-bottom: 12px;
}

.lh-a11y-section-heading h3 {
	color: #172126;
	font-size: 15px;
	font-weight: 750;
	line-height: 1.35;
}

.lh-a11y-section-heading p {
	color: var(--lh-a11y-muted);
	font-size: 12px;
	line-height: 1.4;
	margin-top: 3px;
}

.lh-a11y-profile-grid,
.lh-a11y-tool-grid {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lh-a11y-profile:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.lh-a11y-state-button {
	appearance: none;
	background: #fff;
	border: 1px solid var(--lh-a11y-border);
	border-radius: 12px;
	color: #243138;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.3;
	margin: 0;
	min-height: 52px;
	padding: 12px 35px 12px 13px;
	position: relative;
	text-align: start;
	transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
	width: 100%;
}

.lh-a11y-state-button:hover {
	border-color: var(--lh-a11y-accent);
	box-shadow: 0 3px 12px rgb(0 64 113 / 10%);
	transform: translateY(-1px);
}

.lh-a11y-state-button[aria-pressed="true"] {
	background: var(--lh-a11y-accent);
	border-color: var(--lh-a11y-accent);
	box-shadow: 0 4px 14px rgb(0 64 113 / 18%);
	color: var(--lh-a11y-accent-contrast);
}

.lh-a11y-profile {
	min-height: 76px;
}

.lh-a11y-button-label,
.lh-a11y-button-description {
	display: block;
}

.lh-a11y-button-description {
	color: var(--lh-a11y-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.35;
	margin-top: 5px;
}

.lh-a11y-state-button[aria-pressed="true"] .lh-a11y-button-description {
	color: inherit;
}

.lh-a11y-check {
	fill: currentColor;
	height: 14px;
	inset-inline-end: 10px;
	opacity: 0;
	position: absolute;
	top: 10px;
	transform: scale(0.65);
	transition: opacity 120ms ease, transform 120ms ease;
	width: 14px;
}

.lh-a11y-state-button[aria-pressed="true"] .lh-a11y-check {
	opacity: 1;
	transform: scale(1);
}

.lh-a11y-size-control {
	align-items: center;
	background: #fff;
	border: 1px solid var(--lh-a11y-border);
	border-radius: 12px;
	display: flex;
	font-size: 13px;
	font-weight: 650;
	justify-content: space-between;
	margin-bottom: 0;
	min-height: 54px;
	padding: 7px 8px 7px 13px;
}

.lh-a11y-size-control > div {
	align-items: center;
	display: flex;
	gap: 4px;
}

.lh-a11y-size-control button {
	align-items: center;
	background: var(--lh-a11y-soft);
	border: 1px solid transparent;
	border-radius: 9px;
	color: var(--lh-a11y-accent-ink);
	cursor: pointer;
	display: flex;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	height: 38px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0;
	width: 46px;
}

.lh-a11y-size-control button > span {
	line-height: 1;
}

.lh-a11y-size-letter {
	font-weight: 800;
}

.lh-a11y-size-letter-small {
	font-size: 13px;
}

.lh-a11y-size-letter-large {
	font-size: 19px;
}

.lh-a11y-size-section {
	padding-bottom: 16px;
	padding-top: 12px;
}

.lh-a11y-size-control button:hover {
	background: #dce9ee;
}

.lh-a11y-size-control button:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.lh-a11y-size-control output {
	color: #243138;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	min-width: 48px;
	text-align: center;
}

.lh-a11y-footer {
	background: #fff;
	border-top: 1px solid var(--lh-a11y-border);
	padding: 16px 20px 18px;
	text-align: center;
}

.lh-a11y-reset {
	align-items: center;
	background: transparent;
	border: 1px solid var(--lh-a11y-border);
	border-radius: 10px;
	color: var(--lh-a11y-accent-ink);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	gap: 7px;
	justify-content: center;
	margin: 0;
	min-height: 40px;
	padding: 8px 13px;
}

.lh-a11y-reset:hover {
	background: var(--lh-a11y-soft);
}

.lh-a11y-reset svg {
	fill: currentColor;
	height: 17px;
	width: 17px;
}

.lh-a11y-statement {
	color: var(--lh-a11y-accent-ink);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	margin-inline-start: 12px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.lh-a11y-footer p {
	color: var(--lh-a11y-muted);
	font-size: 10px;
	line-height: 1.4;
	margin-top: 10px;
}

.lh-a11y-reading-guide,
.lh-a11y-reading-mask {
	display: none;
	pointer-events: none;
	position: fixed;
	z-index: 2147483500;
}

.lh-a11y-root[data-guide="true"] .lh-a11y-reading-guide {
	background: #ffbf47;
	box-shadow: 0 1px 0 #111, 0 -1px 0 #111;
	display: block;
	height: 4px;
	left: 0;
	right: 0;
	top: var(--lh-a11y-pointer-y);
}

.lh-a11y-root[data-mask="true"] .lh-a11y-reading-mask {
	background: linear-gradient(
		to bottom,
		rgb(0 0 0 / 66%) 0,
		rgb(0 0 0 / 66%) calc(var(--lh-a11y-pointer-y) - 44px),
		transparent calc(var(--lh-a11y-pointer-y) - 44px),
		transparent calc(var(--lh-a11y-pointer-y) + 44px),
		rgb(0 0 0 / 66%) calc(var(--lh-a11y-pointer-y) + 44px),
		rgb(0 0 0 / 66%) 100%
	);
	display: block;
	inset: 0;
}

.lh-a11y-root[data-grayscale="true"]::before {
	-webkit-backdrop-filter: grayscale(1);
	backdrop-filter: grayscale(1);
	content: "";
	inset: 0;
	pointer-events: none;
	position: fixed;
	z-index: 2147483400;
}

.lh-a11y-live {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* User-selected page effects. The widget itself is deliberately excluded. */
html[data-lh-a11y-text="110"] {
	font-size: 110% !important;
}

html[data-lh-a11y-text="120"] {
	font-size: 120% !important;
}

html[data-lh-a11y-text="130"] {
	font-size: 130% !important;
}

html[data-lh-a11y-readable-font="true"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, label, input, textarea, select, button, table) {
	font-family: Arial, Helvetica, sans-serif !important;
}

html[data-lh-a11y-text-spacing="true"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, label, input, textarea, select, button, table) {
	letter-spacing: 0.08em !important;
	line-height: 1.7 !important;
	word-spacing: 0.14em !important;
}

html[data-lh-a11y-focus="true"] body > :not(#lh-accessibility-root):focus,
html[data-lh-a11y-focus="true"] body > :not(#lh-accessibility-root) :focus {
	outline: 4px solid #ffbf47 !important;
	outline-offset: 4px !important;
	box-shadow: 0 0 0 2px #111 !important;
}

html[data-lh-a11y-headings="true"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6) {
	outline: 3px solid #ffbf47 !important;
	outline-offset: 3px !important;
}

html[data-lh-a11y-links="true"] body > :not(#lh-accessibility-root) a {
	outline: 2px solid #ffbf47 !important;
	outline-offset: 2px !important;
	text-decoration: underline 3px !important;
	text-underline-offset: 3px !important;
}

html[data-lh-a11y-cursor="true"],
html[data-lh-a11y-cursor="true"] body,
html[data-lh-a11y-cursor="true"] body * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Cpath fill='white' stroke='black' stroke-width='2' stroke-linejoin='round' d='M4 2v26l7-7 5 11 5-2-5-11h11z'/%3E%3C/svg%3E") 4 2, auto !important;
}

html[data-lh-a11y-motion="true"] *,
html[data-lh-a11y-motion="true"] *::before,
html[data-lh-a11y-motion="true"] *::after {
	animation-delay: 0s !important;
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	animation-play-state: paused !important;
	scroll-behavior: auto !important;
	transition-delay: 0s !important;
	transition-duration: 0.01ms !important;
}

html[data-lh-a11y-contrast="high"] body > :not(#lh-accessibility-root),
html[data-lh-a11y-contrast="high"] body > :not(#lh-accessibility-root) :where(header, main, footer, section, article, aside, nav, div, form, fieldset, table, tr, td, th) {
	background-color: #000 !important;
	background-image: none !important;
	border-color: #fff !important;
	color: #fff !important;
	text-shadow: none !important;
}

html[data-lh-a11y-contrast="high"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6, p, span, li, label, input, textarea, select, button) {
	color: #fff !important;
}

html[data-lh-a11y-contrast="high"] body > :not(#lh-accessibility-root) :where(input, textarea, select, button, option) {
	background-color: #000 !important;
	border-color: #fff !important;
}

html[data-lh-a11y-contrast="high"] body > :not(#lh-accessibility-root) a {
	color: #ffeb3b !important;
	text-decoration: underline !important;
}

html[data-lh-a11y-contrast="dark"] body > :not(#lh-accessibility-root),
html[data-lh-a11y-contrast="dark"] body > :not(#lh-accessibility-root) :where(header, main, footer, section, article, aside, nav, div, form, fieldset, table, tr, td, th) {
	background-color: #111820 !important;
	background-image: none !important;
	border-color: #d5e0e5 !important;
	color: #f7fafc !important;
	text-shadow: none !important;
}

html[data-lh-a11y-contrast="dark"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6, p, span, li, label, input, textarea, select, button) {
	color: #f7fafc !important;
}

html[data-lh-a11y-contrast="dark"] body > :not(#lh-accessibility-root) :where(input, textarea, select, button, option) {
	background-color: #111820 !important;
	border-color: #d5e0e5 !important;
}

html[data-lh-a11y-contrast="dark"] body > :not(#lh-accessibility-root) a {
	color: #7dd3fc !important;
	text-decoration: underline !important;
}

html[data-lh-a11y-contrast="light"] body > :not(#lh-accessibility-root),
html[data-lh-a11y-contrast="light"] body > :not(#lh-accessibility-root) :where(header, main, footer, section, article, aside, nav, div, form, fieldset, table, tr, td, th) {
	background-color: #fff !important;
	background-image: none !important;
	border-color: #111 !important;
	color: #111 !important;
	text-shadow: none !important;
}

html[data-lh-a11y-contrast="light"] body > :not(#lh-accessibility-root) :where(h1, h2, h3, h4, h5, h6, p, span, li, label, input, textarea, select, button) {
	color: #111 !important;
}

html[data-lh-a11y-contrast="light"] body > :not(#lh-accessibility-root) :where(input, textarea, select, button, option) {
	background-color: #fff !important;
	border-color: #111 !important;
}

html[data-lh-a11y-contrast="light"] body > :not(#lh-accessibility-root) a {
	color: #004071 !important;
	text-decoration: underline !important;
}

@media (max-width: 600px) {
	.lh-a11y-launcher {
		bottom: max(16px, env(safe-area-inset-bottom));
		height: 56px;
		width: 56px;
	}

	.lh-a11y-mobile-left .lh-a11y-launcher,
	.lh-a11y-mobile-right .lh-a11y-launcher {
		left: max(16px, env(safe-area-inset-left));
		right: auto;
	}

	.lh-a11y-header {
		padding: 12px 14px;
	}

	.lh-a11y-header h2 {
		font-size: 17px;
	}

	.lh-a11y-content {
		padding-inline: 16px;
	}

	.lh-a11y-footer {
		padding-inline: 16px;
	}
}

@media (max-width: 560px) {
	.lh-a11y-dialog {
		bottom: max(84px, calc(env(safe-area-inset-bottom) + 68px));
		height: min(640px, calc(100dvh - 110px));
		left: 12px !important;
		max-height: calc(100dvh - 110px);
		max-width: none;
		right: 12px !important;
		width: auto;
	}

	.lh-a11y-panel,
	.lh-a11y-desktop-right .lh-a11y-panel {
		border-radius: 16px;
	}
}

@media (max-width: 360px) {
	.lh-a11y-profile-grid,
	.lh-a11y-tool-grid {
		grid-template-columns: 1fr;
	}

	.lh-a11y-profile:last-child:nth-child(odd) {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lh-a11y-root *,
	.lh-a11y-root *::before,
	.lh-a11y-root *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	.lh-a11y-launcher,
	.lh-a11y-state-button[aria-pressed="true"] {
		border: 2px solid ButtonText;
	}

	.lh-a11y-check {
		fill: ButtonText;
	}
}
