.joincontest-toast-host {
	position: fixed;
	left: 50%;
	bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	z-index: 1200;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: 0.55rem;
	width: min(92vw, 32rem);
	transform: translateX(-50%);
	pointer-events: none;
}

.joincontest-toast {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	width: 100%;
	padding: 0.72rem 0.55rem 0.72rem 1rem;
	border-radius: 14px;
	border: 1px solid rgba(212, 168, 67, 0.55);
	background: rgba(18, 14, 8, 0.94);
	color: #fff7e6;
	font-size: 0.88rem;
	line-height: 1.35;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
	transform: translateY(120%);
	opacity: 0;
	pointer-events: auto;
	transition: transform 0.22s ease, opacity 0.22s ease;
}

.joincontest-toast.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.joincontest-toast__message {
	flex: 1;
	text-align: left;
}

.joincontest-toast__close {
	flex-shrink: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	opacity: 0.78;
	font-size: 1.2rem;
	line-height: 1;
	padding: 0 0.35rem;
	cursor: pointer;
	min-width: 1.75rem;
	min-height: 1.75rem;
}

.joincontest-toast__close:hover,
.joincontest-toast__close:focus-visible {
	opacity: 1;
	outline: 2px solid rgba(255, 247, 230, 0.45);
	outline-offset: 1px;
}

.joincontest-toast--error {
	border-color: rgba(220, 92, 92, 0.65);
	color: #ffe8e8;
}

.joincontest-toast--warning {
	border-color: rgba(245, 158, 11, 0.65);
	color: #fff3d6;
}

.joincontest-toast--success {
	border-color: rgba(34, 197, 94, 0.65);
	color: #eafff0;
}

.joincontest-toast--progress {
	border-color: rgba(96, 165, 250, 0.65);
	color: #e8f3ff;
}

.joincontest-toast--info {
	border-color: rgba(212, 168, 67, 0.55);
	color: #fff7e6;
}
