.rscp-notice {
	--rscp-accent: #0f766e;
	--rscp-warm: #f59e0b;
	--rscp-ink: #17202d;
	--rscp-muted: #667085;
	--rscp-border: rgba(16, 24, 40, 0.1);
	position: fixed;
	inset: 0;
	z-index: 999998;
	pointer-events: none;
	font-family: inherit;
}

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

.rscp-notice__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.18);
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.rscp-notice--modal .rscp-notice__backdrop {
	pointer-events: auto;
}

.rscp-notice__panel {
	position: absolute;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	width: min(430px, calc(100vw - 28px));
	padding: 16px;
	border: 1px solid var(--rscp-border);
	border-radius: 16px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 242, 0.94) 54%, rgba(238, 246, 245, 0.95)),
		#ffffff;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
	color: var(--rscp-ink);
	overflow: hidden;
	pointer-events: auto;
	transform: translateY(16px);
	opacity: 0;
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms ease;
}

.rscp-notice__panel::before {
	content: "";
	position: absolute;
	right: -48px;
	bottom: -54px;
	width: 150px;
	height: 150px;
	border-radius: 999px;
	background: radial-gradient(circle, color-mix(in srgb, var(--rscp-warm) 20%, transparent), transparent 68%);
	pointer-events: none;
}

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

.rscp-notice.is-visible.rscp-notice--modal .rscp-notice__backdrop {
	opacity: 1;
}

.rscp-notice--bottom-right .rscp-notice__panel {
	right: max(18px, env(safe-area-inset-right));
	bottom: max(18px, env(safe-area-inset-bottom));
}

.rscp-notice--bottom-left .rscp-notice__panel {
	left: max(18px, env(safe-area-inset-left));
	bottom: max(18px, env(safe-area-inset-bottom));
}

.rscp-notice--bottom-center .rscp-notice__panel {
	left: 50%;
	bottom: max(18px, env(safe-area-inset-bottom));
	transform: translate(-50%, 16px);
}

.rscp-notice--bottom-center.is-visible .rscp-notice__panel {
	transform: translate(-50%, 0);
}

.rscp-notice--modal .rscp-notice__panel {
	left: 50%;
	top: 50%;
	transform: translate(-50%, calc(-50% + 16px));
}

.rscp-notice--modal.is-visible .rscp-notice__panel {
	transform: translate(-50%, -50%);
}

.rscp-notice.is-thanking .rscp-notice__panel {
	grid-template-columns: 1fr;
	min-height: 216px;
}

.rscp-notice.is-dismissing .rscp-notice__panel {
	opacity: 0;
	pointer-events: none;
	transition: transform 520ms cubic-bezier(0.7, 0, 0.84, 0), opacity 360ms ease;
}

.rscp-notice--bottom-right.is-dismissing .rscp-notice__panel {
	transform: translateX(calc(100% + 34px));
}

.rscp-notice--bottom-left.is-dismissing .rscp-notice__panel {
	transform: translateX(calc(-100% - 34px));
}

.rscp-notice--bottom-center.is-dismissing .rscp-notice__panel {
	transform: translate(-50%, calc(100% + 34px));
}

.rscp-notice--modal.is-dismissing .rscp-notice__panel {
	transform: translate(-50%, calc(-50% + 34px)) scale(0.98);
}

.rscp-notice__close {
	appearance: none !important;
	-webkit-appearance: none !important;
	box-sizing: border-box !important;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	display: block !important;
	width: 32px !important;
	min-width: 0 !important;
	max-width: 32px !important;
	height: 32px !important;
	min-height: 0 !important;
	max-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.06);
	box-shadow: none !important;
	color: var(--rscp-ink);
	font-size: 0 !important;
	line-height: 1 !important;
	text-indent: 0 !important;
	cursor: pointer;
}

.rscp-notice__close:hover,
.rscp-notice__close:focus-visible {
	background: rgba(15, 23, 42, 0.1);
	outline: none;
}

.rscp-notice__close span::before,
.rscp-notice__close span::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 15px;
	width: 12px;
	height: 2px;
	border-radius: 999px;
	background: var(--rscp-ink);
}

.rscp-notice__close span::before {
	transform: rotate(45deg);
}

.rscp-notice__close span::after {
	transform: rotate(-45deg);
}

.rscp-notice__mark {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: linear-gradient(145deg, color-mix(in srgb, var(--rscp-warm) 16%, white), color-mix(in srgb, var(--rscp-accent) 12%, white));
	border: 1px solid rgba(255, 255, 255, 0.7);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
	transition: opacity 180ms ease, transform 180ms ease;
}

.rscp-notice__mark span {
	position: relative;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--rscp-warm);
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--rscp-warm) 14%, transparent);
}

.rscp-notice__mark span::after {
	content: "";
	position: absolute;
	left: 3px;
	right: 3px;
	bottom: -8px;
	height: 9px;
	border-radius: 999px 999px 0 0;
	background: var(--rscp-accent);
	clip-path: polygon(0 100%, 20% 30%, 42% 100%, 64% 30%, 84% 100%, 100% 42%, 100% 100%);
}

