:host {
																	--_focus-box-shadow: var(
																		--media-focus-box-shadow,
																		inset 0 0 0 2px rgb(27 127 204 / 0.9)
																	);
																	--_media-range-padding: var(
																		--media-range-padding,
																		var(--media-control-padding, 10px)
																	);

																	box-shadow: var(
																		--_focus-visible-box-shadow,
																		none
																	);
																	background: var(
																		--media-control-background,
																		var(
																			--media-secondary-color,
																			rgb(20 20 30 / 0.7)
																		)
																	);
																	height: calc(
																		var(--media-control-height, 24px) + 2 *
																			var(--_media-range-padding)
																	);
																	display: inline-flex;
																	align-items: center;

																	vertical-align: middle;
																	box-sizing: border-box;
																	position: relative;
																	width: 100px;
																	transition: background 0.15s linear;
																	cursor: var(--media-cursor, pointer);
																	pointer-events: auto;
																	touch-action: none;
																}

																input[type='range']:focus {
																	outline: 0;
																}
																input[type='range']:focus::-webkit-slider-runnable-track {
																	outline: 0;
																}

																:host(:hover) {
																	background: var(
																		--media-control-hover-background,
																		rgb(50 50 70 / 0.7)
																	);
																}

																#leftgap {
																	padding-left: var(
																		--media-range-padding-left,
																		var(--_media-range-padding)
																	);
																}

																#rightgap {
																	padding-right: var(
																		--media-range-padding-right,
																		var(--_media-range-padding)
																	);
																}

																#startpoint,
																#endpoint {
																	position: absolute;
																}

																#endpoint {
																	right: 0;
																}

																#container {
																	width: var(--media-range-track-width, 100%);
																	transform: translate(
																		var(--media-range-track-translate-x, 0px),
																		var(--media-range-track-translate-y, 0px)
																	);
																	position: relative;
																	height: 100%;
																	display: flex;
																	align-items: center;
																	min-width: 40px;
																}

																#range {
																	display: var(
																		--media-time-range-hover-display,
																		block
																	);
																	bottom: var(
																		--media-time-range-hover-bottom,
																		-7px
																	);
																	height: var(
																		--media-time-range-hover-height,
																		max(100% + 7px, 25px)
																	);
																	width: 100%;
																	position: absolute;
																	cursor: var(--media-cursor, pointer);

																	-webkit-appearance: none;
																	-webkit-tap-highlight-color: transparent;
																	background: transparent;
																	margin: 0;
																	z-index: 1;
																}

																@media (hover: hover) {
																	#range {
																		bottom: var(
																			--media-time-range-hover-bottom,
																			-5px
																		);
																		height: var(
																			--media-time-range-hover-height,
																			max(100% + 5px, 20px)
																		);
																	}
																}

																#range::-webkit-slider-thumb {
																	-webkit-appearance: none;
																	background: transparent;
																	width: 0.1px;
																	height: 0.1px;
																}

																#range::-moz-range-thumb {
																	background: transparent;
																	border: transparent;
																	width: 0.1px;
																	height: 0.1px;
																}

																#appearance {
																	height: var(--media-range-track-height, 4px);
																	display: flex;
																	flex-direction: column;
																	justify-content: center;
																	width: 100%;
																	position: absolute;

																	will-change: transform;
																}

																#track {
																	background: var(
																		--media-range-track-background,
																		rgb(255 255 255 / 0.2)
																	);
																	border-radius: var(
																		--media-range-track-border-radius,
																		1px
																	);
																	border: var(--media-range-track-border, none);
																	outline: var(--media-range-track-outline);
																	outline-offset: var(
																		--media-range-track-outline-offset
																	);
																	backdrop-filter: var(
																		--media-range-track-backdrop-filter
																	);
																	-webkit-backdrop-filter: var(
																		--media-range-track-backdrop-filter
																	);
																	box-shadow: var(
																		--media-range-track-box-shadow,
																		none
																	);
																	position: absolute;
																	width: 100%;
																	height: 100%;
																	overflow: hidden;
																}

																#progress,
																#pointer {
																	position: absolute;
																	height: 100%;
																	will-change: width;
																}

																#progress {
																	background: var(
																		--media-range-bar-color,
																		var(--media-primary-color, rgb(238 238 238))
																	);
																	transition: var(
																		--media-range-track-transition
																	);
																}

																#pointer {
																	background: var(
																		--media-range-track-pointer-background
																	);
																	border-right: var(
																		--media-range-track-pointer-border-right
																	);
																	transition:
																		visibility 0.25s,
																		opacity 0.25s;
																	visibility: hidden;
																	opacity: 0;
																}

																@media (hover: hover) {
																	:host(:hover) #pointer {
																		transition:
																			visibility 0.5s,
																			opacity 0.5s;
																		visibility: visible;
																		opacity: 1;
																	}
																}

																#thumb,
																::slotted([slot='thumb']) {
																	width: var(--media-range-thumb-width, 10px);
																	height: var(--media-range-thumb-height, 10px);
																	transition: var(
																		--media-range-thumb-transition
																	);
																	transform: var(
																		--media-range-thumb-transform,
																		none
																	);
																	opacity: var(--media-range-thumb-opacity, 1);
																	translate: -50%;
																	position: absolute;
																	left: 0;
																	cursor: var(--media-cursor, pointer);
																}

																#thumb {
																	border-radius: var(
																		--media-range-thumb-border-radius,
																		10px
																	);
																	background: var(
																		--media-range-thumb-background,
																		var(--media-primary-color, rgb(238 238 238))
																	);
																	box-shadow: var(
																		--media-range-thumb-box-shadow,
																		1px 1px 1px transparent
																	);
																	border: var(--media-range-thumb-border, none);
																}

																:host([disabled]) #thumb {
																	background-color: #777;
																}

																.segments #appearance {
																	height: var(
																		--media-range-segment-hover-height,
																		7px
																	);
																}

																#track {
																	clip-path: url(#segments-clipping);
																}

																#segments {
																	--segments-gap: var(
																		--media-range-segments-gap,
																		2px
																	);
																	position: absolute;
																	width: 100%;
																	height: 100%;
																}

																#segments-clipping {
																	transform: translateX(
																		calc(var(--segments-gap) / 2)
																	);
																}

																#segments-clipping:empty {
																	display: none;
																}

																#segments-clipping rect {
																	height: var(--media-range-track-height, 4px);
																	y: calc(
																		(
																				var(
																						--media-range-segment-hover-height,
																						7px
																					) -
																					var(--media-range-track-height, 4px)
																			) /
																			2
																	);
																	transition: var(
																		--media-range-segment-transition,
																		transform 0.1s ease-in-out
																	);
																	transform: var(
																		--media-range-segment-transform,
																		scaleY(1)
																	);
																	transform-origin: center;
																}
