.pwa-install-area {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line, #2a2a30);
}
.pwa-install-area small { color: var(--muted, #a0a0aa); line-height: 1.4; }
.pwa-install-button { width: 100%; }
.pwa-topbar-install { display: none; }
.pwa-update-banner,
.pwa-connection-banner {
  position: fixed;
  z-index: 10000;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(560px, calc(100vw - 24px));
  padding: 14px;
  border: 1px solid #3a3a42;
  border-radius: 15px;
  background: rgba(18,18,21,.97);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  color: #f4f4f5;
  backdrop-filter: blur(16px);
}
.pwa-update-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.pwa-update-banner strong { display:block; margin-bottom:3px; }
.pwa-update-banner span { display:block; color:#b6b6bf; font-size:12px; }
.pwa-update-banner button { flex:0 0 auto; }
.pwa-connection-banner { bottom:auto; top:max(12px, env(safe-area-inset-top)); text-align:center; color:#f2d79a; }
.pwa-ios-help {
  position: fixed;
  z-index: 10001;
  inset: 0;
  display:grid;
  place-items:end center;
  padding:20px 16px max(22px, env(safe-area-inset-bottom));
  background:rgba(0,0,0,.66);
}
.pwa-ios-help-card {
  width:min(520px,100%);
  padding:22px;
  border:1px solid #34343b;
  border-radius:20px;
  background:#151518;
  color:#f4f4f5;
}
.pwa-ios-help-card h3 { margin:0 0 10px; }
.pwa-ios-help-card ol { margin:0 0 18px; padding-left:20px; color:#c7c7ce; line-height:1.65; }
.pwa-ios-help-card button { width:100%; }
@media (min-width: 761px) {
  .pwa-topbar-install { display:inline-flex; }
}
@media (max-width: 760px) {
  .pwa-update-banner { align-items:stretch; flex-direction:column; }
  .pwa-update-banner button { width:100%; }
}
@media (display-mode: standalone) {
  [data-pwa-install] { display:none !important; }
}
