.fui-mls-switcher,
.fui-mls-switcher * {
	box-sizing: border-box;
}

.fui-mls-switcher {
	--fui-mls-button-size: 52px;
	--fui-mls-icon-size: 26px;
	--fui-mls-badge-size: 22px;
	--fui-mls-menu-gap: 12px;
	--fui-mls-effective-bottom: min(calc(var(--fui-mls-bottom, 24px) + env(safe-area-inset-bottom, 0px)), calc(100vh - var(--fui-mls-button-size) - 8px));
	position: fixed !important;
	bottom: var(--fui-mls-effective-bottom) !important;
	z-index: 99999 !important;
	width: var(--fui-mls-button-size) !important;
	height: var(--fui-mls-button-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif !important;
	font-style: normal !important;
	line-height: normal !important;
	text-align: left !important;
	direction: ltr !important;
}

.fui-mls-switcher.is-position-right {
	right: min(var(--fui-mls-right, 24px), calc(100vw - var(--fui-mls-button-size) - 8px)) !important;
	left: auto !important;
}

.fui-mls-switcher.is-position-left {
	right: auto !important;
	left: min(var(--fui-mls-left, 24px), calc(100vw - var(--fui-mls-button-size) - 8px)) !important;
}

.fui-mls-switcher.is-size-small {
	--fui-mls-button-size: 44px;
	--fui-mls-icon-size: 22px;
	--fui-mls-badge-size: 20px;
}

.fui-mls-switcher.is-size-large {
	--fui-mls-button-size: 60px;
	--fui-mls-icon-size: 30px;
	--fui-mls-badge-size: 24px;
}

.fui-mls-switcher-toggle {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: var(--fui-mls-radius, 12px) !important;
	outline: 0 !important;
	background: var(--fui-mls-background, #2563eb) !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.24) !important;
	color: #fff !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transform: translateZ(0);
	transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

.fui-mls-switcher.is-shape-circle .fui-mls-switcher-toggle {
	border-radius: 50% !important;
}

.fui-mls-switcher.is-shape-square .fui-mls-switcher-toggle {
	border-radius: 0 !important;
}

.fui-mls-switcher-toggle:hover {
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.3) !important;
	transform: translateY(-1px);
}

.fui-mls-switcher-toggle:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.95) !important;
	outline-offset: 3px !important;
}

.fui-mls-switcher-icon {
	display: block !important;
	width: var(--fui-mls-icon-size) !important;
	height: var(--fui-mls-icon-size) !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: contain !important;
	pointer-events: none !important;
}

.fui-mls-switcher-badge {
	position: absolute !important;
	top: calc(var(--fui-mls-badge-size) * -0.32) !important;
	left: calc(var(--fui-mls-badge-size) * -0.32) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--fui-mls-badge-size) !important;
	height: var(--fui-mls-badge-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(15, 23, 42, 0.12) !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 3px 10px rgba(15, 23, 42, 0.2) !important;
	color: #111827 !important;
	font-size: calc(var(--fui-mls-badge-size) * 0.43) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	pointer-events: none !important;
}

.fui-mls-switcher-list {
	position: absolute !important;
	bottom: 0 !important;
	display: block !important;
	width: 176px !important;
	max-width: calc(100vw - 32px) !important;
	max-height: min(420px, 60vh) !important;
	margin: 0 !important;
	padding: 6px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	border: 1px solid rgba(15, 23, 42, 0.12) !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 16px 42px rgba(15, 23, 42, 0.2) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateY(6px) scale(0.98) !important;
	transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease !important;
	overscroll-behavior: contain;
}

.fui-mls-switcher.is-position-right .fui-mls-switcher-list {
	right: calc(100% + var(--fui-mls-menu-gap)) !important;
	left: auto !important;
	transform-origin: right bottom !important;
}

.fui-mls-switcher.is-position-left .fui-mls-switcher-list {
	right: auto !important;
	left: calc(100% + var(--fui-mls-menu-gap)) !important;
	transform-origin: left bottom !important;
}

.fui-mls-switcher.is-open .fui-mls-switcher-list {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) scale(1) !important;
}

.fui-mls-switcher-link,
.fui-mls-switcher-link:link,
.fui-mls-switcher-link:visited {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111827 !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 22px !important;
	text-align: left !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	white-space: nowrap !important;
}

.fui-mls-switcher-link:hover,
.fui-mls-switcher-link:focus-visible {
	background: #f3f4f6 !important;
	color: #111827 !important;
	outline: 0 !important;
}

.fui-mls-switcher-link:focus-visible {
	box-shadow: inset 0 0 0 2px var(--fui-mls-background, #2563eb) !important;
}

.fui-mls-switcher-link.is-current {
	padding-left: 16px !important;
	background: #f8fafc !important;
	color: #111827 !important;
	font-weight: 600 !important;
}

.fui-mls-switcher-link.is-current::before {
	position: absolute !important;
	top: 10px !important;
	bottom: 10px !important;
	left: 6px !important;
	width: 3px !important;
	border-radius: 999px !important;
	background: var(--fui-mls-background, #2563eb) !important;
	content: "" !important;
}

@media (max-width: 800px) {
	.fui-mls-switcher-list {
		bottom: calc(100% + var(--fui-mls-menu-gap)) !important;
		max-height: min(420px, 60vh, calc(100vh - var(--fui-mls-effective-bottom) - var(--fui-mls-button-size) - var(--fui-mls-menu-gap) - 16px)) !important;
	}

	.fui-mls-switcher.is-position-right .fui-mls-switcher-list {
		right: 0 !important;
		left: auto !important;
		transform-origin: right bottom !important;
	}

	.fui-mls-switcher.is-position-left .fui-mls-switcher-list {
		right: auto !important;
		left: 0 !important;
		transform-origin: left bottom !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fui-mls-switcher-toggle,
	.fui-mls-switcher-list {
		transition: none !important;
	}
}
