:root {
    --kx-orb-cyan: #76ecff;
    --kx-orb-blue: #168cff;
    --kx-orb-deep: #052a8f;
    --kx-orb-ink: #020713;
    --kx-orb-alert: #ffd166;
}

@property --kx-orb-energy {
    syntax: "<number>";
    inherits: true;
    initial-value: .56;
}

@property --kx-orb-focus {
    syntax: "<number>";
    inherits: true;
    initial-value: .45;
}

@property --kx-orb-particles {
    syntax: "<number>";
    inherits: true;
    initial-value: .28;
}

kynexy-orb,
.kynexy-orb {
    --kx-orb-size: 112px;
    --kx-orb-energy: .56;
    --kx-orb-breath: 6200ms;
    --kx-orb-orbit: 8400ms;
    --kx-orb-wave: 0;
    --kx-orb-focus: .45;
    --kx-orb-particles: .26;
    --kx-orb-voice-level: 0;
    --kx-orb-float: 7600ms;
    --kx-orb-eye-life: 9000ms;
    --kx-orb-accent: var(--kx-orb-cyan);
    --kx-orb-secondary: var(--kx-orb-blue);
    position: fixed;
    right: max(14px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 2147483000;
    width: var(--kx-orb-size);
    height: var(--kx-orb-size);
    display: grid;
    place-items: center;
    cursor: grab;
    touch-action: none;
    user-select: none;
    isolation: isolate;
    color: var(--kx-orb-accent);
    filter: drop-shadow(0 18px 36px rgba(0, 0, 0, .42));
    transition:
        opacity 700ms ease,
        filter 900ms ease,
        --kx-orb-energy 900ms ease,
        --kx-orb-focus 900ms ease,
        --kx-orb-particles 900ms ease,
        --kx-orb-voice-level 120ms ease;
}

kynexy-orb[data-size="mini"],
kynexy-orb[size="mini"],
.kynexy-orb[data-size="mini"] {
    --kx-orb-size: 76px;
}

kynexy-orb[data-size="large"],
kynexy-orb[size="large"],
.kynexy-orb[data-size="large"] {
    --kx-orb-size: 156px;
}

kynexy-orb[data-state="idle"],
.kynexy-orb[data-state="idle"] {
    --kx-orb-energy: .18;
    --kx-orb-focus: .20;
    --kx-orb-particles: .08;
    --kx-orb-breath: 9800ms;
    --kx-orb-orbit: 14600ms;
    opacity: .72;
    filter: saturate(.78) brightness(.82) drop-shadow(0 12px 28px rgba(0, 0, 0, .34));
}

kynexy-orb[data-state="listening"],
.kynexy-orb[data-state="listening"] {
    --kx-orb-energy: .78;
    --kx-orb-focus: .86;
    --kx-orb-particles: .18;
    --kx-orb-breath: 4800ms;
    --kx-orb-orbit: 11200ms;
}

kynexy-orb[data-state="speaking"],
.kynexy-orb[data-state="speaking"] {
    --kx-orb-energy: .86;
    --kx-orb-focus: .72;
    --kx-orb-particles: .34;
    --kx-orb-breath: 4300ms;
    --kx-orb-orbit: 6200ms;
    --kx-orb-wave: 1;
}

kynexy-orb[data-state="thinking"],
.kynexy-orb[data-state="thinking"] {
    --kx-orb-energy: .70;
    --kx-orb-focus: .78;
    --kx-orb-particles: .74;
    --kx-orb-breath: 5400ms;
    --kx-orb-orbit: 5200ms;
    --kx-orb-accent: #94b5ff;
}

kynexy-orb[data-state="understanding"],
.kynexy-orb[data-state="understanding"] {
    --kx-orb-energy: .98;
    --kx-orb-focus: .96;
    --kx-orb-particles: .60;
    --kx-orb-breath: 3600ms;
    --kx-orb-orbit: 2600ms;
}

kynexy-orb[data-state="notification"],
.kynexy-orb[data-state="notification"] {
    --kx-orb-energy: .72;
    --kx-orb-focus: .58;
    --kx-orb-particles: .44;
    --kx-orb-breath: 5200ms;
    --kx-orb-orbit: 9000ms;
}

kynexy-orb[data-state="alert"],
.kynexy-orb[data-state="alert"] {
    --kx-orb-energy: .96;
    --kx-orb-breath: 3400ms;
    --kx-orb-orbit: 3800ms;
    --kx-orb-accent: var(--kx-orb-alert);
    --kx-orb-secondary: #ff6f7d;
}

kynexy-orb[data-mood="calm"],
.kynexy-orb[data-mood="calm"] {
    --kx-orb-float: 8200ms;
}

kynexy-orb[data-mood="focused"],
.kynexy-orb[data-mood="focused"] {
    --kx-orb-float: 9200ms;
}

kynexy-orb[data-mood="reflecting"],
.kynexy-orb[data-mood="reflecting"] {
    --kx-orb-float: 6800ms;
}

kynexy-orb[data-mood="conversation"],
.kynexy-orb[data-mood="conversation"] {
    --kx-orb-eye-life: 5200ms;
}

kynexy-orb[data-mood="standby"],
.kynexy-orb[data-mood="standby"] {
    --kx-orb-float: 11800ms;
}

.kynexy-orb__stage {
    position: absolute;
    inset: -18%;
    border-radius: 50%;
    pointer-events: none;
}

.kynexy-orb__halo {
    position: absolute;
    inset: 12%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 72%, color-mix(in srgb, var(--kx-orb-accent) 48%, transparent), transparent 30%),
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .16), transparent 18%),
        radial-gradient(circle, color-mix(in srgb, var(--kx-orb-secondary) 34%, transparent), transparent 68%);
    filter: blur(calc(var(--kx-orb-size) * .075));
    opacity: calc(.36 + var(--kx-orb-energy) * .28);
    animation: kx-orb-halo var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite;
}

