/* B2/7B2 网站动态跳屏 - 独立样式，避免污染主题 */
.b2sa-event-ticker{
  --b2sa-ticker-width:292px;
  --b2sa-ticker-right:18px;
  --b2sa-ticker-bottom:88px;
  position:fixed;
  right:var(--b2sa-ticker-right);
  bottom:var(--b2sa-ticker-bottom);
  width:min(var(--b2sa-ticker-width),calc(100vw - 24px));
  z-index:9992;
  display:none;
  pointer-events:none;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}
.b2sa-event-ticker.is-ready{opacity:1}
.b2sa-event-ticker-list{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  width:100%;
}
.b2sa-event-card{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  width:100%;
  min-height:54px;
  padding:8px 10px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.16);
  border-radius:9px;
  background:rgba(255,255,255,.96);
  color:#111827!important;
  box-shadow:0 7px 22px rgba(15,23,42,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transform:translateX(12px) scale(.98);
  opacity:0;
  transition:opacity .32s ease,transform .32s ease,max-height .32s ease,margin .32s ease,padding .32s ease;
}
.b2sa-event-card.is-entered{
  transform:translateX(0) scale(1);
  opacity:1;
}
.b2sa-event-card.is-leaving{
  max-height:0!important;
  min-height:0!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-width:0!important;
  transform:translateX(18px) scale(.96);
  opacity:0;
}
.b2sa-event-avatar{
  display:block;
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
  background:#eef2f7;
  box-shadow:0 0 0 1px rgba(15,23,42,.08);
}
.b2sa-event-body{min-width:0;line-height:1.25}
.b2sa-event-meta{
  display:flex;
  align-items:center;
  min-width:0;
  gap:5px;
  margin-bottom:3px;
  white-space:nowrap;
}
.b2sa-event-name{
  min-width:0;
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#111827!important;
  font-size:12px!important;
  font-weight:700!important;
}
.b2sa-event-dot,.b2sa-event-time{
  flex:0 0 auto;
  color:#9ca3af!important;
  font-size:10px!important;
  font-weight:400!important;
}
.b2sa-event-message{
  display:block;
  overflow:hidden;
  color:#4b5563!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.35!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.b2sa-event-card[data-type="signin"]{border-left:3px solid #7c3aed}
.b2sa-event-card[data-type="comment"]{border-left:3px solid #2563eb}
.b2sa-event-card[data-type="credit"],
.b2sa-event-card[data-type="interaction"]{border-left:3px solid #f59e0b}
.b2sa-event-card[data-type="post"]{border-left:3px solid #10b981}
.b2sa-event-card[data-type="registration"]{border-left:3px solid #ec4899}

@media (min-width:769px){
  .b2sa-event-ticker.show-desktop{display:block}
}
@media (max-width:768px){
  .b2sa-event-ticker.show-mobile{
    display:block;
    right:10px;
    bottom:max(14px,var(--b2sa-ticker-bottom));
    width:min(var(--b2sa-ticker-width),calc(100vw - 20px));
  }
  .b2sa-event-card{min-height:50px;padding:7px 9px;border-radius:8px}
  .b2sa-event-avatar{width:28px;height:28px}
  .b2sa-event-name{font-size:11px!important}
  .b2sa-event-message{font-size:10px!important}
}
@media (prefers-reduced-motion:reduce){
  .b2sa-event-card{transition:none!important;transform:none!important}
}

/* v3.1.1 自动签到提示与稳定挂载 */
.b2sa-event-card.has-link{pointer-events:auto;cursor:pointer}
.b2sa-event-card.has-link:hover{transform:translateX(-2px) scale(1);box-shadow:0 10px 28px rgba(15,23,42,.16)}
.b2sa-mission-toast{
  position:fixed;
  left:50%;
  top:76px;
  z-index:100000;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:12px;
  width:min(360px,calc(100vw - 28px));
  padding:13px 16px;
  border:1px solid rgba(34,197,94,.24);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  color:#0f172a;
  box-shadow:0 18px 48px rgba(15,23,42,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  transform:translate(-50%,-18px) scale(.96);
  transition:opacity .3s ease,transform .3s ease;
}
.b2sa-mission-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.b2sa-mission-toast.is-error{border-color:rgba(239,68,68,.24)}
.b2sa-mission-toast-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(34,197,94,.22);
}
.b2sa-mission-toast.is-error .b2sa-mission-toast-icon{background:linear-gradient(135deg,#f87171,#dc2626);box-shadow:0 10px 22px rgba(239,68,68,.20)}
.b2sa-mission-toast strong{display:block!important;margin:0 0 3px!important;color:#0f172a!important;font-size:14px!important;line-height:1.25!important}
.b2sa-mission-toast p{margin:0!important;color:#475569!important;font-size:13px!important;line-height:1.45!important}
@media(max-width:768px){
  .b2sa-mission-toast{top:62px;padding:11px 13px;grid-template-columns:38px minmax(0,1fr)}
  .b2sa-mission-toast-icon{width:38px;height:38px;border-radius:12px;font-size:20px!important}
}


/* v3.1.2 自适应短卡片、错位动效与悬浮透明头像 */
.b2sa-event-ticker{
  overflow:visible!important;
}
.b2sa-event-ticker-list{
  align-items:flex-end!important;
  gap:6px!important;
  padding-left:24px!important;
  overflow:visible!important;
}
.b2sa-event-card{
  position:relative!important;
  display:block!important;
  width:var(--b2sa-card-width,auto)!important;
  min-width:174px!important;
  max-width:calc(100% - 4px)!important;
  min-height:50px!important;
  margin-right:var(--b2sa-card-shift,0px)!important;
  padding:7px 10px 7px 20px!important;
  overflow:visible!important;
  border-left-width:1px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 6px 18px rgba(15,23,42,.11)!important;
  transform:translateX(24px) translateY(3px) scale(.96)!important;
  transform-origin:right center!important;
  transition:opacity .38s ease,transform .42s cubic-bezier(.22,.9,.3,1.2),max-height .32s ease,margin .32s ease,padding .32s ease!important;
}
.b2sa-event-card::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:2px;
  border-radius:999px;
  background:var(--b2sa-event-accent,#7c3aed);
  opacity:.88;
}
.b2sa-event-card.is-entered{
  transform:translateX(0) translateY(0) scale(1)!important;
}
.b2sa-event-card.is-leaving{
  transform:translateX(30px) translateY(-3px) scale(.94)!important;
}
.b2sa-event-card.has-link:hover{
  transform:translateX(-4px) translateY(-1px) scale(1.01)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.16)!important;
}
.b2sa-event-avatar{
  position:absolute!important;
  left:-17px!important;
  top:50%!important;
  z-index:2!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.96),0 4px 12px rgba(15,23,42,.16)!important;
  transform:translateY(-50%)!important;
}
.b2sa-event-body{
  min-width:0!important;
  overflow:hidden!important;
}
.b2sa-event-meta{
  margin-bottom:2px!important;
}
.b2sa-event-name{
  max-width:116px!important;
}
.b2sa-event-message{
  max-width:100%!important;
}
.b2sa-event-card[data-type="signin"]{--b2sa-event-accent:#7c3aed}
.b2sa-event-card[data-type="comment"]{--b2sa-event-accent:#2563eb}
.b2sa-event-card[data-type="credit"],
.b2sa-event-card[data-type="interaction"]{--b2sa-event-accent:#f59e0b}
.b2sa-event-card[data-type="post"]{--b2sa-event-accent:#10b981}
.b2sa-event-card[data-type="registration"]{--b2sa-event-accent:#ec4899}

@media(max-width:768px){
  .b2sa-event-ticker-list{padding-left:20px!important;gap:5px!important}
  .b2sa-event-card{
    min-width:164px!important;
    max-width:calc(100% - 2px)!important;
    min-height:46px!important;
    padding:6px 9px 6px 18px!important;
    border-radius:7px!important;
  }
  .b2sa-event-avatar{
    left:-14px!important;
    width:26px!important;
    height:26px!important;
  }
  .b2sa-event-name{max-width:96px!important}
}


/* v3.1.3 小巧悬浮卡片：头像与卡片留白，增强动态层次 */
.b2sa-event-ticker-list{
  gap:4px!important;
  padding-left:46px!important;
}
.b2sa-event-card{
  min-width:152px!important;
  min-height:43px!important;
  padding:5px 9px 5px 10px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.965)!important;
  box-shadow:0 5px 15px rgba(15,23,42,.105)!important;
  transform:translateX(22px) translateY(4px) scale(.955)!important;
  transition:opacity .26s ease,transform .34s cubic-bezier(.2,.9,.32,1.25),max-height .28s ease,margin .28s ease,padding .28s ease!important;
}
.b2sa-event-card.is-entered{
  transform:translateX(0) translateY(0) scale(1)!important;
  animation:b2saCardShadowFloat 3.2s ease-in-out infinite;
  animation-delay:var(--b2sa-card-delay,0s);
}
.b2sa-event-card.is-leaving{
  transform:translateX(28px) translateY(-4px) scale(.93)!important;
}
.b2sa-event-card::before{
  top:7px!important;
  bottom:7px!important;
  width:2px!important;
}
.b2sa-event-avatar{
  left:-39px!important;
  width:28px!important;
  height:28px!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.98),0 5px 13px rgba(15,23,42,.17)!important;
  animation:b2saAvatarHover 2.8s ease-in-out infinite;
  animation-delay:var(--b2sa-card-delay,0s);
}
.b2sa-event-body{line-height:1.18!important}
.b2sa-event-meta{
  gap:4px!important;
  margin-bottom:1px!important;
}
.b2sa-event-name{
  max-width:108px!important;
  font-size:11px!important;
  line-height:1.15!important;
}
.b2sa-event-dot,.b2sa-event-time{
  font-size:9px!important;
  line-height:1.1!important;
}
.b2sa-event-message{
  font-size:10px!important;
  line-height:1.22!important;
}
.b2sa-event-card.has-link:hover{
  transform:translateX(-5px) translateY(-2px) scale(1.015)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
  animation-play-state:paused;
}
.b2sa-event-card.has-link:hover .b2sa-event-avatar{animation-play-state:paused}
@keyframes b2saAvatarHover{
  0%,100%{transform:translateY(-50%) translateX(0) scale(1)}
  50%{transform:translateY(calc(-50% - 2px)) translateX(-1px) scale(1.03)}
}
@keyframes b2saCardShadowFloat{
  0%,100%{box-shadow:0 5px 15px rgba(15,23,42,.10)}
  50%{box-shadow:0 8px 20px rgba(15,23,42,.14)}
}
@media(max-width:768px){
  .b2sa-event-ticker-list{
    padding-left:41px!important;
    gap:3px!important;
  }
  .b2sa-event-card{
    min-width:146px!important;
    min-height:40px!important;
    padding:5px 8px 5px 9px!important;
    border-radius:7px!important;
  }
  .b2sa-event-avatar{
    left:-34px!important;
    width:25px!important;
    height:25px!important;
  }
  .b2sa-event-name{max-width:92px!important;font-size:10.5px!important}
  .b2sa-event-message{font-size:9.5px!important}
}
@media(prefers-reduced-motion:reduce){
  .b2sa-event-card.is-entered,.b2sa-event-avatar{animation:none!important}
}


/* v3.1.4 去除头像描边与卡片左侧彩色条 */
.b2sa-event-card,
.b2sa-event-card[data-type="signin"],
.b2sa-event-card[data-type="comment"],
.b2sa-event-card[data-type="credit"],
.b2sa-event-card[data-type="interaction"],
.b2sa-event-card[data-type="post"],
.b2sa-event-card[data-type="registration"]{
  border:1px solid rgba(148,163,184,.16)!important;
  border-left:1px solid rgba(148,163,184,.16)!important;
  background:rgba(255,255,255,.97)!important;
}
.b2sa-event-card::before{
  display:none!important;
  content:none!important;
}
.b2sa-event-avatar{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:0 5px 12px rgba(15,23,42,.16)!important;
}