.rscp-notice__content {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding-right: 26px;
	transition: opacity 180ms ease, transform 180ms ease;
}

.rscp-notice.is-thanking .rscp-notice__close,
.rscp-notice.is-thanking .rscp-notice__mark,
.rscp-notice.is-thanking .rscp-notice__content {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
}

.rscp-notice__eyebrow {
	margin: 0 0 5px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rscp-accent);
}

.rscp-notice__title {
	margin: 0;
	font-size: 18px;
	line-height: 1.18;
	font-weight: 800;
	letter-spacing: 0;
	color: var(--rscp-ink);
}

.rscp-notice__message {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.48;
	color: var(--rscp-muted);
}

.rscp-notice__dates {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 12px;
	font-size: 11px;
	font-weight: 800;
	color: var(--rscp-ink);
}

.rscp-notice__dates span,
.rscp-notice__dates strong {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	padding: 0 9px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.08);
}

.rscp-notice__dates strong {
	color: #ffffff;
	background: linear-gradient(135deg, var(--rscp-accent), color-mix(in srgb, var(--rscp-accent) 72%, #111827));
}

.rscp-notice__dates i {
	width: 18px;
	height: 1px;
	background: rgba(15, 23, 42, 0.18);
}

.rscp-notice__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.rscp-notice__primary {
	appearance: none !important;
	-webkit-appearance: none !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	width: auto !important;
	min-width: 142px !important;
	max-width: 100% !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 16px 0 18px !important;
	border-radius: 14px;
	font: inherit;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-transform: none !important;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.rscp-notice__primary {
	border: 1px solid transparent !important;
	color: #ffffff;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--rscp-accent) 18%, #111827), #111827 58%, #0b1220),
		#111827;
	box-shadow: 0 12px 22px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.1);
	white-space: nowrap;
}

.rscp-notice__primary span {
	display: block;
	min-width: 0;
}

.rscp-notice__primary i {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
	flex: 0 0 auto;
}

.rscp-notice__primary i::before,
.rscp-notice__primary i::after {
	content: "";
	position: absolute;
	background: #ffffff;
	border-radius: 999px;
}

.rscp-notice__primary i::before {
	left: 5px;
	top: 8px;
	width: 8px;
	height: 2px;
}

.rscp-notice__primary i::after {
	left: 9px;
	top: 6px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	background: transparent;
	transform: rotate(45deg);
}

.rscp-notice__primary:hover,
.rscp-notice__primary:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 15px 26px rgba(15, 23, 42, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	outline: none;
}

.rscp-notice__thanks {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 9px;
	padding: 24px;
	text-align: center;
	opacity: 0;
	transform: translateY(10px) scale(0.98);
	pointer-events: none;
	transition: opacity 240ms ease 120ms, transform 300ms cubic-bezier(0.22, 1, 0.36, 1) 120ms;
}

.rscp-notice.is-thanking .rscp-notice__thanks {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.rscp-notice__thanks-icon {
	position: relative;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: linear-gradient(145deg, color-mix(in srgb, var(--rscp-accent) 15%, white), color-mix(in srgb, var(--rscp-warm) 18%, white));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 12px 24px rgba(15, 23, 42, 0.08);
}

.rscp-notice__thanks-icon::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 16px;
	width: 18px;
	height: 10px;
	border-left: 3px solid var(--rscp-accent);
	border-bottom: 3px solid var(--rscp-accent);
	transform: rotate(-45deg);
	border-radius: 0 0 0 3px;
}

.rscp-notice__thanks p {
	margin: 0;
	color: var(--rscp-ink);
	font-size: 19px;
	font-weight: 850;
	line-height: 1.15;
	letter-spacing: 0;
}

.rscp-notice__thanks strong {
	max-width: 300px;
	color: var(--rscp-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

@media (max-width: 520px) {
	.rscp-notice__panel {
		left: 14px !important;
		right: 14px !important;
		bottom: max(14px, env(safe-area-inset-bottom)) !important;
		top: auto;
		width: auto;
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 14px;
		transform: translateY(16px);
	}

	.rscp-notice.is-visible .rscp-notice__panel,
	.rscp-notice--modal.is-visible .rscp-notice__panel,
	.rscp-notice--bottom-center.is-visible .rscp-notice__panel {
		transform: translateY(0);
	}

	.rscp-notice--bottom-center.is-dismissing .rscp-notice__panel,
	.rscp-notice--modal.is-dismissing .rscp-notice__panel {
		transform: translateY(calc(100% + 28px));
	}

	.rscp-notice__content {
		padding-right: 22px;
	}

	.rscp-notice__mark {
		width: 42px;
		height: 42px;
	}

	.rscp-notice__primary {
		min-width: 136px !important;
		min-height: 42px !important;
		border-radius: 13px;
	}

	.rscp-notice.is-thanking .rscp-notice__panel {
		min-height: 190px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rscp-notice__panel,
	.rscp-notice__backdrop,
	.rscp-notice__primary,
	.rscp-notice__mark,
	.rscp-notice__content,
	.rscp-notice__thanks {
		transition: none;
	}
}
