.turbo-progress-bar {
	height: 3px;
	background: linear-gradient(to right, #ff7e00, #ffcc00);
	box-shadow: 0 0 10px #ff7e00b3;
}

turbo-frame[data-controller~="turbo-action"] {
	position: relative;
	display: block;
}

.frame-loading {
	position: absolute;
	inset: 0;

	display: block;

	z-index: 100;
	pointer-events: none;
}

.frame-loading::before {
	content: '';
	position: absolute;
	inset: 0;

	background: rgba(255, 255, 255, .15);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);

	transition: background .2s ease, backdrop-filter .2s ease;
}

.frame-loading.d-none {
	display: none !important;
}

.frame-loading-indicator {
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1;

	display: flex;
	align-items: center;
	justify-content: center;

	transform: translate(-50%, -50%);
}

.frame-loading-logo {
	display: block;
	width: 70px;
	height: 70px;

	background-image: url('/images/df-loading.gif');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.frame-loading .spinner-border {
	width: 2rem;
	height: 2rem;
}

body[data-style-mode="dark"] .frame-loading::before {
	background: rgba(0, 0, 0, .25);
}