.spn-notice[hidden] {
	display: none !important;
}

.spn-notice {
	position: fixed !important;
	z-index: 2147483647 !important;
	box-sizing: border-box !important;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	pointer-events: auto !important;
	font-family: inherit;
	color: var(--spn-text, #d2d2d2);
	background: var(--spn-bg, #111111);
	border: var(--spn-border-width, 1px) solid var(--spn-border, #343434);
	border-radius: var(--spn-radius, 10px);
	box-shadow: var(--spn-shadow, 0 6px 18px rgba(0, 0, 0, .24));
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .22s ease, transform .22s ease;
	isolation: isolate;
}

.spn-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.spn-notice.is-dismissing {
	opacity: 0;
	transform: translateY(12px);
}

.spn-layout-floater {
	bottom: 24px;
	width: min(var(--spn-width, 440px), calc(100vw - 48px));
	padding: var(--spn-box-padding, 28px);
}

.spn-layout-floater.spn-position-left {
	left: 24px;
	right: auto;
}

.spn-layout-floater.spn-position-right {
	right: 24px;
	left: auto;
}

.spn-layout-bar {
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-height: calc(100vh - 12px);
	max-height: calc(100dvh - 12px);
	padding: var(--spn-box-padding, 28px);
	padding-bottom: calc(var(--spn-box-padding, 28px) + env(safe-area-inset-bottom, 0px));
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
	border-radius: var(--spn-radius, 10px) var(--spn-radius, 10px) 0 0;
}

.spn-notice *,
.spn-notice *::before,
.spn-notice *::after {
	box-sizing: border-box;
}

.spn-notice__inner {
	display: flex;
	gap: 24px;
	align-items: center;
	max-width: 1500px;
	margin: 0 auto;
}

.spn-layout-floater .spn-notice__inner {
	display: block;
}

.spn-notice__content {
	min-width: 0;
	flex: 1 1 auto;
}

.spn-notice__title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: var(--spn-title, #f2f2f2) !important;
	background: transparent !important;
	font-family: inherit !important;
	font-size: var(--spn-title-size, 22px) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
}

.spn-notice__message {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--spn-text, #d2d2d2) !important;
	background: transparent !important;
	font-family: inherit !important;
	font-size: var(--spn-text-size, 16px) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	overflow-wrap: anywhere;
}

.spn-notice__message p {
	margin: 0 0 .75em !important;
	padding: 0 !important;
}

.spn-notice__message p:last-child {
	margin-bottom: 0 !important;
}

.spn-notice__message a {
	color: inherit;
	font: inherit !important;
	text-decoration: underline !important;
	text-underline-offset: .16em;
}

.spn-notice__button {
	display: block;
	appearance: none;
	-webkit-appearance: none;
	border: 0 !important;
	border-radius: max(6px, calc(var(--spn-radius, 10px) * .45)) !important;
	background: var(--spn-button-bg, #2c2c2c) !important;
	color: var(--spn-button-text, #ffffff) !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: var(--spn-button-size, 16px) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	padding: var(--spn-button-pad-y, 14px) var(--spn-button-pad-x, 22px) !important;
	min-height: 48px;
	cursor: pointer;
	transition: filter .16s ease, transform .16s ease;
	flex: 0 0 auto;
}

.spn-layout-floater .spn-notice__button {
	width: 100%;
	margin: 24px 0 0 !important;
}

.spn-notice__button:hover {
	filter: brightness(1.12);
}

.spn-notice__button:active {
	transform: translateY(1px);
}

.spn-notice__button:focus-visible,
.spn-notice__message a:focus-visible {
	outline: 3px solid currentColor !important;
	outline-offset: 3px;
}

@media (max-width: 782px) {
	.spn-layout-floater {
		bottom: calc(var(--spn-mobile-margin, 12px) + env(safe-area-inset-bottom, 0px));
		width: min(var(--spn-mobile-width, 360px), calc(100vw - var(--spn-mobile-margin, 12px) - var(--spn-mobile-margin, 12px)));
		max-height: calc(100vh - var(--spn-mobile-margin, 12px) - var(--spn-mobile-margin, 12px) - env(safe-area-inset-bottom, 0px));
		max-height: calc(100dvh - var(--spn-mobile-margin, 12px) - var(--spn-mobile-margin, 12px) - env(safe-area-inset-bottom, 0px));
		padding: var(--spn-mobile-box-padding, 20px);
		border-radius: var(--spn-mobile-radius, 10px);
	}

	.spn-layout-floater.spn-position-left {
		left: var(--spn-mobile-margin, 12px) !important;
		right: auto !important;
	}

	.spn-layout-floater.spn-position-right {
		right: var(--spn-mobile-margin, 12px) !important;
		left: auto !important;
	}

	.spn-layout-bar {
		padding: var(--spn-mobile-box-padding, 20px);
		padding-bottom: calc(var(--spn-mobile-box-padding, 20px) + env(safe-area-inset-bottom, 0px));
		border-radius: var(--spn-mobile-radius, 10px) var(--spn-mobile-radius, 10px) 0 0;
	}

	.spn-notice__inner {
		display: block;
	}

	.spn-notice__title {
		margin-bottom: 14px !important;
		font-size: var(--spn-mobile-title-size, 20px) !important;
	}

	.spn-notice__message {
		font-size: var(--spn-mobile-text-size, 15px) !important;
		line-height: 1.5 !important;
	}

	.spn-notice__button {
		min-height: 40px;
		border-radius: max(6px, calc(var(--spn-mobile-radius, 10px) * .45)) !important;
		font-size: var(--spn-mobile-button-size, 15px) !important;
		padding: var(--spn-mobile-button-pad-y, 12px) var(--spn-mobile-button-pad-x, 18px) !important;
	}

	.spn-layout-bar .spn-notice__button,
	.spn-layout-floater .spn-notice__button {
		width: 100%;
		margin: 20px 0 0 !important;
	}
}

@media (max-height: 560px) and (max-width: 782px) {
	.spn-notice__title {
		margin-bottom: 10px !important;
	}

	.spn-layout-floater .spn-notice__button,
	.spn-layout-bar .spn-notice__button {
		margin-top: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.spn-notice,
	.spn-notice__button {
		transition: none;
	}
}


.spn-notice:focus-visible {
	outline: 3px solid var(--spn-title, #f2f2f2) !important;
	outline-offset: 4px;
}
