.pwa-install {
    position: fixed;
    z-index: 10000;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: max(1rem, env(safe-area-inset-left));
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    gap: .85rem;
    align-items: center;
    max-width: 46rem;
    margin-inline: auto;
    padding: 1rem;
    color: #f8fafc;
    background: rgba(11, 14, 20, .97);
    border: 1px solid rgba(250, 204, 21, .65);
    border-radius: 1rem;
    box-shadow: 0 1.25rem 3.5rem rgba(0, 0, 0, .45);
    opacity: 0;
    transform: translateY(calc(100% + 2rem));
    transition: opacity .22s ease, transform .22s ease;
}

.pwa-install[hidden] { display: none; }
.pwa-install--visible { opacity: 1; transform: translateY(0); }
.pwa-install img { width: 3.25rem; height: 3.25rem; border-radius: .75rem; }
.pwa-install__content { min-width: 0; }
.pwa-install__content strong { color: #facc15; }
.pwa-install__content p { margin: .25rem 0 0; color: #d8dee9; font-size: .9rem; line-height: 1.35; }
.pwa-install__ios-help[hidden] { display: none; }
.pwa-install__actions { display: flex; gap: .5rem; }
.pwa-install__actions .button { white-space: nowrap; }

@media (max-width: 640px) {
    .pwa-install { grid-template-columns: 2.75rem minmax(0, 1fr); }
    .pwa-install img { width: 2.75rem; height: 2.75rem; }
    .pwa-install__actions { grid-column: 1 / -1; }
    .pwa-install__actions .button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .pwa-install { transition: none; }
}
