Skip to content
Aurora

Aurora & animation

The ember light, in every form the product needs: backgrounds, frames, text, feedback, loading and success. Every piece reads the brand tokens, so it re-skins per brand and per theme, and all of it goes still under reduced motion.

Two new auroras

Mesh orbits four light pools on two counter-rotating layers (34s and 47s clocks), so the field never visibly repeats. Curtain folds three sheets of rays at different depths, the classic borealis. They join Bloom, Ribbon, Low and Hover on the Patterns page.

Mesh

Soft pools of light drifting round each other. For fresh starts and empty states.

Curtain

Rays hanging from the top and folding in the wind. For big, dark sections.

Code
<Card aurora="mesh">…</Card>      // orbiting light pools
<Card aurora="curtain">…</Card>   // folding borealis rays

<!-- plain HTML -->
<div class="cx-card"><div class="cx-aurora cx-aurora--mesh"></div>…</div>

Aurora field

A section whose light pool glides after the pointer and parks in the centre when you leave. The loop only runs while the light is moving. On touch and under reduced motion it stays as a still glow.

Move your pointer across

Light that follows you

The pool glides after the cursor and a smaller core trails behind it, so it moves like liquid. When you leave, it drifts home.

Code
<AuroraField as="section" size={520} ease={0.08}>…</AuroraField>

Aurora frame

A slowly turning ring of light round one card, bleeding a soft glow outside it. It marks the one featured thing in a view: the plan we recommend, the live call, today’s drop.

Starter
$0/month

Send, receive and hold in one wallet.

PlusRecommended
$9/month

Free transfers, the Academy library and a metal card.

Business
$49/month

Teams, invoices and payouts.

Code
<AuroraFrame>
  <Card>…</Card>
</AuroraFrame>
<AuroraFrame fast>…</AuroraFrame>   // 3.5s laps, for live states

Aurora text and rule

The brand ramp flowing slowly through a headline, with a hairline under it that a glint travels along. In light theme the text steps down to the deep shades so it keeps its contrast.

Money, lit up


Code
<h1 className="cx-h1"><AuroraText>Your money, lit up</AuroraText></h1>
<AuroraRule />

Aurora pulse

Light that breathes behind one thing: the balance that just changed, or whoever is speaking. Add live for the faster breath.

Available balance
Tobi Adeyemi
Speaking
Code
<AuroraPulse><AmountDisplay value={balance} currency="$" /></AuroraPulse>
<AuroraPulse live><Avatar name="…" /></AuroraPulse>

Success moment

The aurora button pools light under the one action you want pressed and sweeps a sheen across it on hover. When the action succeeds, sparks burst from the press point and the reference settles out of noise.

Send $312.40 to Tobi

Arrives in seconds.

Code
const burst = useBurst();

<Button variant="aurora" onClick={(e) => { send(); burst(e); }}>Send now</Button>
<ScrambleText text={reference} />

Ripple and sheen

Pressing a card spreads light from your finger. Hovering sweeps a sheen across it. Both are for big tappable surfaces, where a colour change alone is too small to feel.

Wallet

Balances and cards

Trade

Markets and orders

Academy

Courses and live classes

Code
const ripple = useRipple();

<Card interactive onPointerDown={ripple}>
  <Sheen />
  …
</Card>

Scramble

Characters settle out of noise, left to right. It works for confirmations, references and figures. Screen readers get the final text straight away.

Transfer confirmed$1,250.75REF 7F3K-29QD-WS
Code
<ScrambleText text="$125,000.00" duration={1100} />

Flip card

Two faces of one thing, turning over on the bouncy spring. It's a real button: click, Enter or Space, and aria-pressed tells assistive tech which face is up.

Click, or focus and press Enter
Code
<FlipCard label="Card details" front={<PayCard … />} back={<CardDetails />} />

Loading, in light

A spinning ring, a comet running along the track, and an aurora sweep across skeletons. Use them for waits long enough to notice: quotes, KYC checks, AI answers.

Code
<AuroraSpinner size={32} />
<AuroraBar label="Getting your quote" />
<div className="cx-skeleton--aurora" style={{ height: 14 }} />

Scroll-linked

These run on the scroll position itself (CSS animation-timeline), with no JavaScript and no observers. Scroll this page and watch: cards rise into focus, the card zooms up to size, and the tiles drift at different depths. The bar along the top of the page fills as you read. Browsers without support simply show the content.

Protected

Every account insured and verified.

Instant

Swaps settle in seconds.

Everywhere

Pay and get paid in 40+ countries.

Grows into view

Scale and opacity follow the scroll, frame by frame.

Code
<div className="cx-scroll-rise">…</div>
<div className="cx-scroll-zoom">…</div>
<div className="cx-parallax" style={{ '--speed': 0.3 }}>…</div>
<ScrollProgress />   // the reading bar

Marquee

An endless row that pauses on hover. Run two rows in opposite directions for depth. Under reduced motion it becomes a wrapped list.

Wallet Trade Academy Xtreme Shop WorldFreeCall Vivid AI Social
SocialVivid AIWorldFreeCallShopXtremeAcademyTradeWallet
Code
<Marquee speed={30}>…</Marquee>
<Marquee speed={38} reverse>…</Marquee>

Across the platform

Where each effect belongs in Cryonix. The rule still holds everywhere: one looping signature per view, and motion that answers the person or marks a moment.

EffectWhereWhen
Mesh auroraOnboarding, sign-in, empty wallet, app home heroesA new start, or a screen with nothing on it yet
Curtain auroraMarketing sections, Academy course covers, Xtreme live bannersBig dark sections that need drama
Aurora fieldLanding heroes, pricing, the app launcherDesktop only: the light answers the pointer
Aurora frameThe recommended plan, a live call tile, today’s featured course or dropOnce per view: the one featured thing
Aurora textOne hero headline per pageNever body copy or numbers
Aurora pulseBalance on Wallet home, the active speaker in WorldFreeCall, LIVE badgesSomething is live, or just changed
Aurora buttonSend, Buy, Enrol, Go liveThe single primary action per view
Burst + scramblePayment sent, order filled, course finished, streak keptSuccess moments only. Never on errors
Ripple + sheenTappable cards: app tiles, market rows, product cardsPress feedback on large surfaces
Flip cardCard details in Wallet, flashcards in AcademyTwo faces of one thing
Aurora loadersQuotes, KYC checks, AI answers in Vivid, video bufferingWaits long enough to notice
Scroll-linkedMarketing pages, Academy lesson pages, long readsContent pages, not dense app screens

Rules for light

  • Use one looping signature per view: a mesh, a curtain, a frame or a field. Two compete, and three are noise.
  • Gold light carries meaning: the featured thing, the primary action, a live state, a success. It's never wallpaper on every card.
  • Bursts are for success only. Errors get a calm message, not light.
  • Pointer effects (field, tilt, magnetic) switch off on touch, and everything goes still under reduced motion. Nothing is ever left hidden.
  • Colour comes from tokens only, so a new brand or theme re-skins every effect for free.