.kapocs-update-popup {
	--kup-ink: #0b2d38;
	--kup-ink-deep: #06222b;
	--kup-copy: #526b74;
	--kup-teal: #138f8a;
	--kup-teal-light: #80d7ce;
	--kup-teal-pale: #e3f5f2;
	--kup-mist: #f1f7f7;
	--kup-paper: #fbfdfc;
	--kup-line: #d8e6e6;
	--kup-white: #fff;
	--kup-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--kup-body: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	color: var(--kup-ink);
	background:
		linear-gradient(rgba(108, 181, 181, .055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(108, 181, 181, .055) 1px, transparent 1px),
		radial-gradient(circle at 18% 16%, rgba(39, 187, 176, .2), transparent 30rem),
		rgba(4, 23, 30, .78);
	background-size: 40px 40px, 40px 40px, auto, auto;
	font: 400 16px/1.5 var(--kup-body);
	opacity: 0;
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-backdrop-filter: blur(10px) saturate(112%);
	backdrop-filter: blur(10px) saturate(112%);
	transition: opacity 220ms ease-out;
}

.kapocs-update-popup[hidden] {
	display: none !important;
}

.kapocs-update-popup,
.kapocs-update-popup * {
	box-sizing: border-box;
}

.kapocs-update-popup.is-open {
	opacity: 1;
}

.kapocs-update-popup__dialog {
	position: relative;
	display: grid;
	grid-template-columns: minmax(260px, 31%) minmax(0, 1fr);
	flex: 0 0 auto;
	width: min(1120px, 100%);
	max-height: calc(100dvh - 40px);
	border: 1px solid rgba(208, 228, 227, .9);
	border-radius: 28px;
	background: var(--kup-paper);
	box-shadow:
		0 45px 120px rgba(0, 14, 20, .48),
		0 4px 16px rgba(0, 14, 20, .18);
	overflow: hidden;
	opacity: 0;
	transform: translateY(18px) scale(.985);
	transition: opacity 260ms ease-out, transform 420ms cubic-bezier(.18, .82, .2, 1);
}

.kapocs-update-popup.is-open .kapocs-update-popup__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.kapocs-update-popup__close {
	position: absolute;
	z-index: 5;
	top: 18px;
	right: 18px;
	display: inline-grid;
	place-items: center;
	width: 43px;
	height: 43px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(11, 45, 56, .13);
	border-radius: 50%;
	color: var(--kup-ink);
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 8px 24px rgba(6, 34, 43, .09);
	cursor: pointer;
	touch-action: manipulation;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.kapocs-update-popup__close:hover {
	border-color: rgba(19, 143, 138, .5);
	color: var(--kup-teal);
	background: var(--kup-white);
	transform: rotate(6deg);
}

.kapocs-update-popup__close:active {
	transform: scale(.94);
}

.kapocs-update-popup__close:focus-visible,
.kapocs-update-popup a:focus-visible,
.kapocs-update-popup button:focus-visible {
	outline: 3px solid var(--kup-teal-light);
	outline-offset: 3px;
}

.kapocs-update-popup__campaign {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 30px 28px 28px;
	color: var(--kup-white);
	background:
		radial-gradient(circle at 18% 88%, rgba(72, 209, 196, .25), transparent 42%),
		linear-gradient(155deg, #103e49 0%, #082d37 58%, #06242d 100%);
	overflow: hidden;
}

.kapocs-update-popup__campaign::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(128, 215, 206, .08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(128, 215, 206, .08) 1px, transparent 1px);
	background-size: 32px 32px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 76%);
	mask-image: linear-gradient(to bottom, #000, transparent 76%);
	content: "";
}

.kapocs-update-popup__campaign::after {
	position: absolute;
	z-index: -1;
	top: 22%;
	right: -92px;
	width: 210px;
	height: 210px;
	border: 1px solid rgba(128, 215, 206, .2);
	border-radius: 50%;
	box-shadow:
		0 0 0 30px rgba(128, 215, 206, .045),
		0 0 0 62px rgba(128, 215, 206, .035);
	content: "";
}

.kapocs-update-popup__brand {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 10px;
	min-height: 42px;
	color: var(--kup-white);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .17em;
	text-decoration: none;
}

.kapocs-update-popup__brand img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: contain;
	filter: drop-shadow(0 6px 15px rgba(0, 0, 0, .16));
}

.kapocs-update-popup__campaign-kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: clamp(34px, 5vh, 56px) 0 0;
	color: #a7dcd7;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: .15em;
	line-height: 1.25;
	text-transform: uppercase;
}

.kapocs-update-popup__campaign-kicker span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #70d7cc;
	box-shadow: 0 0 0 5px rgba(112, 215, 204, .1);
}

.kapocs-update-popup__date {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	align-items: end;
	margin-top: 14px;
	line-height: .8;
}

