html, body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
body { padding-bottom: env(safe-area-inset-bottom); }
.pwa-install-banner {
  position: fixed;
  left: max(10px, env(safe-area-inset-left));
  right: max(10px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 100000;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(96,165,250,.75);
  border-radius: 16px;
  background: rgba(11,18,32,.97);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  color: #f8fafc;
  font-family: system-ui,-apple-system,"Segoe UI",sans-serif;
}
.pwa-install-banner strong { display:block; font-size:14px; }
.pwa-install-banner span { display:block; margin-top:2px; font-size:12px; color:#cbd5e1; }
#pwaInstallButton, #pwaUpdateButton {
  border:0; border-radius:999px; padding:9px 14px; cursor:pointer;
  background:linear-gradient(180deg,#3b82f6,#2563eb); color:white; font-weight:800;
}
#pwaInstallClose { width:32px; height:32px; border:0; border-radius:50%; cursor:pointer; background:#334155; color:#fff; font-size:20px; }
@media (max-width:620px) {
  .pwa-install-banner { padding:9px; gap:7px; }
  .pwa-install-banner strong { font-size:12px; }
  .pwa-install-banner span { font-size:10px; }
  #pwaInstallButton, #pwaUpdateButton { padding:8px 10px; font-size:11px; }
}
