.banner[data-v-17754fa8]{position:fixed;top:calc(10px + env(safe-area-inset-top));left:12px;right:12px;z-index:200;display:flex;align-items:stretch;gap:8px;background:var(--dark);border-radius:14px;box-shadow:0 10px 32px #1a3a2859;overflow:hidden}.banner-main[data-v-17754fa8]{flex:1;display:flex;align-items:center;gap:12px;padding:12px 14px;background:none;border:none;text-align:left;color:#fff}.banner-icon[data-v-17754fa8]{width:40px;height:40px;border-radius:50%;background:var(--lime);color:var(--dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:bellShake-17754fa8 .8s ease-in-out infinite}@keyframes bellShake-17754fa8{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(8deg)}}.banner-copy[data-v-17754fa8]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.banner-title[data-v-17754fa8]{font-family:var(--font-head);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.banner-sub[data-v-17754fa8]{font-size:11px;color:#ffffffb8;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-action[data-v-17754fa8]{flex-shrink:0;font-size:11px;font-weight:700;color:var(--lime)}.banner-close[data-v-17754fa8]{width:44px;flex-shrink:0;background:#ffffff0f;border:none;color:#ffffffb3;font-size:22px;line-height:1}.banner-enter-active[data-v-17754fa8],.banner-leave-active[data-v-17754fa8]{transition:opacity .25s ease,transform .25s ease}.banner-enter-from[data-v-17754fa8],.banner-leave-to[data-v-17754fa8]{opacity:0;transform:translateY(-12px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F0F7E6;--dark: #1A3A28;--lime: #A8D428;--border: #E5EDD6;--white: #fff;--surface: #fff;--text: #111;--muted: #777;--font-head: "Montserrat", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif}html,body,#app{height:100%;background:var(--bg);font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased}.ps::-webkit-scrollbar{display:none}.ps{-ms-overflow-style:none;scrollbar-width:none}button{font-family:inherit;cursor:pointer}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-up{animation:fadeUp .25s ease both}.slide-up{animation:slideUp .3s cubic-bezier(.32,.72,0,1) both}.fade-in{animation:fadeIn .2s ease both}
