.f254-pwa-install-banner{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 74px);z-index:2147482000;transform:translateX(-50%);width:min(520px,calc(100vw - 24px));display:grid;grid-template-columns:42px minmax(0,1fr) auto 30px;align-items:center;gap:10px;padding:10px 11px;background:var(--f-surface,#fff);color:var(--f-text,#111827);border:1px solid var(--f-border,#e5e7eb);border-radius:16px;box-shadow:0 14px 40px rgba(15,23,42,.18);font-family:var(--f-font-ui,system-ui,sans-serif)}
.f254-pwa-install-banner.is-animated{animation:f254-pwa-banner-in .34s cubic-bezier(.2,.8,.2,1)}
.f254-pwa-install-banner img{width:42px;height:42px;border-radius:11px;object-fit:contain;background:transparent}.f254-pwa-install-banner span{min-width:0}.f254-pwa-install-banner strong,.f254-pwa-install-banner small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f254-pwa-install-banner strong{font-size:13px}.f254-pwa-install-banner small{font-size:11px;color:var(--f-muted,#64748b);margin-top:2px}.f254-pwa-install-banner button{border:0;font:inherit;cursor:pointer}.f254-pwa-install-banner .install{background:#1877f2;color:#fff;border-radius:999px;padding:8px 13px;font-weight:700;font-size:12px}.f254-pwa-install-banner .close{background:transparent;color:var(--f-muted,#64748b);font-size:22px;line-height:1;width:30px;height:30px}.f254-pwa-install-banner .install:disabled{opacity:.55}.f254-pwa-standalone .f254-pwa-install-banner{display:none!important}
.f254-pwa-pull-indicator{position:fixed;top:calc(env(safe-area-inset-top,0px) + 4px);left:50%;z-index:2147481999;transform:translate(-50%,-48px);padding:7px 13px;border-radius:999px;background:var(--f-surface,#fff);color:var(--f-text,#111827);border:1px solid var(--f-border,#e5e7eb);box-shadow:0 6px 18px rgba(15,23,42,.15);font-size:12px;font-weight:700;opacity:0;transition:opacity .15s ease,transform .15s ease;pointer-events:none}.f254-pwa-pull-indicator.is-visible{opacity:1;transition:opacity .08s ease}
html.f254-pwa-smart-widths,html.f254-pwa-smart-widths body{max-width:100%;overflow-x:clip}html.f254-pwa-standalone body{min-height:100dvh}
@keyframes f254-pwa-banner-in{from{opacity:0;transform:translate(-50%,18px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:520px){.f254-pwa-install-banner{grid-template-columns:38px minmax(0,1fr) auto 26px;bottom:calc(env(safe-area-inset-bottom,0px) + 66px);padding:9px}.f254-pwa-install-banner img{width:38px;height:38px}.f254-pwa-install-banner small{display:none}.f254-pwa-install-banner .install{padding:7px 11px}}
@media(prefers-reduced-motion:reduce){.f254-pwa-install-banner.is-animated{animation:none}.f254-pwa-pull-indicator{transition:none}}