.kynexy-orb__halo::before,
.kynexy-orb__halo::after {
    content: "";
    position: absolute;
    inset: 18%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 44% 38%, rgba(255, 255, 255, .16), transparent 16%),
        radial-gradient(circle, color-mix(in srgb, var(--kx-orb-accent) 24%, transparent), transparent 58%);
    opacity: calc(.18 + var(--kx-orb-energy) * .18);
    animation: kx-orb-inner-glow calc(var(--kx-orb-breath) * 1.37) ease-in-out infinite;
}

.kynexy-orb__halo::after {
    inset: 28%;
    opacity: calc(.12 + var(--kx-orb-focus) * .20);
    animation-duration: calc(var(--kx-orb-breath) * 1.91);
    animation-delay: -1800ms;
}

.kynexy-orb__base {
    position: absolute;
    left: 50%;
    bottom: 12%;
    width: 74%;
    height: 17%;
    border-radius: 50%;
    border: max(1px, calc(var(--kx-orb-size) * .012)) solid color-mix(in srgb, var(--kx-orb-accent) 72%, transparent);
    background:
        radial-gradient(ellipse at 50% 42%, rgba(255, 255, 255, .62), transparent 8%),
        radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--kx-orb-accent) 78%, transparent), transparent 48%);
    filter:
        blur(.2px)
        drop-shadow(0 0 calc(var(--kx-orb-size) * .065) color-mix(in srgb, var(--kx-orb-accent) 70%, transparent));
    opacity: calc(.34 + var(--kx-orb-energy) * .38);
    transform: translateX(-50%);
    animation: kx-orb-base var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite;
}

.kynexy-orb__orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 106%;
    height: 70%;
    border-radius: 50%;
    border: max(1px, calc(var(--kx-orb-size) * .012)) solid color-mix(in srgb, var(--kx-orb-accent) 82%, transparent);
    border-left-color: transparent;
    border-bottom-color: rgba(255, 255, 255, .18);
    filter:
        drop-shadow(0 0 calc(var(--kx-orb-size) * .040) color-mix(in srgb, var(--kx-orb-accent) 80%, transparent))
        drop-shadow(0 0 calc(var(--kx-orb-size) * .080) color-mix(in srgb, var(--kx-orb-secondary) 42%, transparent));
    opacity: calc(.30 + var(--kx-orb-energy) * .38);
    transform: translate(-50%, -50%) rotate(-18deg);
    animation: kx-orb-orbit-a var(--kx-orb-orbit) cubic-bezier(.45, 0, .25, 1) infinite;
    transition:
        opacity 700ms ease,
        width 700ms ease,
        height 700ms ease,
        border-color 700ms ease,
        filter 900ms ease;
}

