body.itsp-enabled {
	--itsp-page-progress: 0;
	--itsp-container-progress: 0;
	--itsp-track-visibility: 0;
	--itsp-container-track-visibility: 0;
	--itsp-height: var(--itsp-height-desktop, 5px);
	--itsp-container-height: var(--itsp-container-height-desktop, 3px);
	--itsp-page-reserve: var(--itsp-height);
	--itsp-container-reserve: calc(var(--itsp-container-height) + 18px);
}

@media (max-width: 782px) {
	body.itsp-enabled {
		--itsp-height: var(--itsp-height-mobile, var(--itsp-height-desktop, 5px));
		--itsp-container-height: var(--itsp-container-height-mobile, var(--itsp-container-height-desktop, 3px));
	}
}

body.itsp-enabled.itsp-show-track {
	--itsp-track-visibility: 1;
}

body.itsp-enabled.itsp-container-show-track {
	--itsp-container-track-visibility: 1;
}

body.itsp-enabled {
	box-sizing: border-box;
}

body.itsp-enabled.itsp-position-right {
	padding-right: calc(var(--itsp-page-reserve) + env(safe-area-inset-right, 0px));
}

body.itsp-enabled.itsp-position-left {
	padding-left: calc(var(--itsp-page-reserve) + env(safe-area-inset-left, 0px));
}

body.itsp-enabled .itsp-page-progress {
	position: fixed;
	left: var(--itsp-page-left, auto);
	right: var(--itsp-page-right, 0);
	top: 0;
	bottom: 0;
	width: var(--itsp-height);
	pointer-events: auto;
	z-index: 999999;
	transform: translateZ(0);
	background: transparent;
	overflow: hidden;
	touch-action: none;
	transition: width 0.18s ease;
	cursor: default;
}

body.itsp-enabled .itsp-page-progress__track,
body.itsp-enabled .itsp-page-progress__bar,
body.itsp-enabled .itsp-page-progress__thumb {
	position: absolute;
	border-radius: 0;
}

body.itsp-enabled .itsp-page-progress__track,
body.itsp-enabled .itsp-page-progress__bar {
	inset: 0;
}

body.itsp-enabled.itsp-position-right .itsp-page-progress__track,
body.itsp-enabled.itsp-position-right .itsp-page-progress__bar {
	border-radius: 0;
}

body.itsp-enabled.itsp-position-left .itsp-page-progress__track,
body.itsp-enabled.itsp-position-left .itsp-page-progress__bar {
	border-radius: 0;
}

body.itsp-enabled .itsp-page-progress__track {
	opacity: calc(var(--itsp-track-visibility) * var(--itsp-track-opacity));
	background: color-mix(in srgb, var(--itsp-track) 100%, white 0%);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: opacity 0.18s ease, filter 0.18s ease;
}

body.itsp-enabled .itsp-page-progress__bar {
	inset: 0 0 auto 0;
	height: 100%;
	background: linear-gradient(90deg, var(--itsp-accent), var(--itsp-accent-secondary));
	transform-origin: center top;
	transform: translateZ(0) scaleY(0);
	will-change: transform;
	box-shadow: none;
}

