.pwa-install[hidden] { display: none; }

.pwa-install {
  position: fixed;
  z-index: 1000;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  left: max(16px, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 760px;
  margin: 0 auto;
  padding: 14px;
  color: #f8fafc;
  background: rgba(17, 21, 26, .97);
  border: 1px solid rgba(217, 255, 67, .38);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .42);
  backdrop-filter: blur(16px);
}
.pwa-install__icon { flex: 0 0 auto; border-radius: 12px; }
.pwa-install__copy { display: grid; flex: 1 1 auto; gap: 3px; min-width: 0; }
.pwa-install__copy strong { font-size: 1rem; }
.pwa-install__copy span { color: #cbd5e1; font-size: .9rem; line-height: 1.35; }
.pwa-install__actions { display: flex; flex: 0 0 auto; gap: 8px; }
.pwa-install button {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.pwa-install__primary { color: #0b0d10; background: #d9ff43; }
.pwa-install__later { color: #f8fafc; background: transparent; }
.pwa-install button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

@media (max-width: 620px) {
  .pwa-install { align-items: flex-start; flex-wrap: wrap; }
  .pwa-install__copy { padding-right: 4px; }
  .pwa-install__actions { width: 100%; justify-content: flex-end; }
}

@media (prefers-reduced-motion: no-preference) {
  .pwa-install:not([hidden]) { animation: pwa-install-in .24s ease-out; }
  @keyframes pwa-install-in {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
