.app-banner{z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);box-sizing:border-box;background:var(--member-surface,#fff);border:1px solid var(--member-border,#ddd9d7);border-radius:16px;grid-template-columns:36px minmax(0,1fr) auto 44px;align-items:center;gap:10px;width:min(100% - 24px,656px);min-height:64px;padding:10px 4px 10px 12px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #2a2a2a1a}.app-banner[data-shell=true]{bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}.app-banner-icon{object-fit:cover;border-radius:9px;width:36px;height:36px}.app-banner-title{min-width:0;color:var(--member-text,#2a2a2a);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:600;line-height:18px;display:-webkit-box;overflow:hidden}.app-banner-action{min-width:44px;height:44px;color:var(--member-accent,#d10e18);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.app-banner-action>span{box-sizing:border-box;border:1px solid var(--member-accent,#d10e18);background:var(--member-surface,#fff);border-radius:18px;justify-content:center;align-items:center;min-width:44px;height:36px;padding:0 14px;display:inline-flex}.app-banner-action:active>span{background:var(--member-soft,#f3efed)}.app-banner-close{width:44px;height:44px;color:var(--member-muted,#5d5d5d);cursor:pointer;background:0 0;border:0;border-radius:22px;justify-content:center;align-items:center;display:inline-flex}.app-banner-action:focus-visible,.app-banner-close:focus-visible{outline:3px solid var(--member-accent,#d10e18);outline-offset:-2px;border-radius:22px}@media (max-width:340px){.app-banner{gap:6px;padding-left:10px}.app-banner-title{font-size:13px;line-height:17px}.app-banner-action>span{padding:0 9px}}@media (prefers-reduced-motion:no-preference){.app-banner{animation:.22s ease-out app-banner-in}@keyframes app-banner-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}}:root[data-reduce-motion=true] .app-banner{animation:none}.member-shell{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px) + var(--app-banner-h,0px))}html[data-app-banner] .account-page{padding-bottom:calc(var(--app-banner-h,0px) + 28px + env(safe-area-inset-bottom,0px))}.app-banner-live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
