.kn-pwa-install {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 1090;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 24px;
    color: #17302c;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(241, 248, 244, .94)),
        radial-gradient(circle at 0 0, rgba(15, 95, 85, .16), transparent 34%);
    box-shadow: 0 24px 70px rgba(18, 35, 31, .2);
    backdrop-filter: blur(18px);
    opacity: 0;
    transform: translateY(18px) scale(.98);
    pointer-events: none;
    transition: opacity .24s ease, transform .24s ease;
}

.kn-pwa-install.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.kn-pwa-install__mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: #0f5f55;
    font-weight: 800;
    letter-spacing: -.08em;
    box-shadow: 0 12px 28px rgba(15, 95, 85, .28);
}

.kn-pwa-install__copy {
    min-width: 0;
}

.kn-pwa-install__copy strong,
.kn-pwa-install__copy span {
    display: block;
}

.kn-pwa-install__copy strong {
    margin-bottom: 2px;
    font-size: 14px;
    letter-spacing: -.01em;
}

.kn-pwa-install__copy span {
    color: rgba(23, 48, 44, .72);
    font-size: 12px;
    line-height: 1.45;
}

.kn-pwa-install__actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.kn-pwa-install__primary,
.kn-pwa-install__close {
    border: 0;
    border-radius: 999px;
    padding: 9px 14px;
    font-size: 12px;
    font-weight: 700;
}

.kn-pwa-install__primary {
    color: #fff;
    background: #0f5f55;
    box-shadow: 0 10px 22px rgba(15, 95, 85, .22);
}

.kn-pwa-install__close {
    color: #36524d;
    background: rgba(15, 95, 85, .08);
}

.kn-pwa-install.is-ios-help {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .97), rgba(255, 247, 231, .95)),
        radial-gradient(circle at 100% 0, rgba(201, 146, 64, .18), transparent 36%);
}

@media (min-width: 700px) {
    .kn-pwa-install {
        left: auto;
        right: 22px;
        bottom: 22px;
        width: min(420px, calc(100vw - 44px));
        grid-template-columns: 48px 1fr auto;
        padding: 14px 16px;
    }

    .kn-pwa-install__actions {
        grid-column: auto;
    }
}
