/* PP Prediction Banner (variant v1: centered pill, 4 targets, pulse CTA). Desktop-only. */
.bs-ppb{position:fixed;left:50%;bottom:20px;z-index:9000;display:flex;align-items:center;gap:18px;
  width:min(860px,94vw);min-height:64px;padding:12px 22px;
  background:#fff;border:1px solid #e2e5ed;border-radius:16px;
  box-shadow:0 16px 50px rgba(15,21,35,.22);
  transform:translate(-50%,140%);opacity:0;
  transition:transform .55s cubic-bezier(.2,.85,.3,1),opacity .4s;
  font-family:inherit;color:#111827}
.bs-ppb.is-visible{transform:translate(-50%,0);opacity:1}
.bs-ppb *{box-sizing:border-box}
.bs-ppb-logo{width:40px;height:40px;border-radius:50%;flex:0 0 auto;object-fit:cover}
.bs-ppb-name{font-weight:700;font-size:15px;line-height:1.15}
.bs-ppb-name span{color:#9ca3af;font-weight:600;font-size:12px}
.bs-ppb-sub{font-size:12px;color:#4b5563;margin-top:2px}
.bs-ppb-up{color:#16a34a;font-weight:700}
.bs-ppb-dn{color:#dc2626;font-weight:700}
.bs-ppb-spacer{flex:1 1 auto}
.bs-ppb-targets{display:flex;gap:16px;align-items:center}
.bs-ppb-tgt{display:flex;flex-direction:column;line-height:1.2}
.bs-ppb-tgt-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:#9ca3af}
.bs-ppb-tgt-v{font-size:14px;font-weight:700}
.bs-ppb-cta{display:inline-flex;align-items:center;gap:8px;background:#1DB0E1;text-decoration:none;
  font-weight:700;font-size:14px;padding:11px 20px;border-radius:10px;white-space:nowrap;flex:0 0 auto;
  transition:background .15s,transform .15s;
  animation:bs-ppb-pulse 3s ease-in-out infinite,bs-ppb-ring 3s ease-out infinite}
#bs-pp-banner .bs-ppb-cta,#bs-pp-banner .bs-ppb-cta:hover,#bs-pp-banner .bs-ppb-cta:focus,#bs-pp-banner .bs-ppb-cta:visited{color:#fff}
.bs-ppb-cta:hover{background:#206389}
.bs-ppb-arr{transition:transform .2s}
.bs-ppb-cta:hover .bs-ppb-arr{transform:translateX(3px)}
@keyframes bs-ppb-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes bs-ppb-ring{0%{box-shadow:0 0 0 0 rgba(29,176,225,.45)}70%{box-shadow:0 0 0 12px rgba(29,176,225,0)}100%{box-shadow:0 0 0 0 rgba(29,176,225,0)}}
@media(max-width:991px){.bs-ppb-tgt-lg{display:none}.bs-ppb{width:min(680px,94vw)}}
@media(max-width:767px){#bs-pp-banner{display:none}}
@media(prefers-reduced-motion:reduce){.bs-ppb-cta{animation:none}.bs-ppb{transition:opacity .3s}}
/* Back-to-top (#bs-back-to-top: bottom-center, z-index 9990) rides just above the pill while it is showing. */
@media(min-width:768px){body.bs-ppb-active #bs-back-to-top{bottom:104px}}
html.bs-dark .bs-ppb{background:#0f1523;border-color:#1f2937;color:#e5e9f0;box-shadow:0 -8px 30px rgba(0,0,0,.5)}
html.bs-dark .bs-ppb-name span,html.bs-dark .bs-ppb-sub,html.bs-dark .bs-ppb-tgt-lbl{color:#94a3b8}
