/* PWA04.2 — standalone display is controlled by CSS, not JS initialization.
 * Browsers with cached / delayed scripts can still render the entry correctly. */
.epgnet-pwa-push-entry {
  position: fixed;
  left: max(14px, env(safe-area-inset-left, 0px));
  bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  z-index: 999;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: calc(100vw - 28px);
  padding: 11px 15px;
  border: 1px solid rgba(113,82,139,.24);
  border-radius: 999px;
  background: #ffffff;
  color: #533d68;
  box-shadow: 0 4px 17px rgba(34,27,41,.13);
  font: 600 13px/1.25 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.epgnet-pwa-push-entry:hover,
.epgnet-pwa-push-entry:focus-visible { background: #f7f1fb; color: #352641; text-decoration: none; }
.epgnet-pwa-push-entry:focus-visible { outline: 3px solid #71528b; outline-offset: 3px; }
.epgnet-pwa-push-entry svg { flex: 0 0 auto; }
@media (prefers-reduced-motion: reduce) { .epgnet-pwa-push-entry { transition: none; } }

/* App context is determined by the actual display-mode, not device viewport.
 * JS can add .epgnet-pwa-entry-visible for iOS navigator.standalone fallback. */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
  .epgnet-pwa-push-entry { display: inline-flex; }
}
.epgnet-pwa-push-entry.epgnet-pwa-entry-visible { display: inline-flex; }
