.pwa-install-button {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  display: none;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 14px;
  padding: 12px 17px;
  color: #fff;
  background: linear-gradient(135deg, #2b1d78, #4830b6);
  box-shadow: 0 14px 36px rgba(28, 22, 78, .28);
  font: 700 14px/1.2 inherit;
  cursor: pointer;
}

.pwa-install-button.is-visible { display: inline-flex; }
.pwa-install-button:hover { transform: translateY(-1px); }
body:has(.cm-app) .pwa-install-button { bottom: 84px; }

.pwa-update-notice {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 1300;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: calc(100vw - 32px);
  padding: 12px 14px 12px 17px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  color: #fff;
  background: #0b1635;
  box-shadow: 0 16px 42px rgba(4, 10, 28, .3);
}

.pwa-update-notice button {
  border: 0;
  border-radius: 10px;
  padding: 9px 13px;
  color: #17234b;
  background: #fff;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 720px) {
  .pwa-install-button { right: 14px; bottom: 14px; }
  .pwa-update-notice { bottom: 14px; width: calc(100vw - 28px); justify-content: space-between; }
}
