:root {
  color-scheme: dark;
}

.pwa-install-button {
  position: fixed;
  z-index: 10000;
  right: 18px;
  bottom: 18px;
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: #2d7ef7;
  color: #fff;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  font: 700 15px/1 system-ui, sans-serif;
}

.pwa-install-button:hover,
.pwa-install-button:focus-visible {
  background: #1f6be0;
}

.pwa-install-dialog {
  width: min(420px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid rgba(158, 183, 211, 0.28);
  border-radius: 8px;
  background: #0f2035;
  color: #eef6ff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5);
}

.pwa-install-dialog::backdrop {
  background: rgba(3, 9, 17, 0.72);
}

.pwa-install-dialog-content {
  padding: 24px;
  font-family: system-ui, sans-serif;
}

.pwa-install-dialog h2 {
  margin: 0 0 12px;
  font-size: 24px;
}

.pwa-install-dialog p {
  margin: 0 0 20px;
  color: #b8cae0;
  line-height: 1.55;
}

.pwa-install-dialog form {
  display: flex;
  justify-content: flex-end;
}

.pwa-install-dialog button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 6px;
  background: #2d7ef7;
  color: #fff;
  cursor: pointer;
  font: 700 14px/1 system-ui, sans-serif;
}

@media (max-width: 640px) {
  .pwa-install-button {
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
  }
}