.kynexy-orb__orbit--b {
    width: 78%;
    height: 108%;
    border-top-color: transparent;
    border-right-color: rgba(255, 255, 255, .28);
    transform: translate(-50%, -50%) rotate(44deg);
    animation-name: kx-orb-orbit-b;
    animation-duration: calc(var(--kx-orb-orbit) * 1.18);
}

.kynexy-orb__orbit--c {
    width: 112%;
    height: 46%;
    border-right-color: transparent;
    transform: translate(-50%, -47%) rotate(8deg);
    animation-duration: calc(var(--kx-orb-orbit) * 1.42);
}

.kynexy-orb__particle {
    position: absolute;
    width: max(2px, calc(var(--kx-orb-size) * .028));
    height: max(2px, calc(var(--kx-orb-size) * .028));
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 15%, var(--kx-orb-accent) 42%, transparent 75%);
    box-shadow: 0 0 calc(var(--kx-orb-size) * .085) var(--kx-orb-accent);
    opacity: calc(.22 + var(--kx-orb-energy) * .44);
    animation: kx-orb-particle 8200ms ease-in-out infinite;
}

.kynexy-orb__particle--one { left: 15%; top: 35%; animation-delay: -700ms; }
.kynexy-orb__particle--two { right: 18%; top: 31%; animation-delay: -2100ms; }
.kynexy-orb__particle--three { right: 25%; bottom: 24%; animation-delay: -3900ms; }
.kynexy-orb__particle--four { left: 32%; bottom: 20%; animation-delay: -5100ms; }
.kynexy-orb__particle--five { left: 52%; top: 18%; animation-delay: -6200ms; }

.kynexy-orb__particle {
    opacity: calc(var(--kx-orb-particles) * .72);
}

.kynexy-orb__svg {
    position: relative;
    z-index: 2;
    width: 76%;
    height: 76%;
    overflow: visible;
    animation:
        kx-orb-float var(--kx-orb-float) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-breathe var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite;
    filter:
        drop-shadow(0 calc(var(--kx-orb-size) * .075) calc(var(--kx-orb-size) * .070) rgba(0, 0, 0, .42))
        drop-shadow(0 0 calc(var(--kx-orb-size) * .090) color-mix(in srgb, var(--kx-orb-accent) 68%, transparent));
}

.kynexy-orb__official-face {
    position: relative;
    z-index: 3;
    width: 136%;
    height: 136%;
    object-fit: contain;
    pointer-events: none;
    transform-origin: 50% 55%;
    mix-blend-mode: screen;
    animation:
        kx-orb-float var(--kx-orb-float) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-breathe var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-official-light calc(var(--kx-orb-breath) * 1.43) ease-in-out infinite;
    filter:
        saturate(calc(1.02 + var(--kx-orb-energy) * .24))
        brightness(calc(.90 + var(--kx-orb-energy) * .16))
        contrast(1.04)
        drop-shadow(0 calc(var(--kx-orb-size) * .058) calc(var(--kx-orb-size) * .070) rgba(0, 0, 0, .50))
        drop-shadow(0 0 calc(var(--kx-orb-size) * .095) color-mix(in srgb, var(--kx-orb-accent) 54%, transparent));
    transition:
        filter 900ms ease,
        opacity 900ms ease;
}

