html:has(.app-banner){--app-banner-h:56px}.app-banner{box-sizing:border-box;background:var(--surface);height:56px;color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:0 12px 0 0;animation:.2s ease-out both app-banner-in;display:flex;overflow:hidden}@keyframes app-banner-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app-banner{animation:none}}.app-icon{box-shadow:0 0 0 1px var(--border-strong);border-radius:8px;flex:none;display:block}.app-banner-icon{width:36px;height:36px}.app-banner-text{flex-direction:column;flex:auto;gap:1px;min-width:0;line-height:1.3;display:flex}.app-banner-title,.app-banner-body{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-banner-title{font-weight:var(--fw-head);font-size:var(--fs-md)}.app-banner-body{color:var(--text-dim);font-size:var(--fs-xs)}.app-banner .btn.app-banner-cta{white-space:nowrap;flex:none;min-width:60px;height:32px;min-height:0;padding:0 16px;position:relative}.app-banner .btn.app-banner-cta:before{content:"";position:absolute;inset:-12px -12px -12px -6px}.app-banner-close{width:44px;height:56px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-right:-8px;padding:0;display:inline-flex}:is(html:has(.esc-banner) .app-banner,html:has(.feed-guest-save) .app-banner){display:none}:is(html:has(.esc-banner),html:has(.feed-guest-save)){--app-banner-h:0px}.esc-banner.esc-banner--app{box-sizing:border-box;flex-wrap:nowrap;gap:10px;height:56px;padding:0 0 0 12px;overflow:hidden}.esc-banner--app .app-icon{width:32px;height:32px}.esc-banner-line{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-md);font-weight:var(--fw-label);flex:auto;overflow:hidden}.esc-banner--app .btn.esc-banner-open{white-space:nowrap;flex:none;height:32px;min-height:0;padding:0 14px;position:relative}.esc-banner--app .btn.esc-banner-open:before{content:"";position:absolute;inset:-12px -4px}.esc-banner-x{width:44px;height:56px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:-8px;padding:0;display:inline-flex}.app-row{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-low);height:48px;color:var(--text);border-radius:12px;align-items:center;gap:8px;padding:0 0 0 8px;display:flex;overflow:hidden}.app-row .app-icon{border-radius:6px;width:24px;height:24px}.app-row-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-base);flex:auto;margin:0;overflow:hidden}.app-row .btn.app-row-cta{white-space:nowrap;flex:none;height:30px;min-height:0;padding:0 10px;position:relative}.app-row .btn.app-row-cta:before{content:"";position:absolute;inset:-9px -4px}.app-row-close{width:44px;height:46px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:-12px;padding:0;display:inline-flex}.app-row-slot:empty{display:none}.app-row-slot{margin:var(--s-2,8px) 0}.app-row--float{left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--surface);max-width:420px;margin-inline:auto;position:fixed;box-shadow:0 8px 24px #00000080}@media (min-width:821px){.app-row--float{bottom:24px}}
