/* One orb becomes a full-screen wash; the destination gently reveals underneath. */
.bubble-paint{position:fixed;inset:0;z-index:2147483000;overflow:hidden;pointer-events:auto;touch-action:none;isolation:isolate;contain:strict;--paint:#6045cf}
.bubble-paint-disc{position:absolute;border-radius:50%;background:var(--paint);transform-origin:center;will-change:transform;border:0}
.bubble-paint-sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.bubble-paint-label{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;text-align:center;font:500 21px/1.4 'Instrument Sans',Arial,sans-serif;letter-spacing:-.02em;pointer-events:none}
.bubble-paint-label svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5}
.bubble-paint.is-covered{background:var(--paint)}
.bubble-paint.is-covered .bubble-paint-disc,.bubble-paint.is-covered .bubble-paint-label{visibility:hidden}
.final-action.is-bursting{pointer-events:none}.final-action.is-bursting .bubble-orb,.final-action.is-bursting .bubble-label{visibility:hidden}
html.bubble-arrival:before{content:'';position:fixed;inset:0;z-index:2147483000;background:#6045cf;pointer-events:none;opacity:1;animation:bubble-arrival-safety 1.7s step-end forwards}
html.bubble-arrival.bubble-arrival-ready:before{animation:bubble-reveal .48s cubic-bezier(.22,1,.36,1) .06s forwards}
@keyframes bubble-reveal{to{opacity:0}}
@keyframes bubble-arrival-safety{to{opacity:0}}
@media(prefers-reduced-motion:reduce){html.bubble-arrival:before,.bubble-paint{display:none!important}.final-action.is-bursting .bubble-orb,.final-action.is-bursting .bubble-label{visibility:visible}}