.kynexy-orb__official-face + .kynexy-orb__svg {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.kynexy-orb__sphere {
    transform-origin: 256px 250px;
    animation: kx-orb-sphere-life calc(var(--kx-orb-breath) * 1.27) ease-in-out infinite;
}

.kynexy-orb__inner-light {
    opacity: calc(.28 + var(--kx-orb-energy) * .28);
    mix-blend-mode: screen;
    animation: kx-orb-inner-light calc(var(--kx-orb-breath) * 1.13) ease-in-out infinite;
}

.kynexy-orb__surface-shell {
    opacity: calc(.18 + var(--kx-orb-focus) * .16);
    animation: kx-orb-surface-shell calc(var(--kx-orb-breath) * 1.48) ease-in-out infinite;
}

.kynexy-orb__surface-highlight {
    opacity: calc(.54 + var(--kx-orb-energy) * .28);
    animation: kx-orb-highlight 9800ms ease-in-out infinite;
}

.kynexy-orb__depth {
    animation: kx-orb-depth 11200ms ease-in-out infinite;
}

.kynexy-orb__plasma-thread {
    fill: none;
    stroke: color-mix(in srgb, var(--kx-orb-accent) 54%, #ffffff);
    stroke-width: 7;
    stroke-linecap: round;
    stroke-dasharray: 68 180;
    stroke-dashoffset: 0;
    opacity: calc(.05 + var(--kx-orb-energy) * .10 + var(--kx-orb-focus) * .08);
    filter: blur(.6px) drop-shadow(0 0 10px color-mix(in srgb, var(--kx-orb-accent) 32%, transparent));
    mix-blend-mode: screen;
    animation: kx-orb-plasma 12800ms ease-in-out infinite;
}

.kynexy-orb__plasma-thread--b {
    stroke-width: 11;
    opacity: calc(.03 + var(--kx-orb-energy) * .09);
    animation-duration: 16400ms;
    animation-delay: -2600ms;
}

.kynexy-orb__face {
    transform-origin: 256px 260px;
    animation: kx-orb-face-awareness var(--kx-orb-eye-life) ease-in-out infinite;
}

.kynexy-orb__eye {
    transform-origin: center;
    filter:
        drop-shadow(0 0 5px rgba(223, 252, 255, .40))
        drop-shadow(0 0 13px color-mix(in srgb, var(--kx-orb-accent) 24%, transparent));
    animation: kx-orb-eye-life var(--kx-orb-eye-life) ease-in-out infinite;
}

.kynexy-orb__eye-right {
    animation-delay: -140ms;
}

.kynexy-orb__eye-glint {
    animation: kx-orb-eye-glint 4200ms ease-in-out infinite;
}

.kynexy-orb__wave,
.kynexy-orb__wave-glow {
    stroke-dasharray: 12 10 5 16 18 8;
    animation: kx-orb-wave calc(1800ms - var(--kx-orb-voice-level) * 760ms) cubic-bezier(.45, 0, .25, 1) infinite;
    opacity: calc(.14 + var(--kx-orb-wave) * .42 + var(--kx-orb-voice-level) * .44);
    transform-origin: 256px 332px;
}

.kynexy-orb__wave-glow {
    opacity: calc(var(--kx-orb-wave) * .18 + var(--kx-orb-voice-level) * .36);
    filter: blur(5px);
}

kynexy-orb[data-state="listening"] .kynexy-orb__orbit,
.kynexy-orb[data-state="listening"] .kynexy-orb__orbit {
    opacity: calc(.46 + var(--kx-orb-energy) * .30);
    filter:
        drop-shadow(0 0 calc(var(--kx-orb-size) * .030) color-mix(in srgb, var(--kx-orb-accent) 72%, transparent))
        drop-shadow(0 0 calc(var(--kx-orb-size) * .050) color-mix(in srgb, var(--kx-orb-secondary) 34%, transparent));
}

kynexy-orb[data-state="understanding"] .kynexy-orb__orbit,
.kynexy-orb[data-state="understanding"] .kynexy-orb__orbit {
    animation: kx-orb-understood-ring 220ms ease-out 1;
}

kynexy-orb[data-state="understanding"] .kynexy-orb__halo,
.kynexy-orb[data-state="understanding"] .kynexy-orb__halo {
    animation: kx-orb-understood-flash 220ms ease-out 1;
}

kynexy-orb[data-state="notification"] .kynexy-orb__orbit,
.kynexy-orb[data-state="notification"] .kynexy-orb__orbit {
    animation: kx-orb-notification-ring 720ms cubic-bezier(.2, 0, .1, 1) 1;
}

kynexy-orb[data-state="alert"] .kynexy-orb__svg,
.kynexy-orb[data-state="alert"] .kynexy-orb__svg {
    animation:
        kx-orb-float 5200ms ease-in-out infinite,
        kx-orb-breathe var(--kx-orb-breath) ease-in-out infinite,
        kx-orb-alert 1800ms ease-in-out infinite;
}

kynexy-orb[data-state="alert"] .kynexy-orb__official-face,
.kynexy-orb[data-state="alert"] .kynexy-orb__official-face {
    animation:
        kx-orb-float 5200ms ease-in-out infinite,
        kx-orb-breathe var(--kx-orb-breath) ease-in-out infinite,
        kx-orb-alert 1800ms ease-in-out infinite,
        kx-orb-official-light calc(var(--kx-orb-breath) * 1.43) ease-in-out infinite;
}

kynexy-orb[data-state="notification"] .kynexy-orb__svg,
.kynexy-orb[data-state="notification"] .kynexy-orb__svg {
    animation:
        kx-orb-float var(--kx-orb-float) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-breathe var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-notification-body 720ms cubic-bezier(.2, 0, .1, 1) 1;
}

kynexy-orb[data-state="notification"] .kynexy-orb__official-face,
.kynexy-orb[data-state="notification"] .kynexy-orb__official-face {
    animation:
        kx-orb-float var(--kx-orb-float) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-breathe var(--kx-orb-breath) cubic-bezier(.45, 0, .25, 1) infinite,
        kx-orb-notification-body 720ms cubic-bezier(.2, 0, .1, 1) 1,
        kx-orb-official-light calc(var(--kx-orb-breath) * 1.43) ease-in-out infinite;
}

@keyframes kx-orb-float {
    0%, 100% { transform: translate3d(0, 0, 0); }
    42% { transform: translate3d(0, -3.2%, 0); }
    68% { transform: translate3d(1.1%, -1.4%, 0); }
}

@keyframes kx-orb-breathe {
    0%, 100% { scale: 1; }
    50% { scale: calc(1.006 + var(--kx-orb-energy) * .012) calc(.998 - var(--kx-orb-energy) * .010); }
}

@keyframes kx-orb-halo {
    0%, 100% { opacity: calc(.28 + var(--kx-orb-energy) * .25); scale: .94; }
    50% { opacity: calc(.48 + var(--kx-orb-energy) * .30); scale: 1.08; }
}

@keyframes kx-orb-inner-glow {
    0%, 100% { opacity: calc(.10 + var(--kx-orb-energy) * .12); scale: .96; }
    45% { opacity: calc(.20 + var(--kx-orb-energy) * .18); scale: 1.04; }
    70% { opacity: calc(.14 + var(--kx-orb-focus) * .12); scale: .99; }
}

@keyframes kx-orb-base {
    0%, 100% { scale: .92 .84; }
    50% { scale: 1.10 .96; }
}

@keyframes kx-orb-orbit-a {
    0%, 100% { rotate: -3deg; scale: .985; }
    50% { rotate: 8deg; scale: 1.022; }
}

@keyframes kx-orb-orbit-b {
    0%, 100% { rotate: 4deg; scale: .99; }
    50% { rotate: -9deg; scale: 1.026; }
}

@keyframes kx-orb-particle {
    0%, 100% { transform: translate3d(0, 0, 0) scale(.74); opacity: calc(var(--kx-orb-particles) * .30); }
    46% { transform: translate3d(10%, -26%, 0) scale(1); opacity: calc(var(--kx-orb-particles) * .92); }
    78% { transform: translate3d(-8%, 14%, 0) scale(.86); opacity: calc(var(--kx-orb-particles) * .54); }
}

@keyframes kx-orb-wave {
    0%, 100% {
        stroke-dashoffset: 0;
        transform: scaleY(calc(.78 + var(--kx-orb-voice-level) * .18));
        stroke-width: calc(3px + var(--kx-orb-voice-level) * 2.5px);
    }
    27% {
        stroke-dashoffset: calc(-18px - var(--kx-orb-voice-level) * 18px);
        transform: scaleY(calc(1.02 + var(--kx-orb-voice-level) * .36));
    }
    61% {
        stroke-dashoffset: calc(-43px - var(--kx-orb-voice-level) * 24px);
        transform: scaleY(calc(.86 + var(--kx-orb-voice-level) * .24));
    }
}

@keyframes kx-orb-sphere-life {
    0%, 100% { transform: translate(0, 0) scale(1); }
    38% { transform: translate(.8px, -1.1px) scale(1.004); }
    68% { transform: translate(-.6px, .4px) scale(.998); }
}

@keyframes kx-orb-inner-light {
    0%, 100% { opacity: calc(.22 + var(--kx-orb-energy) * .20); }
    44% { opacity: calc(.34 + var(--kx-orb-energy) * .28); }
    73% { opacity: calc(.26 + var(--kx-orb-focus) * .18); }
}

@keyframes kx-orb-surface-shell {
    0%, 100% { stroke-opacity: .10; }
    52% { stroke-opacity: calc(.12 + var(--kx-orb-focus) * .10); }
}

@keyframes kx-orb-highlight {
    0%, 100% { opacity: calc(.42 + var(--kx-orb-energy) * .18); transform: translate(0, 0); }
    46% { opacity: calc(.56 + var(--kx-orb-energy) * .24); transform: translate(2px, -1px); }
}

@keyframes kx-orb-depth {
    0%, 100% { opacity: .24; }
    50% { opacity: .34; }
}

@keyframes kx-orb-plasma {
    0%, 100% { stroke-dashoffset: 0; opacity: calc(.04 + var(--kx-orb-energy) * .08); }
    45% { stroke-dashoffset: -118; opacity: calc(.08 + var(--kx-orb-focus) * .13); }
    67% { stroke-dashoffset: -152; opacity: calc(.05 + var(--kx-orb-particles) * .10); }
}

@keyframes kx-orb-face-awareness {
    0%, 100% { transform: translate(0, 0); }
    36% { transform: translate(.7px, -.5px); }
    63% { transform: translate(-.5px, .4px); }
}

@keyframes kx-orb-eye-life {
    0%, 100% { opacity: .96; transform: scaleY(1); }
    42% { opacity: 1; transform: scaleY(calc(.98 + var(--kx-orb-focus) * .025)); }
    74% { opacity: .92; transform: scaleY(.985); }
}

@keyframes kx-orb-eye-glint {
    0%, 100% { opacity: .64; transform: translate(0, 0) scale(1); }
    34% { opacity: .94; transform: translate(.8px, -1px) scale(1.04); }
    64% { opacity: .72; transform: translate(-.4px, .5px) scale(.96); }
}

@keyframes kx-orb-understood-ring {
    0% { transform: translate(-50%, -50%) rotate(-18deg) scale(1); opacity: .50; }
    48% { transform: translate(-50%, -50%) rotate(0deg) scale(1.045); opacity: .92; }
    100% { transform: translate(-50%, -50%) rotate(-18deg) scale(1); opacity: .58; }
}

@keyframes kx-orb-understood-flash {
    0% { opacity: .44; scale: 1; }
    45% { opacity: .90; scale: 1.09; }
    100% { opacity: .50; scale: 1.01; }
}

@keyframes kx-orb-notification-ring {
    0%, 100% { transform: translate(-50%, -50%) rotate(-18deg); }
    20% { transform: translate(-50%, -50%) rotate(-18deg) translateX(-2px); }
    40% { transform: translate(-50%, -50%) rotate(-18deg) translateX(2px); }
    60% { transform: translate(-50%, -50%) rotate(-18deg) translateX(-1px); }
}

@keyframes kx-orb-notification-body {
    0%, 100% { translate: 0 0; }
    25% { translate: -1.4px 0; }
    50% { translate: 1.4px 0; }
    75% { translate: -.7px 0; }
}

@keyframes kx-orb-alert {
    0%, 100% { translate: 0 0; }
    22% { translate: -1.2% 0; }
    44% { translate: 1.2% 0; }
}

@keyframes kx-orb-official-light {
    0%, 100% {
        opacity: .94;
        filter:
            saturate(calc(1.02 + var(--kx-orb-energy) * .20))
            brightness(calc(.88 + var(--kx-orb-energy) * .12))
            contrast(1.04)
            drop-shadow(0 calc(var(--kx-orb-size) * .058) calc(var(--kx-orb-size) * .070) rgba(0, 0, 0, .50))
            drop-shadow(0 0 calc(var(--kx-orb-size) * .080) color-mix(in srgb, var(--kx-orb-accent) 46%, transparent));
    }
    48% {
        opacity: 1;
        filter:
            saturate(calc(1.06 + var(--kx-orb-energy) * .30))
            brightness(calc(.96 + var(--kx-orb-energy) * .18))
            contrast(1.06)
            drop-shadow(0 calc(var(--kx-orb-size) * .060) calc(var(--kx-orb-size) * .075) rgba(0, 0, 0, .52))
            drop-shadow(0 0 calc(var(--kx-orb-size) * .120) color-mix(in srgb, var(--kx-orb-accent) 62%, transparent));
    }
}

@media (prefers-reduced-motion: reduce) {
    kynexy-orb,
    kynexy-orb *,
    .kynexy-orb,
    .kynexy-orb * {
        animation: none !important;
        transition-duration: 1ms !important;
    }
}