body.itsp-enabled .itsp-page-progress__thumb {
	left: 50%;
	top: 0;
	width: max(14px, calc(var(--itsp-height) + 10px));
	height: max(26px, calc(var(--itsp-height) * 4.6));
	transform: translate(-50%, -50%);
	background: linear-gradient(180deg, color-mix(in srgb, var(--itsp-accent-secondary) 92%, white 8%), var(--itsp-accent-secondary));
	border: 1px solid color-mix(in srgb, var(--itsp-accent) 34%, white 66%);
	box-shadow: 0 0 0 3px color-mix(in srgb, white 78%, transparent 22%), 0 8px 18px color-mix(in srgb, var(--itsp-accent-secondary) 24%, transparent 76%);
	cursor: inherit;
	z-index: 2;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

body.itsp-enabled .itsp-page-progress:hover {
	width: var(--itsp-height);
	cursor: grab;
}

body.itsp-enabled .itsp-page-progress:hover .itsp-page-progress__track {
	filter: saturate(1.08);
	opacity: max(calc(var(--itsp-track-visibility) * var(--itsp-track-opacity)), 0.12);
}

body.itsp-enabled .itsp-page-progress:hover .itsp-page-progress__thumb,
body.itsp-enabled.itsp-dragging .itsp-page-progress__thumb {
	transform: translate(-50%, -50%) scale(1.08);
	filter: saturate(1.08) brightness(1.03);
	box-shadow: 0 0 0 4px color-mix(in srgb, white 82%, transparent 18%), 0 12px 28px color-mix(in srgb, var(--itsp-accent-secondary) 30%, transparent 70%);
}

body.itsp-enabled .itsp-page-progress:hover .itsp-page-progress__thumb {
	cursor: grab;
}

body.itsp-enabled.itsp-style-glass .itsp-page-progress__bar {
	background: linear-gradient(180deg, color-mix(in srgb, var(--itsp-accent) 85%, white 15%), color-mix(in srgb, var(--itsp-accent-secondary) 80%, white 20%));
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

body.itsp-enabled.itsp-position-left .itsp-page-progress__bar,
body.itsp-enabled.itsp-position-right .itsp-page-progress__bar {
	background: linear-gradient(180deg, var(--itsp-accent), var(--itsp-accent-secondary));
}

body.itsp-enabled.itsp-style-glow .itsp-page-progress__bar,
body.itsp-enabled.itsp-has-glow .itsp-page-progress__bar {
	box-shadow: 0 0 18px color-mix(in srgb, var(--itsp-accent-secondary) 50%, transparent 50%);
}

body.itsp-enabled.itsp-container-style-glow .itsp-container-progress__bar,
body.itsp-enabled.itsp-container-has-glow .itsp-container-progress__bar {
	box-shadow: 0 0 14px color-mix(in srgb, var(--itsp-container-accent-secondary) 45%, transparent 55%);
}

html.itsp-enabled-root,
html.itsp-enabled-root body,
body.itsp-enabled,
body.itsp-enabled * {
	scrollbar-width: none;
	-ms-overflow-style: none;
	scrollbar-color: transparent transparent;
}

html.itsp-enabled-root::-webkit-scrollbar,
html.itsp-enabled-root body::-webkit-scrollbar,
body.itsp-enabled::-webkit-scrollbar,
body.itsp-enabled *::-webkit-scrollbar {
	width: 0 !important;
	height: 0 !important;
	display: none !important;
	background: transparent !important;
}

html.itsp-enabled-root,
html.itsp-enabled-root body,
body.itsp-enabled,
body.itsp-enabled body {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

body.itsp-enabled .itsp-scrollable {
	position: relative;
	isolation: isolate;
}

body.itsp-enabled.itsp-side-right .itsp-scrollable.itsp-scrollable--vertical {
	padding-right: calc(var(--itsp-container-reserve) + env(safe-area-inset-right, 0px));
}

body.itsp-enabled.itsp-side-left .itsp-scrollable.itsp-scrollable--vertical {
	padding-left: calc(var(--itsp-container-reserve) + env(safe-area-inset-left, 0px));
}

body.itsp-enabled .itsp-scrollable.itsp-scrollable--horizontal {
	padding-bottom: calc(var(--itsp-container-reserve) - 2px);
}

body.itsp-enabled .itsp-container-progress {
	position: absolute;
	top: 10px;
	bottom: 10px;
	width: max(2px, var(--itsp-container-height));
	border-radius: 0;
	pointer-events: auto;
	overflow: hidden;
	z-index: 2147483646;
	will-change: transform;
	transform: translate3d(0, 0, 0);
	touch-action: none;
	transition: width 0.18s ease, height 0.18s ease;
	cursor: default;
}

body.itsp-enabled.itsp-side-right .itsp-container-progress {
	margin-left: auto;
	right: 8px;
	left: auto;
}

body.itsp-enabled.itsp-side-left .itsp-container-progress {
	margin-right: auto;
	left: 8px;
	right: auto;
}

body.itsp-enabled .itsp-container-progress.is-horizontal {
	left: 10px;
	right: 10px;
	top: auto;
	bottom: 8px;
	height: max(2px, var(--itsp-container-height));
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

body.itsp-enabled .itsp-container-progress__track,
body.itsp-enabled .itsp-container-progress__bar,
body.itsp-enabled .itsp-container-progress__thumb {
	position: absolute;
	border-radius: 0;
}

body.itsp-enabled .itsp-container-progress__track,
body.itsp-enabled .itsp-container-progress__bar {
	inset: 0;
}

body.itsp-enabled .itsp-container-progress__track {
	background: var(--itsp-container-track);
	opacity: calc(var(--itsp-container-track-visibility) * var(--itsp-container-track-opacity));
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: opacity 0.18s ease, filter 0.18s ease;
}

body.itsp-enabled .itsp-container-progress__bar {
	transform-origin: center top;
	transform: scaleY(0);
	background: linear-gradient(180deg, var(--itsp-container-accent), var(--itsp-container-accent-secondary));
	border-radius: 0;
	will-change: transform;
}

body.itsp-enabled .itsp-container-progress__thumb {
	left: 50%;
	top: 0;
	width: max(11px, calc(var(--itsp-container-height) + 7px));
	height: max(18px, calc(var(--itsp-container-height) * 4.2));
	transform: translate(-50%, -50%);
	background: linear-gradient(180deg, color-mix(in srgb, var(--itsp-container-accent-secondary) 92%, white 8%), var(--itsp-container-accent-secondary));
	border: 1px solid color-mix(in srgb, var(--itsp-container-accent) 36%, white 64%);
	box-shadow: 0 0 0 2px color-mix(in srgb, white 74%, transparent 26%), 0 6px 14px color-mix(in srgb, var(--itsp-container-accent-secondary) 22%, transparent 78%);
	cursor: inherit;
	z-index: 2;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, background 0.18s ease;
}

body.itsp-enabled .itsp-container-progress:hover {
	width: calc(var(--itsp-container-height) + 4px);
	cursor: grab;
}

body.itsp-enabled .itsp-container-progress:hover .itsp-container-progress__track {
	filter: saturate(1.06);
	opacity: max(calc(var(--itsp-container-track-visibility) * var(--itsp-container-track-opacity)), 0.1);
}

body.itsp-enabled .itsp-container-progress:hover .itsp-container-progress__thumb,
body.itsp-enabled.itsp-dragging .itsp-container-progress__thumb {
	transform: translate(-50%, -50%) scale(1.08);
	filter: saturate(1.08) brightness(1.03);
	box-shadow: 0 0 0 3px color-mix(in srgb, white 78%, transparent 22%), 0 10px 20px color-mix(in srgb, var(--itsp-container-accent-secondary) 26%, transparent 74%);
}

body.itsp-enabled .itsp-container-progress:hover .itsp-container-progress__thumb {
	cursor: grab;
}

body.itsp-enabled.itsp-container-style-glass .itsp-container-progress__bar {
	background: linear-gradient(180deg, color-mix(in srgb, var(--itsp-container-accent) 86%, white 14%), color-mix(in srgb, var(--itsp-container-accent-secondary) 82%, white 18%));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

body.itsp-enabled .itsp-container-progress.is-horizontal .itsp-container-progress__bar {
	transform-origin: left center;
	transform: scaleX(0);
	background: linear-gradient(90deg, var(--itsp-container-accent), var(--itsp-container-accent-secondary));
}

body.itsp-enabled .itsp-container-progress.is-horizontal .itsp-container-progress__thumb {
	left: 0;
	top: 50%;
	width: max(18px, calc(var(--itsp-container-height) * 4.2));
	height: max(11px, calc(var(--itsp-container-height) + 7px));
	transform: translate(-50%, -50%);
	cursor: inherit;
}

body.itsp-enabled .itsp-container-progress.is-horizontal:hover {
	height: calc(var(--itsp-container-height) + 4px);
	width: auto;
}

body.itsp-enabled .itsp-container-progress.is-horizontal:hover .itsp-container-progress__thumb,
body.itsp-enabled.itsp-dragging .itsp-container-progress.is-horizontal .itsp-container-progress__thumb {
	transform: translate(-50%, -50%) scale(1.08);
}

body.itsp-enabled.itsp-style-glass .itsp-page-progress__thumb {
	background: color-mix(in srgb, var(--itsp-accent-secondary) 82%, white 18%);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

body.itsp-enabled.itsp-container-style-glass .itsp-container-progress__thumb {
	background: color-mix(in srgb, var(--itsp-container-accent-secondary) 82%, white 18%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

body.itsp-enabled.itsp-dragging,
body.itsp-enabled.itsp-dragging * {
	user-select: none;
	cursor: grabbing !important;
}

body.itsp-enabled.itsp-container-style-glass .itsp-container-progress.is-horizontal .itsp-container-progress__bar {
	background: linear-gradient(90deg, color-mix(in srgb, var(--itsp-container-accent) 86%, white 14%), color-mix(in srgb, var(--itsp-container-accent-secondary) 82%, white 18%));
}

body.itsp-enabled.itsp-hide-mobile .itsp-page-progress,
body.itsp-enabled.itsp-hide-mobile .itsp-container-progress {
	display: block;
}

@media (max-width: 782px) {
	body.itsp-enabled.itsp-hide-mobile .itsp-page-progress,
	body.itsp-enabled.itsp-hide-mobile .itsp-container-progress {
		display: none;
	}

	body.itsp-enabled.itsp-hide-mobile.itsp-position-right {
		padding-right: 0;
	}

	body.itsp-enabled.itsp-hide-mobile.itsp-position-left {
		padding-left: 0;
	}

	body.itsp-enabled .itsp-container-progress {
		top: 8px;
		bottom: 8px;
	}

	body.itsp-enabled.itsp-hide-mobile.itsp-side-right .itsp-scrollable.itsp-scrollable--vertical {
		padding-right: 0;
	}

	body.itsp-enabled.itsp-hide-mobile.itsp-side-left .itsp-scrollable.itsp-scrollable--vertical {
		padding-left: 0;
	}

	body.itsp-enabled.itsp-hide-mobile .itsp-scrollable.itsp-scrollable--horizontal {
		padding-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.itsp-enabled .itsp-page-progress__bar,
	body.itsp-enabled .itsp-container-progress__bar {
		will-change: auto;
	}
}