.kapocs-update-popup__date span {
	grid-column: 1 / -1;
	margin-bottom: 9px;
	color: rgba(255, 255, 255, .5);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .26em;
}

.kapocs-update-popup__date strong {
	align-self: center;
	color: #8adbd3;
	font-size: clamp(19px, 2vw, 27px);
	font-weight: 650;
	letter-spacing: -.03em;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.kapocs-update-popup__date b {
	margin-left: 8px;
	font: 760 clamp(76px, 9vw, 112px)/.75 var(--kup-display);
	letter-spacing: -.095em;
}

.kapocs-update-popup__campaign-copy {
	max-width: 260px;
	margin: 24px 0 0;
	color: #b9ced2;
	font-size: 12px;
	line-height: 1.58;
}

.kapocs-update-popup__price {
	margin-top: auto;
	padding-top: clamp(26px, 4vh, 44px);
}

.kapocs-update-popup__price::before {
	display: block;
	width: 48px;
	height: 1px;
	margin-bottom: 15px;
	background: var(--kup-teal-light);
	content: "";
}

.kapocs-update-popup__price > span {
	display: block;
	color: #96b8be;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.kapocs-update-popup__price strong {
	display: block;
	margin-top: 6px;
	font: 740 clamp(34px, 4vw, 47px)/1 var(--kup-display);
	letter-spacing: -.055em;
}

.kapocs-update-popup__price strong small {
	font-size: .42em;
	font-weight: 700;
	letter-spacing: 0;
}

.kapocs-update-popup__price p {
	margin: 8px 0 0;
	color: #9ab6bc;
	font-size: 10px;
}

.kapocs-update-popup__content {
	min-width: 0;
	max-height: calc(100dvh - 40px);
	padding: 34px clamp(28px, 4vw, 50px) 32px;
	background:
		radial-gradient(circle at 100% 0, rgba(57, 182, 174, .085), transparent 25rem),
		var(--kup-paper);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: #b6d1d0 transparent;
	scrollbar-width: thin;
}

.kapocs-update-popup__header {
	padding-right: 45px;
}

.kapocs-update-popup__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: var(--kup-teal);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.kapocs-update-popup__status span:nth-child(2) {
	color: #9cb1b6;
}

.kapocs-update-popup__header h2 {
	max-width: 700px;
	margin: 13px 0 0;
	color: var(--kup-ink);
	font: 740 clamp(33px, 4.1vw, 50px)/1.02 var(--kup-display);
	letter-spacing: -.055em;
}

.kapocs-update-popup__header h2 span {
	color: var(--kup-teal);
}

.kapocs-update-popup__intro {
	max-width: 720px;
	margin: 14px 0 0;
	color: #48636c;
	font-size: 14px;
	line-height: 1.6;
}

.kapocs-update-popup__intro strong {
	color: var(--kup-ink);
	font-weight: 750;
}

.kapocs-update-popup__inventory {
	margin-top: 25px;
	padding: 22px;
	border: 1px solid var(--kup-line);
	border-radius: 18px;
	background:
		linear-gradient(rgba(19, 143, 138, .028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(19, 143, 138, .028) 1px, transparent 1px),
		rgba(255, 255, 255, .78);
	background-size: 24px 24px;
	box-shadow: 0 18px 48px rgba(8, 43, 53, .055);
}

.kapocs-update-popup__section-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.kapocs-update-popup__section-heading p {
	margin: 0;
	color: #72888f;
	font-size: 9px;
	font-weight: 750;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.kapocs-update-popup__section-heading h3 {
	margin: 3px 0 0;
	color: var(--kup-ink);
	font: 740 25px/1.15 var(--kup-display);
	letter-spacing: -.035em;
}

.kapocs-update-popup__soon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border: 1px solid #bee1dd;
	border-radius: 999px;
	color: #176f6c;
	background: var(--kup-teal-pale);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.kapocs-update-popup__soon i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #1ba29b;
	box-shadow: 0 0 0 4px rgba(27, 162, 155, .11);
}

.kapocs-update-popup__inventory-lead {
	max-width: 650px;
	margin: 11px 0 0;
	color: var(--kup-copy);
	font-size: 13px;
	line-height: 1.55;
}

.kapocs-update-popup__workflow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
	align-items: center;
	margin-top: 18px;
}

.kapocs-update-popup__workflow article {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 11px;
	align-items: start;
	min-height: 94px;
	padding: 14px;
	border: 1px solid #d7e7e6;
	border-radius: 13px;
	background: rgba(249, 252, 251, .94);
}

.kapocs-update-popup__workflow-icon {
	display: grid;
	place-items: center;
	width: 39px;
	height: 39px;
	border-radius: 10px;
	color: var(--kup-teal);
	background: var(--kup-teal-pale);
}

.kapocs-update-popup__workflow-icon svg {
	width: 23px;
	height: 23px;
}

.kapocs-update-popup__workflow small,
.kapocs-update-popup__workflow strong {
	display: block;
}

.kapocs-update-popup__workflow small {
	color: #799096;
	font-size: 8px;
	font-weight: 750;
	letter-spacing: .065em;
	text-transform: uppercase;
}

.kapocs-update-popup__workflow strong {
	margin-top: 3px;
	color: var(--kup-ink);
	font-size: 12px;
}

.kapocs-update-popup__workflow p {
	margin: 3px 0 0;
	color: var(--kup-copy);
	font-size: 10px;
	line-height: 1.42;
}

.kapocs-update-popup__workflow-link {
	position: relative;
	display: block;
	height: 1px;
	background: #acd6d2;
}

.kapocs-update-popup__workflow-link::before,
.kapocs-update-popup__workflow-link::after,
.kapocs-update-popup__workflow-link i {
	position: absolute;
	top: 50%;
	border-radius: 50%;
	background: var(--kup-teal);
	content: "";
	transform: translate(-50%, -50%);
}

.kapocs-update-popup__workflow-link::before {
	left: 20%;
	width: 4px;
	height: 4px;
}

.kapocs-update-popup__workflow-link i {
	left: 50%;
	width: 6px;
	height: 6px;
	box-shadow: 0 0 0 4px rgba(19, 143, 138, .1);
}

.kapocs-update-popup__workflow-link::after {
	left: 80%;
	width: 4px;
	height: 4px;
}

.kapocs-update-popup__capabilities {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 24px;
	margin: 17px 0 0;
	padding: 0;
	list-style: none;
}

.kapocs-update-popup__capabilities li {
	display: grid;
	grid-template-columns: 25px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 8px 0;
	border-top: 1px solid rgba(216, 230, 230, .88);
	color: #304e58;
	font-size: 10.5px;
	font-weight: 650;
	line-height: 1.35;
}

.kapocs-update-popup__capabilities span {
	display: grid;
	place-items: center;
	width: 23px;
	height: 23px;
	border: 1px solid #c5dfdc;
	border-radius: 7px;
	color: var(--kup-teal);
	font-size: 7px;
	font-weight: 800;
}

.kapocs-update-popup__offline {
	display: grid;
	grid-template-columns: 31px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 11px;
	color: #1d555b;
	background: linear-gradient(100deg, #e4f5f2, #f0f8f7);
}

.kapocs-update-popup__offline svg {
	width: 27px;
	height: 27px;
	color: var(--kup-teal);
}

.kapocs-update-popup__offline p {
	margin: 0;
	font-size: 10px;
	line-height: 1.45;
}

.kapocs-update-popup__offline strong {
	color: var(--kup-ink);
}

.kapocs-update-popup__license {
	position: relative;
	display: grid;
	grid-template-columns: 65px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	margin-top: 16px;
	padding: 17px 20px;
	border-radius: 16px;
	color: var(--kup-white);
	background:
		radial-gradient(circle at 0 100%, rgba(93, 222, 209, .24), transparent 14rem),
		linear-gradient(112deg, #0c3a45, #082c36);
	overflow: hidden;
}

.kapocs-update-popup__license-mark {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(126, 214, 206, .28);
	border-radius: 16px;
	color: #7ed6ce;
	background: rgba(126, 214, 206, .07);
}

.kapocs-update-popup__license-mark svg {
	display: block;
	width: 31px;
	height: 31px;
}

.kapocs-update-popup__license p {
	margin: 0 0 4px;
	color: #86d8d0;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.kapocs-update-popup__license strong {
	display: block;
	max-width: 650px;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;
}

.kapocs-update-popup__license div > span {
	display: block;
	max-width: 650px;
	margin-top: 5px;
	color: #acc8cd;
	font-size: 9.5px;
	line-height: 1.45;
}

.kapocs-update-popup__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 18px;
}

.kapocs-update-popup__footer > p {
	max-width: 330px;
	margin: 0;
	color: #637a82;
	font-size: 10px;
	line-height: 1.45;
}

.kapocs-update-popup__actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 9px;
}

.kapocs-update-popup__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 45px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	touch-action: manipulation;
	transition: color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.kapocs-update-popup__button:hover {
	transform: translateY(-2px);
}

.kapocs-update-popup__button:active {
	transform: translateY(0);
}

.kapocs-update-popup__button--primary {
	color: var(--kup-white);
	background: var(--kup-ink);
	box-shadow: 0 12px 25px rgba(11, 45, 56, .16);
}

.kapocs-update-popup__button--primary:hover {
	color: var(--kup-white);
	background: #12424e;
	box-shadow: 0 16px 30px rgba(11, 45, 56, .22);
}

.kapocs-update-popup__button--secondary {
	border-color: #bfd5d4;
	color: var(--kup-ink);
	background: var(--kup-white);
}

.kapocs-update-popup__button--secondary:hover {
	border-color: var(--kup-teal);
	color: #0e6f6b;
	background: #f2faf9;
}

html.kapocs-update-popup-scroll-locked,
body.kapocs-update-popup-scroll-locked {
	overscroll-behavior: none;
}

@media (max-width: 960px) {
	.kapocs-update-popup__dialog {
		grid-template-columns: 250px minmax(0, 1fr);
	}

	.kapocs-update-popup__campaign {
		padding-right: 22px;
		padding-left: 22px;
	}

	.kapocs-update-popup__workflow {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.kapocs-update-popup__workflow-link {
		width: 1px;
		height: 18px;
		margin-left: 33px;
	}

	.kapocs-update-popup__workflow-link::before,
	.kapocs-update-popup__workflow-link::after,
	.kapocs-update-popup__workflow-link i {
		top: auto;
		left: 50%;
	}

	.kapocs-update-popup__workflow-link::before {
		top: 10%;
	}

	.kapocs-update-popup__workflow-link i {
		top: 50%;
	}

	.kapocs-update-popup__workflow-link::after {
		top: 90%;
	}

	.kapocs-update-popup__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 760px) {
	.kapocs-update-popup {
		align-items: flex-start;
		padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
	}

	.kapocs-update-popup__dialog {
		display: block;
		width: 100%;
		max-height: calc(100dvh - 20px);
		border-radius: 20px;
		overflow-y: auto;
	}

	.kapocs-update-popup__campaign {
		min-height: 0;
		padding: 22px 20px 24px;
	}

	.kapocs-update-popup__campaign-kicker {
		margin-top: 28px;
	}

	.kapocs-update-popup__date {
		position: absolute;
		top: 22px;
		right: 76px;
		display: flex;
		align-items: baseline;
		gap: 6px;
		margin: 0;
		line-height: 1;
	}

	.kapocs-update-popup__date span {
		display: none;
	}

	.kapocs-update-popup__date strong {
		font-size: 13px;
		letter-spacing: .06em;
		writing-mode: initial;
		transform: none;
	}

	.kapocs-update-popup__date b {
		margin: 0;
		font-size: 27px;
		letter-spacing: -.05em;
	}

	.kapocs-update-popup__campaign-copy {
		max-width: 520px;
		margin-top: 12px;
	}

	.kapocs-update-popup__price {
		display: grid;
		grid-template-columns: auto auto;
		align-items: end;
		justify-content: start;
		gap: 2px 13px;
		margin-top: 17px;
		padding-top: 14px;
		border-top: 1px solid rgba(128, 215, 206, .18);
	}

	.kapocs-update-popup__price::before {
		display: none;
	}

	.kapocs-update-popup__price > span {
		grid-column: 1;
	}

	.kapocs-update-popup__price strong {
		grid-column: 1;
		font-size: 32px;
	}

	.kapocs-update-popup__price p {
		grid-column: 2;
		grid-row: 2;
		margin: 0 0 4px;
	}

	.kapocs-update-popup__content {
		max-height: none;
		padding: 28px 20px 24px;
		overflow: visible;
	}

	.kapocs-update-popup__close {
		position: fixed;
		top: 18px;
		right: 18px;
	}

	.kapocs-update-popup__header {
		padding-right: 0;
	}

	.kapocs-update-popup__header h2 {
		font-size: clamp(31px, 8.5vw, 43px);
	}
}

@media (max-width: 540px) {
	.kapocs-update-popup__inventory {
		padding: 18px 15px;
	}

	.kapocs-update-popup__section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 9px;
	}

	.kapocs-update-popup__capabilities {
		grid-template-columns: 1fr;
	}

	.kapocs-update-popup__license {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 12px;
		padding: 16px;
	}

	.kapocs-update-popup__license-mark {
		width: 44px;
		height: 44px;
		border-radius: 13px;
	}

	.kapocs-update-popup__license-mark svg {
		width: 27px;
		height: 27px;
	}

	.kapocs-update-popup__actions {
		display: grid;
		width: 100%;
	}

	.kapocs-update-popup__button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kapocs-update-popup,
	.kapocs-update-popup__dialog,
	.kapocs-update-popup__close,
	.kapocs-update-popup__button {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

@media (forced-colors: active) {
	.kapocs-update-popup__dialog,
	.kapocs-update-popup__close,
	.kapocs-update-popup__inventory,
	.kapocs-update-popup__soon,
	.kapocs-update-popup__workflow article,
	.kapocs-update-popup__capabilities span,
	.kapocs-update-popup__button {
		border: 1px solid CanvasText !important;
	}
}
