#pwa-prompt {
  position: fixed;
  inset: auto 20px 20px auto;
  margin: 0;
  width: min(420px, calc(100vw - 32px));
  max-height: min(620px, calc(100dvh - 32px));
  overflow: auto;
  padding: 24px;
  border: 1px solid var(--gold-dark);
  border-radius: var(--radius, 12px);
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 8px 32px #0002;
  z-index: 45;
  font: inherit;
}
#pwa-prompt[open] { animation: pwa-prompt-appear .18s ease-out; }
#pwa-prompt [hidden] { display: none !important; }
#pwa-prompt h2 { padding-right: 30px; font-size: 20px; }
#pwa-prompt p { margin: 12px 0; line-height: 1.6; }
#pwa-prompt section { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
#pwa-prompt h3 { display: flex; align-items: center; gap: 10px; }
#pwa-prompt h3 span { color: var(--gold-dark); font-size: 24px; }
#pwa-prompt button { min-height: 44px; white-space: normal; }
#pwa-prompt .btn { width: 100%; border: 1px solid var(--gold-dark); }
.pwa-prompt-later, .pwa-prompt-close { background: var(--surface); color: var(--text); }
#pwa-prompt .btn-gold { color: #19212d; background: var(--gold); }
.pwa-prompt-close { position: absolute; right: 8px; top: 8px; width: 44px; font-size: 26px; }
.pwa-prompt-later {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  margin: 18px auto 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 7px;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
#pwa-prompt button:focus-visible { outline: 3px solid var(--blue, #2798ee); outline-offset: 2px; }
@keyframes pwa-prompt-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
  #pwa-prompt { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 18px; max-height: calc(75dvh - 16px); }
  #pwa-prompt h2 { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { #pwa-prompt[open] { animation: none; } }
