.toast-stack {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 70;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	pointer-events: none;
}

.toast {
	pointer-events: none;
	max-width: 26rem;
	min-width: 16rem;
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.78));
	border: 1px solid rgba(253, 230, 138, 0.88);
	border-radius: 1rem;
	padding: 0.85rem 1rem;
	box-shadow: 0 20px 60px rgba(69, 26, 3, 0.18);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	opacity: 0;
	transform: translateY(14px) scale(0.98);
	--toast-duration: 5s;
	font-family: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color: rgb(69, 26, 3);
}

.toast::before {
	content: "";
	position: absolute;
	inset: -2px;
	background: radial-gradient(1200px 300px at -10% -30%, rgba(217, 119, 6, 0.28), rgba(217, 119, 6, 0) 55%);
	opacity: 0;
	transition: opacity 220ms ease;
}

.toast-icon {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(217, 119, 6, 0.18);
	border: 1px solid rgba(217, 119, 6, 0.35);
	color: rgb(120, 53, 15);
	box-shadow: 0 10px 25px rgba(217, 119, 6, 0.18);
	font-weight: 700;
}

.toast-content {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.toast-text {
	font-weight: 600;
	line-height: 1.25;
}

.toast-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgba(217, 119, 6, 0.12);
}

.toast-progress > span {
	display: block;
	height: 100%;
	width: 100%;
	transform-origin: left center;
	background: linear-gradient(90deg, rgba(217, 119, 6, 0.95), rgba(255, 184, 77, 0.95));
	animation: toastProgress var(--toast-duration) linear forwards;
}

.toast.toast-show {
	opacity: 1;
	animation: toastIn 420ms cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
}

.toast.toast-show::before {
	opacity: 1;
}

.toast.toast-hide {
	animation: toastOut 240ms ease forwards;
}

@keyframes toastIn {
	0% {
		opacity: 0;
		transform: translateY(14px) scale(0.98);
	}
	55% {
		opacity: 1;
		transform: translateY(-2px) scale(1.02);
	}
	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes toastOut {
	0% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
	100% {
		opacity: 0;
		transform: translateY(10px) scale(0.985);
	}
}

@keyframes toastProgress {
	from {
		transform: scaleX(1);
	}
	to {
		transform: scaleX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.toast,
	.toast.toast-show,
	.toast.toast-hide {
		animation: none !important;
		transform: none !important;
	}

	.toast-progress > span {
		animation: none !important;
	}
}

