.pwa-install {
  position: fixed;
  z-index: 40;
  inset-inline: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(420px, calc(100% - 24px));
  margin-inline: auto;
  padding: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1));
  border-radius: 16px;
  background: var(--surface, #0a1315);
  color: var(--text, #e9f3f4);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}
.pwa-install[hidden] { display: none !important; }
.pwa-row { display: flex; gap: 10px; align-items: flex-start; }
.pwa-install img { width: 40px; height: 40px; border-radius: 10px; flex: none; }
.pwa-install h2 { margin: 0 0 4px; font-size: 0.95rem; line-height: 1.35; }
.pwa-install p, .pwa-install ol { margin: 0; color: var(--muted, #9db2b6); font-size: 0.8rem; line-height: 1.45; }
.pwa-install ol { padding-inline-start: 1.1rem; }
.pwa-install .pwa-actions { display: flex; justify-content: flex-end; gap: 8px; }
.pwa-install button {
  min-height: 36px;
  border-radius: 999px;
  padding: 0 14px;
  cursor: pointer;
}
.pwa-install .pwa-go {
  border: 0;
  background: var(--accent, #2ee8d9);
  color: #00181a;
  font-weight: 700;
}
.pwa-install .pwa-close {
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: transparent;
  color: inherit;
}
html[data-theme="light"] .pwa-install {
  background: #fff;
  color: #0a1a1d;
}
body.pwa-open { padding-bottom: calc(148px + env(safe-area-inset-bottom)); }