.codexkr-pwa-install[hidden] { display: none !important; }
.codexkr-pwa-install {
	position: fixed;
	left: max(18px,env(safe-area-inset-left));
	bottom: max(18px,env(safe-area-inset-bottom));
	z-index: 9990;
	width: min(430px,calc(100vw - 36px));
	min-height: 88px;
	display: grid;
	grid-template-columns: 56px minmax(0,1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 14px 48px 14px 14px;
	border: 1px solid rgba(226,185,68,.55);
	border-radius: 20px;
	background: rgba(2,54,40,.98);
	box-shadow: 0 22px 60px rgba(0,35,27,.3);
	color: #fff;
	font-family: inherit;
	animation: codexkr-pwa-enter .35s ease both;
}
.codexkr-pwa-install__icon {
	width: 56px;
	height: 56px;
	display: block;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 15px;
	object-fit: cover;
}
.codexkr-pwa-install__copy { min-width: 0; }
.codexkr-pwa-install__copy strong {
	display: block;
	color: #fff;
	font-size: 16px;
	line-height: 1.25;
}
.codexkr-pwa-install__copy > span {
	display: block;
	margin-top: 4px;
	color: #c8ddd4;
	font-size: 12px;
	line-height: 1.45;
}
.codexkr-pwa-install__copy p {
	margin: 7px 0 0;
	color: #fff4cf;
	font-size: 12px;
	line-height: 1.45;
}
.codexkr-pwa-install__button {
	min-height: 46px;
	padding: 10px 16px;
	border: 0;
	border-radius: 12px;
	background: linear-gradient(135deg,#e5b943,#f4d675);
	box-shadow: 0 8px 20px rgba(0,0,0,.18);
	color: #073a28;
	font: inherit;
	font-size: 13px;
	font-weight: 850;
	cursor: pointer;
}
.codexkr-pwa-install__button:hover,
.codexkr-pwa-install__button:focus-visible { background: #f7dc86; transform: translateY(-1px); }
.codexkr-pwa-install__button:focus-visible,
.codexkr-pwa-install__close:focus-visible { outline: 3px solid rgba(255,255,255,.78); outline-offset: 2px; }
.codexkr-pwa-install__close {
	position: absolute;
	top: 7px;
	right: 7px;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #d8e7e0;
	font: inherit;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
@keyframes codexkr-pwa-enter {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 540px) {
	.codexkr-pwa-install {
		left: 14px;
		bottom: max(82px,calc(env(safe-area-inset-bottom) + 68px));
		width: calc(100vw - 28px);
		grid-template-columns: 52px minmax(0,1fr);
		grid-template-areas: "icon copy" "button button";
		gap: 11px 13px;
		padding: 14px 46px 14px 14px;
		border-radius: 18px;
	}
	.codexkr-pwa-install__icon { grid-area: icon; width: 52px; height: 52px; }
	.codexkr-pwa-install__copy { grid-area: copy; }
	.codexkr-pwa-install__button { grid-area: button; width: 100%; min-height: 48px; }
	.codexkr-pwa-install__copy strong { font-size: 16px; }
	.codexkr-pwa-install__copy > span,
	.codexkr-pwa-install__copy p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.codexkr-pwa-install { animation: none; }
	.codexkr-pwa-install__button { transition: none; }
}
@media (display-mode: standalone) {
	.codexkr-pwa-install { display: none !important; }
}
