/* The app (v3.84.0): install banner, alerts offer, bell switch */
.pw-bn, .pw-offer { position: fixed; left: 12px; right: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 100004; display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 14px; border-radius: 20px; background: rgba(20,18,24,.96); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255,194,77,.35); box-shadow: 0 20px 50px -10px rgba(0,0,0,.8); color: #f4f4f5; transform: translateY(20px); opacity: 0; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .3s; }
.pw-bn.is-in, .pw-offer.is-in { transform: none; opacity: 1; }
.pw-bn img { flex: none; width: 44px; height: 44px; border-radius: 11px; background: #0b0b0c; }
.pw-bn p, .pw-offer p { flex: 1; min-width: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.pw-bn b, .pw-offer b { font-size: 14.5px; font-weight: 900; }
.pw-bn span, .pw-offer p span { font-size: 12.5px; line-height: 1.35; color: #a1a1aa; }
.pw-go, .pw-yes { flex: none; height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: #f5a623; color: #1a0d02; font: inherit; font-size: 14px; font-weight: 900; cursor: pointer; }
.pw-x { flex: none; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #a1a1aa; font-size: 18px; cursor: pointer; }
.pw-offer { flex-wrap: wrap; }
.pw-ic { font-size: 22px; }
.pw-offer > div { display: flex; gap: 8px; width: 100%; }
.pw-offer > div button { flex: 1; }
.pw-no { height: 40px; border: 0; border-radius: 999px; background: rgba(255,255,255,.08); color: #d4d4d8; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
@media (min-width: 760px) {
  .pw-bn, .pw-offer { left: auto; right: 20px; bottom: 20px; width: 420px; }
  .pw-offer { flex-wrap: nowrap; } .pw-offer > div { width: auto; } .pw-offer > div button { flex: none; }
}
.pw-ios { position: fixed; inset: 0; z-index: 100005; display: flex; align-items: flex-end; justify-content: center; }
.pw-ios-bg { position: absolute; inset: 0; background: rgba(0,0,0,.65); }
.pw-ios-p { position: relative; width: min(440px, 100%); padding: 22px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; background: #141416; color: #f4f4f5; border: 1px solid #2a2a2e; }
.pw-ios-p > b { font-size: 18px; font-weight: 900; }
.pw-ios-p ol { margin: 14px 0 16px; padding-left: 20px; display: grid; gap: 10px; font-size: 15px; color: #d4d4d8; }
.pw-share { display: inline-block; width: 16px; height: 18px; margin: 0 2px -3px; border: 2px solid #60a5fa; border-top: 0; border-radius: 0 0 3px 3px; position: relative; }
.pw-share::before { content: "↑"; position: absolute; left: 50%; top: -9px; transform: translateX(-50%); color: #60a5fa; font-weight: 900; font-size: 14px; line-height: 1; }
.pw-ios-p button { width: 100%; height: 48px; border: 0; border-radius: 14px; background: #f5a623; color: #1a0d02; font: inherit; font-size: 15px; font-weight: 900; }
.pw-toast { position: fixed; left: 50%; bottom: calc(90px + env(safe-area-inset-bottom)); z-index: 100006; max-width: min(420px, calc(100% - 32px)); padding: 12px 16px; border-radius: 14px; background: #f4f4f5; color: #0b0b0c; font-size: 14px; font-weight: 700; text-align: center; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; transition: .25s; }
.pw-toast.is-in { transform: translate(-50%, 0); opacity: 1; }
/* bell panel switch */
.ntp-push { display: flex; align-items: center; gap: 12px; width: 100%; margin: 6px 0 4px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.04); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ntp-push[hidden] { display: none; }
.ntp-push-i { font-size: 20px; }
.ntp-push > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.ntp-push b { font-size: 14.5px; } .ntp-push small { font-size: 12.5px; color: #a1a1aa; }
.ntp-push-sw { flex: none; position: relative; width: 42px; height: 24px; border-radius: 999px; background: #3f3f46; transition: background .2s; }
.ntp-push-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; }
.ntp-push.is-on .ntp-push-sw { background: #4ade80; } .ntp-push.is-on .ntp-push-sw::after { transform: translateX(18px); }
