.app-banner{left:8px;right:8px;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 8px);z-index:46;background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:10px;padding:8px 10px 8px 6px;animation:.25s ease-out app-banner-in;display:flex;position:fixed;box-shadow:0 6px 24px #0f172a29}body:has(.app-banner){padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 76px)}.app-banner-close{width:28px;height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:22px;line-height:1}.app-banner-logo{flex:none;width:40px;height:40px}.app-banner-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.app-banner-text strong{font-size:14px}.app-banner-text span{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.app-banner-btn{border-radius:999px;flex:none;padding:8px 16px;font-weight:700}@media (min-width:1080px){.app-banner{width:360px;bottom:16px;left:auto;right:16px}body:has(.app-banner){padding-bottom:0}}@keyframes app-banner-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.app-banner{animation:none}}
