.bu-stage{aspect-ratio:1;background:#e7dff5;border-radius:50%;width:min(100%,460px);margin-inline:auto;position:relative;overflow:visible}.bu-starfield,.bu-edge-field{pointer-events:none;position:absolute;inset:0}.bu-starfield{z-index:0}.bu-edge-field{z-index:1;overflow:visible}.bu-star,.bu-edge-star{transform:translate(-50%, -50%) rotate(var(--rot,0deg));position:absolute}.bu-star{animation:4.8s ease-in-out infinite bu-twinkle}.bu-edge-star{animation:5.2s ease-in-out infinite bu-twinkle-edge}.bu-star svg,.bu-edge-star svg{width:100%;height:100%;display:block;overflow:visible}.bu-star{color:#fffdf8;opacity:.55}.bu-star svg{filter:drop-shadow(0 1px 1px #4e387d24)}.bu-star.tone-accent{color:var(--accent,#ff776a);opacity:.35}.bu-star.tone-grape{color:#574485;opacity:.2}.bu-edge-star{color:#fffdf8;opacity:.7}.bu-edge-star svg{filter:drop-shadow(0 2px #4e387d1a)}.bu-edge-star.tone-accent{color:var(--accent,#ff776a);opacity:.5}.bu-edge-star.tone-grape{color:#574485;opacity:.35}@keyframes bu-twinkle{0%,to{opacity:.28;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.92)}40%{opacity:.42;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.96)}65%{opacity:.78;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1.03)}80%{opacity:.36;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.94)}}@keyframes bu-twinkle-edge{0%,to{opacity:.3;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.94)}40%{opacity:.4;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.97)}65%{opacity:.62;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1.01)}80%{opacity:.34;transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(.95)}}.bu-star.has-flare:before,.bu-star.has-flare:after,.bu-edge-star.has-flare:before,.bu-edge-star.has-flare:after{content:"";pointer-events:none;opacity:0;position:absolute;top:50%;left:50%}.bu-star.has-flare:before{filter:blur(.3px);width:280%;height:1px;animation:4.8s ease-in-out infinite bu-flare-h;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,4.8s);background:linear-gradient(90deg,#fff0,#ffffffd9,#fff0);transform:translate(-50%,-50%)scaleX(.3)}.bu-star.has-flare:after{filter:blur(.3px);width:1px;height:180%;animation:4.8s ease-in-out infinite bu-flare-v;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,4.8s);background:linear-gradient(#fff0,#ffffffb3,#fff0);transform:translate(-50%,-50%)scaleY(.3)}.bu-edge-star.has-flare:before{filter:blur(.4px);width:240%;height:1.5px;animation:5.2s ease-in-out infinite bu-flare-h-edge;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,5.2s);background:linear-gradient(90deg,#fff0,#ffffffb3,#fff0);transform:translate(-50%,-50%)scaleX(.3)}.bu-edge-star.has-flare:after{filter:blur(.4px);width:1.5px;height:160%;animation:5.2s ease-in-out infinite bu-flare-v-edge;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,5.2s);background:linear-gradient(#fff0,#ffffff8c,#fff0);transform:translate(-50%,-50%)scaleY(.3)}.bu-flare-core{pointer-events:none;opacity:0;background:radial-gradient(circle,#fff 0 32%,#fff0 72%);border-radius:50%;width:65%;height:65%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5);box-shadow:0 0 6px #fffc}.bu-star.has-flare .bu-flare-core{animation:4.8s ease-in-out infinite bu-flare-core;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,4.8s)}.bu-edge-star.has-flare .bu-flare-core{animation:5.2s ease-in-out infinite bu-flare-core-edge;animation-delay:var(--flare-delay,0s);animation-duration:var(--flare-dur,5.2s)}@keyframes bu-flare-h{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scaleX(.3)}65%{opacity:.6;transform:translate(-50%,-50%)scaleX(1)}}@keyframes bu-flare-v{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scaleY(.3)}65%{opacity:.4;transform:translate(-50%,-50%)scaleY(1)}}@keyframes bu-flare-core{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scale(.5)}65%{opacity:.9;transform:translate(-50%,-50%)scale(1)}}@keyframes bu-flare-h-edge{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scaleX(.3)}65%{opacity:.4;transform:translate(-50%,-50%)scaleX(1)}}@keyframes bu-flare-v-edge{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scaleY(.3)}65%{opacity:.28;transform:translate(-50%,-50%)scaleY(1)}}@keyframes bu-flare-core-edge{0%,38%,80%,to{opacity:0;transform:translate(-50%,-50%)scale(.5)}65%{opacity:.7;transform:translate(-50%,-50%)scale(1)}}.bu-orbit-ring{z-index:1;pointer-events:none;border-radius:50%;position:absolute}.bu-orbit-ring.inner{border:2px solid #654a971f;border-color:color-mix(in srgb, var(--accent,#ff776a) 26%, transparent);inset:23.5%}.bu-orbit-ring.outer{border:2px dashed #654a972e;border-color:color-mix(in srgb, var(--accent,#ff776a) 32%, transparent);inset:6%}.bu-slot{z-index:2;pointer-events:auto;width:max-content;position:absolute}.bu-avatar{background:#fffdf8;border:3px solid #fff;border-radius:50%;width:52px;height:52px;padding:0;transition:transform .16s,box-shadow .16s;position:relative;overflow:visible;rotate:-3deg;box-shadow:0 6px #4e387d24}.bu-avatar:hover{transform:scale(1.08)}.bu-avatar.selected{border-color:var(--accent,#ff776a);box-shadow:0 6px 0 #4e387d24, 0 0 0 4px color-mix(in srgb, var(--accent,#ff776a) 35%, transparent)}.bu-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.bu-avatar.just-landed img{animation:.3s cubic-bezier(.22,1,.36,1) bu-pop}.bu-avatar.sending{animation:.45s bu-send-pulse}@keyframes bu-send-pulse{0%{transform:scale(1)}40%{transform:scale(1.18);box-shadow:0 6px #4e387d24,0 0 0 6px #ff776a59}to{transform:scale(1)}}.bu-avatar.arriving{opacity:0;pointer-events:none;transform:scale(.5)}.bu-avatar.arriving img{animation:none!important}@keyframes bu-pop{0%{transform:scale(.55)}60%{transform:scale(1.12)}to{transform:scale(1)}}.bu-ripple{border:2px solid #ff776a80;border-color:color-mix(in srgb, var(--accent,#ff776a) 50%, transparent);opacity:.7;pointer-events:none;border-radius:50%;width:56px;height:56px;animation:.45s ease-out 50ms forwards bu-ripple;position:absolute;top:22px;left:50%;transform:translate(-50%,-50%)scale(.6)}@keyframes bu-ripple{to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}.bu-add-fly{z-index:6;pointer-events:none;will-change:transform;background:#fff;border:3px solid #fff;border-radius:50%;width:44px;height:44px;position:absolute;overflow:hidden;box-shadow:0 6px #4e387d33}.bu-add-fly img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.bu-name{transition:opacity .2s}.bu-slot.arriving .bu-name{opacity:0}.bu-heart-wrap{z-index:2;cursor:pointer;font:inherit;background:radial-gradient(circle at 50% 38%,#fffdf8 0%,#fdeee4 58%,#f8ddd2 100%);border:0;border-radius:50%;place-items:center;padding:0;transition:transform .18s;display:grid;position:absolute;inset:31%;overflow:visible;box-shadow:0 12px 28px #ff967847,inset 0 -8px 18px #ff8a7a1f}.bu-heart-wrap:after{content:"";border:2px dashed #ff776a59;border-color:color-mix(in srgb, var(--accent,#ff776a) 38%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:-9px}.bu-heart-wrap:hover{transform:scale(1.03)}.bu-heart-wrap:active{transform:scale(.97)}.bu-heart-wrap:focus-visible{outline-offset:3px;outline:3px solid #574485}.bu-heart-wrap.incoming{transform:scale(1.06)}.bu-heart-wrap.full{box-shadow:0 12px 28px #ff967859,0 0 42px #ff9678bf}.bu-heart-visual{aspect-ratio:120/110;will-change:transform;width:68%;margin-top:-8%}.bu-heart-svg{width:100%;height:auto;display:block;overflow:visible}.bu-heart-track{fill:#ffd2c7}.bu-heart-level{transition:transform .9s}.bu-heart-stroke{fill:none;stroke:#ff716c;stroke-width:5px;stroke-linejoin:round}.bu-heart-shine{fill:#fff9;transform-origin:38px 34px;transform:rotate(-18deg)}.bu-count{color:#51436e;white-space:nowrap;background:#fffdf8f0;border-radius:999px;padding:2px 10px;font-family:Shantell Sans,sans-serif;font-size:11px;font-weight:600;animation:.35s bu-count-pop;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}@keyframes bu-count-pop{0%{transform:translate(-50%)scale(.7)}60%{transform:translate(-50%)scale(1.12)}to{transform:translate(-50%)scale(1)}}.bu-fly{z-index:5;color:#fff;pointer-events:none;will-change:transform;border:3px solid #fff;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:absolute;box-shadow:0 4px #4e387d33,0 0 22px #ff776a80}.bu-fly-icon{place-items:center;line-height:1;display:grid}.bu-fly-icon svg,.bu-toast-dot svg{display:block}.bu-fly.note{background:var(--accent,#ff776a)}.bu-fly.photo{background:#51b99e}.bu-fly.voice{background:#7454bd}.bu-fly.video{background:#5ea2dd}@media (width<=630px){.bu-avatar{width:46px;height:46px}.bu-heart-visual{width:74%}}@media (prefers-reduced-motion:reduce){.bu-avatar.just-landed img,.bu-avatar.sending,.bu-ripple,.bu-count,.bu-star,.bu-edge-star{animation:none!important}.bu-star,.bu-edge-star{opacity:.55!important;transform:translate(-50%, -50%) rotate(var(--rot,0deg))!important}.bu-star.has-flare:before,.bu-star.has-flare:after,.bu-edge-star.has-flare:before,.bu-edge-star.has-flare:after,.bu-flare-core{opacity:0!important;animation:none!important}.bu-heart-level,.bu-heart-wrap{transition-duration:.01ms!important}}.bu-toast-stack{pointer-events:none}.bu-toast{border:1.5px solid #e8e1f2;border-color:color-mix(in srgb, var(--accent,#ff776a) 22%, #e8e1f2);color:#42355d;text-align:left;max-width:min(240px,70vw);transform:translateX(var(--tx,0px));opacity:0;background:#fffdf8f7;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:700;line-height:1.3;animation:4s ease-out forwards bu-toast-rise;display:flex;overflow:hidden;box-shadow:0 8px 20px #4e387d38}.bu-toast-text{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:auto;min-width:0;display:-webkit-box;overflow:hidden}.bu-toast-dot{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-1px;right:0;box-shadow:0 2px 6px #4e387d4d}.bu-toast-face{flex:none;width:40px;height:28px;position:relative}.bu-toast-avatar{object-fit:cover;background:#fff;border:2px solid #fff;border-radius:50%;width:24px;height:24px;display:block;position:absolute;top:2px;left:0;box-shadow:0 2px 6px #4e387d33}.bu-toast.note .bu-toast-dot{background:var(--accent,#ff776a)}.bu-toast.photo .bu-toast-dot{background:#51b99e}.bu-toast.voice .bu-toast-dot{background:#7454bd}.bu-toast.video .bu-toast-dot{background:#5ea2dd}@keyframes bu-toast-rise{0%{opacity:0;transform:translateX(var(--tx,0px)) translateY(14px) scale(.85)}12%{opacity:1;transform:translateX(var(--tx,0px)) translateY(0) scale(1)}to{opacity:1;transform:translateX(var(--tx,0px)) translateY(-60px) scale(1)}}.bu-toast.hurry{animation:2s ease-out forwards bu-toast-rise-fast}@keyframes bu-toast-rise-fast{0%{opacity:0;transform:translateX(var(--tx,0px)) translateY(14px) scale(.85)}10%{opacity:1;transform:translateX(var(--tx,0px)) translateY(0) scale(1)}to{opacity:1;transform:translateX(var(--tx,0px)) translateY(-84px) scale(1)}}.bu-toast.leaving{animation:.5s ease-out forwards bu-toast-out}@keyframes bu-toast-out{0%{opacity:1;transform:translateX(var(--tx,0px)) translateY(-60px) scale(1)}to{opacity:0;transform:translateX(var(--tx,0px)) translateY(-96px) scale(.94)}}.bu-toast.hurry.leaving{animation:.5s ease-out forwards bu-toast-out-fast}@keyframes bu-toast-out-fast{0%{opacity:1;transform:translateX(var(--tx,0px)) translateY(-84px) scale(1)}to{opacity:0;transform:translateX(var(--tx,0px)) translateY(-130px) scale(.94)}}@media (width<=630px){.bu-toast{max-width:min(200px,70vw);font-size:11px}}@media (prefers-reduced-motion:reduce){.bu-toast{animation:none!important}.bu-toast-stack{gap:6px}.bu-toast{opacity:1!important;transform:translateX(var(--tx,0px))!important}}.bu-burst{z-index:8;pointer-events:none;opacity:0;will-change:transform, opacity;line-height:0;animation:1.5s cubic-bezier(.22,1,.36,1) forwards bu-heart-float;position:absolute;top:50%;left:50%}.bu-burst svg{display:block;overflow:visible}@keyframes bu-heart-float{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(0)}15%{opacity:1;transform:translate(-50%, -50%) scale(1.1) rotate(calc(var(--brot,0deg) * .4))}to{opacity:0;transform:translate(calc(-50% + var(--bx,0px)), calc(-50% + var(--by,-80px))) scale(.9) rotate(var(--brot,0deg))}}@media (prefers-reduced-motion:reduce){.bu-burst{animation:none!important}}.bu-editor-pop{z-index:31;width:fit-content;max-width:min(320px,100% - 16px);max-height:none;margin:0;animation:.18s ease-out bu-pop-in;position:absolute;bottom:10px;left:50%;right:auto;transform:translate(-50%)}@keyframes bu-pop-in{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.bu-camera-nudge{animation:.9s ease-out bu-camera-nudge}@keyframes bu-camera-nudge{0%,to{box-shadow:0 2px 8px #4e387d40}35%{box-shadow:0 2px 8px #4e387d40,0 0 0 6px #51b99e73}}.bu-pop-swap{animation:.16s ease-out bu-pop-swap}@keyframes bu-pop-swap{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=630px){.bu-editor-pop{width:fit-content;max-width:calc(100% - 16px);bottom:8px;left:50%}}@media (prefers-reduced-motion:reduce){.bu-editor-pop,.bu-pop-swap,.bu-camera-nudge{animation:none!important}}
