.xz-gua-celebration{
  position:fixed;inset:0;z-index:12000;overflow:hidden;pointer-events:none;
  display:grid;place-items:center;padding:24px;
  opacity:0;transition:opacity .42s cubic-bezier(.22,1,.36,1);
  contain:layout paint style;
}
.xz-gua-celebration.is-visible{opacity:1}
.xz-gua-celebration::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 55%,rgba(75,20,110,.08),rgba(20,5,45,.3) 68%,rgba(10,2,25,.45));
  -webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);
}
.xz-gua-celebration canvas{position:absolute;inset:0;width:100%;height:100%}
.xz-gua-blessing{
  position:relative;width:min(86vw,340px);padding:24px 20px 22px;text-align:center;
  color:#fff8dc;border:1px solid rgba(255,224,132,.7);border-radius:24px;
  background:linear-gradient(145deg,rgba(72,24,92,.94),rgba(105,43,62,.92));
  box-shadow:0 24px 70px rgba(26,4,48,.4),inset 0 1px 0 rgba(255,255,255,.22);
  transform:translate3d(0,34px,0) scale(.86);opacity:0;
  transition:transform .72s cubic-bezier(.16,1.34,.3,1),opacity .38s ease;
  will-change:transform,opacity;
}
.is-visible .xz-gua-blessing{transform:translate3d(0,0,0) scale(1);opacity:1}
.xz-gua-blessing::before{content:"☯";display:block;font-size:33px;line-height:1;margin-bottom:10px;color:#f5ce69;text-shadow:0 0 20px rgba(255,215,102,.55)}
.xz-gua-blessing strong{display:block;font-family:"Noto Serif SC",serif;font-size:20px;letter-spacing:.15em;color:#ffe59a}
.xz-gua-blessing span{display:block;margin-top:10px;font-size:13px;line-height:1.85;letter-spacing:.06em;color:rgba(255,251,234,.93)}
.xz-gua-blessing i{display:flex;align-items:center;gap:8px;margin:15px auto 0;width:76%;color:#e8bd5e;font-style:normal;font-size:11px;white-space:nowrap}
.xz-gua-blessing i::before,.xz-gua-blessing i::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#e8bd5e)}
.xz-gua-blessing i::after{transform:scaleX(-1)}
.xz-gua-celebration.is-leaving{opacity:0;transition-duration:.55s}
.xz-gua-celebration.is-leaving .xz-gua-blessing{transform:translate3d(0,-12px,0) scale(.97);opacity:0;transition:transform .5s cubic-bezier(.4,0,.6,1),opacity .35s ease}
@media(prefers-reduced-motion:reduce){
  .xz-gua-celebration,.xz-gua-blessing{transition-duration:.01ms!important}
  .xz-gua-celebration canvas{display:none}
}
