.app-update-banner{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:24;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:min(calc(100% - 24px),510px);padding:12px;background:#fff;border:1px solid #dfd5f4;border-radius:18px;box-shadow:0 8px 40px #43316225;animation:update-banner-enter .2s ease-out}
.app-update-banner strong{display:block;font-size:12px;line-height:1.4;font-weight:600;color:#423251}
.app-update-banner span{display:block;font-size:10px;line-height:1.5;color:#877594;margin-top:3px}
.app-update-banner button{min-height:40px;padding:8px 11px;border:0;border-radius:12px;font-size:11px;white-space:nowrap}
#appUpdateNow{background:#6958f5;color:#fff}
#appUpdateLater{background:#f1ecfa;color:#715b8e}
.app-update-banner button:disabled{opacity:.6;cursor:wait}
@keyframes update-banner-enter{from{opacity:0;bottom:0}to{opacity:1}}
@media(max-width:360px){.app-update-banner{gap:6px;padding:10px}.app-update-banner button{padding:7px 9px;font-size:10px}.app-update-banner span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.app-update-banner{animation:none}}
