.pwa-install-button {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--text);
  box-shadow: 0 14px 34px var(--shadow);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.pwa-install-button:hover { background: var(--surface); }
.pwa-install-button:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }

.pwa-offline-body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--text); }
.pwa-offline-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; box-sizing: border-box; }
.pwa-offline-card { width: min(100%, 460px); margin: 0; padding: 32px; text-align: center; }
.pwa-offline-mark { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; margin-bottom: 18px; }
.pwa-offline-card h1 { margin: 0 0 10px; }
.pwa-offline-card p { margin: 0 0 22px; color: var(--muted); }

@media (max-width: 700px) {
  .pwa-install-button { right: 12px; bottom: 12px; }
  .pwa-offline-page { padding: 16px; }
  .pwa-offline-card { padding: 24px 18px; }
}
