.app-prompt-stack {
  position: fixed;
  z-index: 1080;
  inset-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  max-width: 520px;
  margin-inline-start: auto;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  pointer-events: none;
}
.pwa-install-prompt {
  width: 100%;
  padding: .9rem;
  color: var(--app-text);
  background: var(--app-surface);
  background: color-mix(in srgb, var(--app-surface) 94%, transparent);
  border: 1px solid var(--app-strong-border);
  border-radius: 1rem;
  box-shadow: 0 18px 48px rgba(2, 6, 23, .28);
  backdrop-filter: blur(16px);
  pointer-events: auto;
}
.pwa-install-prompt[hidden] { display: none !important; }
.pwa-install-content { display: flex; align-items: center; gap: .8rem; }
.pwa-install-icon {
  display: grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center;
  color: #fff; background: linear-gradient(145deg, #2563eb, #4f46e5);
  border-radius: .85rem; font-size: 1.25rem; font-weight: 900;
}
.web-push-icon { background: linear-gradient(145deg, #0891b2, #2563eb); }
.web-push-nav.is-active { color: #16a34a; border-color: color-mix(in srgb, #16a34a 60%, var(--app-border)); }
.pwa-install-copy { min-width: 0; flex: 1; }
.pwa-install-title { margin: 0 0 .18rem; font-size: .85rem; font-weight: 900; }
.pwa-install-message { margin: 0; color: var(--app-muted); font-size: .7rem; line-height: 1.8; }
.pwa-install-actions { display: flex; align-items: center; gap: .45rem; margin-top: .7rem; }
@media (max-width: 575.98px) {
  .app-prompt-stack { inset-inline: .65rem; bottom: max(.65rem, env(safe-area-inset-bottom)); }
  .pwa-install-content { align-items: flex-start; }
  .pwa-install-actions .btn { flex: 1; }
}
