.pwa-install { margin: 20px 0; color: var(--muted, #aaaab4); font-size: 13px; line-height: 1.6; }
.pwa-install [hidden], .pwa-install[hidden] { display: none !important; }
.pwa-install-button { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--border, #303038); border-radius: 10px; background: var(--raised, #18181c); color: var(--text, #f4f4f5); font: inherit; cursor: pointer; }
.pwa-install-button:hover { border-color: var(--accent, #be9cf3); }
.pwa-install-help p { margin: 8px 0; }
.pwa-install-status { margin: 8px 0 0; }
.pwa-install-status:empty { display: none; }
.footer-links + .pwa-install { width: min(1240px, calc(100% - 48px)); margin: 20px auto; }
@media (max-width: 620px) {
    .footer-links + .pwa-install { width: calc(100% - 32px); }
    .home-info > .pwa-install { width: calc(100% - 24px); }
}
.pwa-banner { position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); z-index: 80; width: min(640px, calc(100% - 32px)); box-sizing: border-box; padding: 14px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; border: 1px solid #303038; border-radius: 16px; background: #18181c; color: #f4f4f5; font-family: Inter, system-ui, sans-serif; box-shadow: 0 8px 32px rgba(0,0,0,.4); }
.pwa-banner[hidden] { display: none !important; }
.pwa-banner > img { width: 48px; height: 48px; border-radius: 12px; }
.pwa-banner-copy { min-width: 0; }
.pwa-banner-copy p { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.pwa-banner-copy span { display: block; margin-top: 4px; color: #aaaab4; font-size: 12px; line-height: 1.4; }
.pwa-banner-install, .pwa-banner-dismiss { min-height: 44px; border: 0; border-radius: 10px; font: inherit; cursor: pointer; }
.pwa-banner-install { padding: 8px 14px; background: #be9cf3; color: #17111f; font-size: 14px; font-weight: 600; }
.pwa-banner-dismiss { min-width: 44px; padding: 0; background: transparent; color: #aaaab4; font-size: 24px; }
@media (max-width: 420px) {
    .pwa-banner { width: calc(100% - 24px); padding: 10px; gap: 8px; grid-template-columns: 40px minmax(0, 1fr) auto auto; }
    .pwa-banner > img { width: 40px; height: 40px; }
    .pwa-banner-copy p { font-size: 13px; }
    .pwa-banner-copy span { display: none; }
    .pwa-banner-install { padding-inline: 10px; }
}
@media print { .pwa-install, .pwa-banner { display: none !important; } }
