.pwa-install-button {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 1000;
  padding: .75rem 1rem;
  border: 1px solid #243746;
  border-radius: 999px;
  background: #243746;
  color: #fff;
  font: 600 .95rem/1.4 system-ui, sans-serif;
  box-shadow: 0 .2rem 1rem #0003;
  cursor: pointer;
}
.pwa-install-button:disabled { opacity: .65; cursor: progress; }
.pwa-install-button:focus-visible,
.pwa-install-dialog button:focus-visible { outline: 3px solid #b66a00; outline-offset: 4px; }
.pwa-install-dialog {
  box-sizing: border-box;
  width: min(34rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.5rem;
  border: 1px solid #ccd4da;
  border-radius: .75rem;
  background: #fff;
  color: #243746;
  font: 1rem/1.6 system-ui, sans-serif;
}
.pwa-install-dialog::backdrop { background: #0008; }
.pwa-install-dialog h2 { margin: 0 0 1rem; font-size: 1.35rem; color: inherit; }
.pwa-install-dialog ol { padding-left: 1.5rem; }
.pwa-install-dialog li { margin-bottom: .75rem; }
.pwa-install-dialog button {
  padding: .65rem 1rem;
  border: 1px solid #243746;
  border-radius: .4rem;
  background: #243746;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.pwa-ios-banner {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left));
  right: max(1rem, env(safe-area-inset-right));
  top: max(1rem, env(safe-area-inset-top));
  z-index: 1001;
  box-sizing: border-box;
  max-width: 38rem;
  margin: auto;
  padding: 1rem;
  border: 1px solid #ccd4da;
  border-radius: .75rem;
  background: #fff;
  color: #243746;
  box-shadow: 0 .2rem 1rem #0003;
  font: 1rem/1.5 system-ui, sans-serif;
}
.pwa-ios-banner p { margin: 0 0 .75rem; }
.pwa-ios-banner button {
  margin: .25rem .5rem .25rem 0;
  padding: .5rem .75rem;
  border: 1px solid #243746;
  border-radius: .4rem;
  background: #243746;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.pwa-ios-banner button:focus-visible { outline: 3px solid #b66a00; outline-offset: 3px; }

.pwa-install-button[hidden],
[data-pwa-install-state][hidden] { display: none !important; }
