/* BYLD Wealth — MIA Neural Bloom Avatar System
   Drop-in enhancement for the MIA avatar. Contains ONLY the
   Neural Bloom redesign styles — bloom entity, header mark,
   and inline avatar with conic-gradient petal shimmer.

   Concept: MIA as Padma — a living golden lotus where wealth
   intelligence blossoms. Each petal is a data stream, the core
   is the eye of intelligence, and the whole organism breathes.

   Cultural root: The lotus (padma) — India's national flower,
   the seat of Lakshmi (goddess of wealth), purity from darkness.

   Brand voice: Quietly powerful. Restrained luxury.
   Not flashy — precious. Not loud — resonant.
   ================================================================== */

/* ============================== BLOOM KEYFRAMES ============================== */
@keyframes bloom-breathe {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.04); opacity: 1; }
}
@keyframes bloom-core-pulse {
  0%, 100% {
    box-shadow:
      0 0 30px rgba(196,154,60,0.35),
      0 0 60px rgba(196,154,60,0.12),
      inset 0 0 20px rgba(245,230,200,0.15);
  }
  50% {
    box-shadow:
      0 0 45px rgba(196,154,60,0.5),
      0 0 90px rgba(196,154,60,0.2),
      inset 0 0 30px rgba(245,230,200,0.25);
  }
}
@keyframes bloom-rotate-slow {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes bloom-rotate-reverse {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to { transform: translate(-50%, -50%) rotate(0deg); }
}

/* Petals — 6 unique organic sway curves */
@keyframes petal-sway-1 {
  0%, 100% { transform: rotate(0deg) translateY(-58px) scaleY(1); opacity: 0.65; }
  30% { transform: rotate(1.5deg) translateY(-61px) scaleY(1.03); opacity: 0.8; }
  60% { transform: rotate(-0.5deg) translateY(-56px) scaleY(0.98); opacity: 0.55; }
}
@keyframes petal-sway-2 {
  0%, 100% { transform: rotate(60deg) translateY(-58px) scaleY(1); opacity: 0.55; }
  40% { transform: rotate(61.5deg) translateY(-60px) scaleY(1.04); opacity: 0.75; }
  70% { transform: rotate(58.5deg) translateY(-55px) scaleY(0.97); opacity: 0.5; }
}
@keyframes petal-sway-3 {
  0%, 100% { transform: rotate(120deg) translateY(-58px) scaleY(1); opacity: 0.6; }
  35% { transform: rotate(121deg) translateY(-62px) scaleY(1.05); opacity: 0.8; }
  65% { transform: rotate(119deg) translateY(-56px) scaleY(0.96); opacity: 0.45; }
}
@keyframes petal-sway-4 {
  0%, 100% { transform: rotate(180deg) translateY(-58px) scaleY(1); opacity: 0.5; }
  45% { transform: rotate(181.5deg) translateY(-60px) scaleY(1.03); opacity: 0.7; }
  75% { transform: rotate(179deg) translateY(-57px) scaleY(0.98); opacity: 0.45; }
}
@keyframes petal-sway-5 {
  0%, 100% { transform: rotate(240deg) translateY(-58px) scaleY(1); opacity: 0.55; }
  50% { transform: rotate(242deg) translateY(-61px) scaleY(1.04); opacity: 0.75; }
}
@keyframes petal-sway-6 {
  0%, 100% { transform: rotate(300deg) translateY(-58px) scaleY(1); opacity: 0.5; }
  38% { transform: rotate(298.5deg) translateY(-60px) scaleY(1.03); opacity: 0.72; }
  68% { transform: rotate(301deg) translateY(-56px) scaleY(0.97); opacity: 0.45; }
}

/* Outer petals — slower, more ethereal */
@keyframes petal-outer-1 {
  0%, 100% { transform: rotate(30deg) translateY(-75px) scaleY(1); opacity: 0.3; }
  50% { transform: rotate(31deg) translateY(-78px) scaleY(1.03); opacity: 0.45; }
}
@keyframes petal-outer-2 {
  0%, 100% { transform: rotate(90deg) translateY(-75px) scaleY(1); opacity: 0.25; }
  45% { transform: rotate(91.5deg) translateY(-77px) scaleY(1.04); opacity: 0.4; }
}
@keyframes petal-outer-3 {
  0%, 100% { transform: rotate(150deg) translateY(-75px) scaleY(1); opacity: 0.28; }
  55% { transform: rotate(151deg) translateY(-79px) scaleY(1.05); opacity: 0.42; }
}
@keyframes petal-outer-4 {
  0%, 100% { transform: rotate(210deg) translateY(-75px) scaleY(1); opacity: 0.22; }
  40% { transform: rotate(209deg) translateY(-77px) scaleY(1.03); opacity: 0.38; }
}
@keyframes petal-outer-5 {
  0%, 100% { transform: rotate(270deg) translateY(-75px) scaleY(1); opacity: 0.26; }
  48% { transform: rotate(271.5deg) translateY(-78px) scaleY(1.04); opacity: 0.4; }
}
@keyframes petal-outer-6 {
  0%, 100% { transform: rotate(330deg) translateY(-75px) scaleY(1); opacity: 0.24; }
  42% { transform: rotate(329deg) translateY(-77px) scaleY(1.03); opacity: 0.36; }
}

/* Filaments — vine-sway */
@keyframes filament-sway {
  0%, 100% { transform-origin: bottom center; transform: rotate(var(--fil-base)) scaleY(1); }
  30% { transform: rotate(calc(var(--fil-base) + 2deg)) scaleY(1.03); }
  60% { transform: rotate(calc(var(--fil-base) - 1.5deg)) scaleY(0.98); }
}

/* Spores — wealth ascending */
@keyframes spore-ascend {
  0% { transform: translateY(0) scale(0.6); opacity: 0; }
  12% { opacity: 0.6; }
  50% { opacity: 0.35; }
  100% { transform: translateY(-100px) scale(0.15); opacity: 0; }
}

/* Iris glow — the eye of intelligence */
@keyframes iris-glow {
  0%, 100% {
    box-shadow: 0 0 8px rgba(245,230,200,0.5), 0 0 20px rgba(196,154,60,0.3);
    background: radial-gradient(circle, #F5E6C8 22%, rgba(196,154,60,0.8) 55%, transparent 78%);
  }
  50% {
    box-shadow: 0 0 12px rgba(245,230,200,0.7), 0 0 30px rgba(196,154,60,0.45);
    background: radial-gradient(circle, #FFFFFF 18%, #F5E6C8 38%, rgba(196,154,60,0.8) 65%, transparent 82%);
  }
}

/* Neural signal — data flowing through connections */
@keyframes neural-signal {
  0% { stroke-dashoffset: 100; opacity: 0; }
  12% { opacity: 0.6; }
  88% { opacity: 0.4; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}

/* Float — gentle hovering presence */
@keyframes bloom-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Inner ring pulse */
@keyframes ring-pulse {
  0%, 100% { opacity: 0.15; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 0.35; transform: translate(-50%, -50%) scale(1.03); }
}

/* Thinking state */
@keyframes bloom-think {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  20% { transform: scale(1.06); filter: brightness(1.25); }
  40% { transform: scale(0.98); filter: brightness(0.95); }
  60% { transform: scale(1.04); filter: brightness(1.2); }
  80% { transform: scale(1); filter: brightness(1.05); }
}
/* Simple rotation for inset-positioned shimmer rings (no translate) */
@keyframes bloom-shimmer-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


/* ============================== FULL BLOOM ENTITY (280 x 380) ============================== */
.bloom-entity {
  position: relative;
  width: 280px;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: bloom-float 6s ease-in-out infinite;
}

/* Layer 1: Ambient field */
.bloom-field {
  position: absolute;
  width: 380px;
  height: 380px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(196,154,60,0.14) 0%,
    rgba(196,154,60,0.06) 30%,
    rgba(196,154,60,0.02) 50%,
    transparent 70%
  );
  animation: bloom-breathe 5s ease-in-out infinite;
  pointer-events: none;
}

/* Layer 2: Neural connections */
.bloom-neural {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 260px;
  height: 260px;
  z-index: 1;
  pointer-events: none;
}
.bloom-neural svg {
  width: 100%;
  height: 100%;
}
.bloom-neural svg path {
  stroke: rgba(196,154,60,0.12);
  stroke-width: 0.5;
  fill: none;
  stroke-dasharray: 100;
  animation: neural-signal 5s linear infinite;
}
.bloom-neural svg path:nth-child(2) { animation-delay: 1.8s; stroke: rgba(196,154,60,0.08); }
.bloom-neural svg path:nth-child(3) { animation-delay: 3.2s; stroke: rgba(196,154,60,0.1); }
.bloom-neural svg path:nth-child(4) { animation-delay: 0.9s; stroke: rgba(196,154,60,0.07); }

/* Layer 3: Outer orbit */
.bloom-orbit-outer {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  border: 1px dashed rgba(196,154,60,0.05);
  animation: bloom-rotate-reverse 38s linear infinite;
  z-index: 2;
}
.bloom-orbit-outer::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -2px;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(196,154,60,0.4);
  box-shadow: 0 0 6px rgba(196,154,60,0.2);
}

/* Layer 4: Primary orbit */
.bloom-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 1px solid rgba(196,154,60,0.08);
  animation: bloom-rotate-slow 24s linear infinite;
  z-index: 3;
}
.bloom-orbit::before {
  content: '';
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 12px rgba(196,154,60,0.6), 0 0 24px rgba(196,154,60,0.2);
}
.bloom-orbit::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 35%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(196,154,60,0.5);
  box-shadow: 0 0 6px rgba(196,154,60,0.3);
  animation: mia-node-pulse 3s ease-in-out infinite;
}

/* Layer 5: Filaments */
.bloom-filaments {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  z-index: 4;
}
.bloom-filament {
  position: absolute;
  width: 1px;
  transform-origin: bottom center;
  background: linear-gradient(0deg, rgba(196,154,60,0.25), rgba(196,154,60,0.06), transparent);
  border-radius: 1px;
  animation: filament-sway var(--fil-dur) ease-in-out infinite var(--fil-delay);
}
.bloom-filament:nth-child(1) { --fil-base: -12deg; --fil-dur: 4.5s; --fil-delay: 0s; height: 90px; left: 0; top: -90px; }
.bloom-filament:nth-child(2) { --fil-base: 18deg; --fil-dur: 5s; --fil-delay: 0.6s; height: 78px; left: 0; top: -78px; opacity: 0.7; }
.bloom-filament:nth-child(3) { --fil-base: -35deg; --fil-dur: 4s; --fil-delay: 1.2s; height: 85px; left: 0; top: -85px; opacity: 0.5; }
.bloom-filament:nth-child(4) { --fil-base: 40deg; --fil-dur: 5.5s; --fil-delay: 0.3s; height: 70px; left: 0; top: -70px; opacity: 0.4; }
.bloom-filament:nth-child(5) { --fil-base: -3deg; --fil-dur: 4.2s; --fil-delay: 0.9s; height: 100px; left: 0; top: -100px; opacity: 0.6; }
.bloom-filament:nth-child(6) { --fil-base: 28deg; --fil-dur: 3.8s; --fil-delay: 1.5s; height: 65px; left: 0; top: -65px; opacity: 0.35; }
.bloom-filament:nth-child(7) {
  --fil-base: 168deg; --fil-dur: 5.2s; --fil-delay: 0.4s;
  height: 50px; left: 0; top: 0; opacity: 0.25;
  background: linear-gradient(0deg, transparent, rgba(196,154,60,0.06), rgba(196,154,60,0.15));
}
.bloom-filament:nth-child(8) {
  --fil-base: 195deg; --fil-dur: 6s; --fil-delay: 1s;
  height: 40px; left: 0; top: 0; opacity: 0.2;
  background: linear-gradient(0deg, transparent, rgba(196,154,60,0.04), rgba(196,154,60,0.1));
}

/* Petal container */
.bloom-petals {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  z-index: 5;
}

/* Layer 7: Inner petals */
.bloom-petal {
  position: absolute;
  width: 16px;
  height: 65px;
  left: -8px;
  top: 0;
  transform-origin: center 0;
  border-radius: 50% 50% 42% 42%;
  background: linear-gradient(180deg,
    rgba(196,154,60,0.01) 0%,
    rgba(196,154,60,0.1) 35%,
    rgba(224,193,122,0.18) 65%,
    rgba(245,230,200,0.05) 100%
  );
  border: 1px solid rgba(196,154,60,0.08);
  filter: blur(0.3px);
}
.bloom-petal:nth-child(1) { animation: petal-sway-1 5.5s ease-in-out infinite; }
.bloom-petal:nth-child(2) { animation: petal-sway-2 6s ease-in-out infinite 0.4s; }
.bloom-petal:nth-child(3) { animation: petal-sway-3 5.8s ease-in-out infinite 0.8s; }
.bloom-petal:nth-child(4) { animation: petal-sway-4 5.3s ease-in-out infinite 1.1s; }
.bloom-petal:nth-child(5) { animation: petal-sway-5 6.2s ease-in-out infinite 0.2s; }
.bloom-petal:nth-child(6) { animation: petal-sway-6 5.6s ease-in-out infinite 0.6s; }

/* Layer 6: Outer petals */
.bloom-petal-outer {
  position: absolute;
  width: 12px;
  height: 85px;
  left: -6px;
  top: 0;
  transform-origin: center 0;
  border-radius: 50% 50% 38% 38%;
  background: linear-gradient(180deg,
    rgba(196,154,60,0.005) 0%,
    rgba(196,154,60,0.05) 40%,
    rgba(224,193,122,0.08) 70%,
    rgba(245,230,200,0.02) 100%
  );
  border: 1px solid rgba(196,154,60,0.04);
  filter: blur(1px);
}
.bloom-petal-outer:nth-child(7)  { animation: petal-outer-1 7.5s ease-in-out infinite 0.3s; }
.bloom-petal-outer:nth-child(8)  { animation: petal-outer-2 7s ease-in-out infinite 0.7s; }
.bloom-petal-outer:nth-child(9)  { animation: petal-outer-3 8s ease-in-out infinite 1s; }
.bloom-petal-outer:nth-child(10) { animation: petal-outer-4 7.2s ease-in-out infinite 0.5s; }
.bloom-petal-outer:nth-child(11) { animation: petal-outer-5 7.8s ease-in-out infinite 0.9s; }
.bloom-petal-outer:nth-child(12) { animation: petal-outer-6 6.8s ease-in-out infinite 1.2s; }

/* Layer 8: Inner ring */
.bloom-inner-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 1px solid rgba(196,154,60,0.1);
  animation: ring-pulse 4.5s ease-in-out infinite;
  z-index: 6;
}

/* Layer 9: Core — the luminous orb */
.bloom-core {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 30%, rgba(245,230,200,0.4) 0%, transparent 38%),
    radial-gradient(circle at 50% 50%, rgba(224,193,122,0.28) 0%, rgba(196,154,60,0.15) 35%, rgba(10,10,10,0.96) 60%);
  border: 1.5px solid rgba(196,154,60,0.35);
  animation: bloom-core-pulse 3.5s ease-in-out infinite;
  z-index: 8;
  overflow: hidden;
}
.bloom-core::after {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(245,230,200,0.45), transparent);
  animation: mia-scan 6s ease-in-out infinite;
  z-index: 3;
}

/* "M" monogram */
.bloom-letter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-serif);
  font-weight: 700;
  font-style: italic;
  color: rgba(196,154,60,0.2);
  font-size: 26px;
  z-index: 1;
  text-shadow: 0 0 16px rgba(196,154,60,0.15);
  user-select: none;
}

/* Layer 10: Iris — the eye of intelligence */
.bloom-iris {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  animation: iris-glow 3s ease-in-out infinite;
  z-index: 2;
}
.bloom-iris::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--white);
  box-shadow: 0 0 6px rgba(255,255,255,0.7);
}

/* Layer 11: Spores */
.bloom-spore {
  position: absolute;
  border-radius: 50%;
  background: rgba(196,154,60,0.55);
  pointer-events: none;
  z-index: 9;
}
.bloom-entity .bloom-spore:nth-child(1) { width: 3px; height: 3px; bottom: 44%; left: 32%; animation: spore-ascend 5s ease-out infinite; }
.bloom-entity .bloom-spore:nth-child(2) { width: 2px; height: 2px; bottom: 42%; left: 56%; animation: spore-ascend 6s ease-out infinite 1.2s; }
.bloom-entity .bloom-spore:nth-child(3) { width: 4px; height: 4px; bottom: 46%; left: 42%; animation: spore-ascend 4.5s ease-out infinite 0.6s; }
.bloom-entity .bloom-spore:nth-child(4) { width: 2px; height: 2px; bottom: 43%; left: 62%; animation: spore-ascend 5.5s ease-out infinite 2s; }
.bloom-entity .bloom-spore:nth-child(5) { width: 3px; height: 3px; bottom: 45%; left: 48%; animation: spore-ascend 7s ease-out infinite 3s; }
.bloom-entity .bloom-spore:nth-child(6) { width: 2px; height: 2px; bottom: 41%; left: 37%; animation: spore-ascend 5.2s ease-out infinite 1s; }


/* ============================== BLOOM HEADER MARK (44px) ============================== */
.bloom-mark-header {
  position: relative;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.bloom-mark-header .bloom-hd-core {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 30%, rgba(245,230,200,0.25) 0%, transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(196,154,60,0.16) 0%, rgba(10,10,10,0.96) 58%);
  border: 1.5px solid rgba(196,154,60,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 700;
  font-size: 14px;
  color: var(--gold);
  text-shadow: 0 0 10px rgba(196,154,60,0.4);
  z-index: 3;
  animation: bloom-core-pulse 3.5s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}
.bloom-mark-header .bloom-hd-core::after {
  content: '';
  position: absolute;
  left: 15%;
  right: 15%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(245,230,200,0.4), transparent);
  animation: mia-scan 5.5s ease-in-out infinite;
}
.bloom-mark-header .bloom-hd-petals {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  animation: bloom-rotate-slow 22s linear infinite;
  z-index: 2;
}
.bloom-mark-header .bloom-hd-petals::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 6px rgba(196,154,60,0.5);
}
.bloom-mark-header .bloom-hd-petals::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 30%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(196,154,60,0.45);
  box-shadow: 0 0 4px rgba(196,154,60,0.25);
  animation: mia-node-pulse 3s ease-in-out infinite;
}
.bloom-mark-header .bloom-hd-aura {
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    rgba(196,154,60,0.0) 0deg,
    rgba(196,154,60,0.1) 50deg,
    rgba(196,154,60,0.0) 90deg,
    rgba(196,154,60,0.06) 140deg,
    rgba(196,154,60,0.0) 180deg,
    rgba(196,154,60,0.08) 230deg,
    rgba(196,154,60,0.0) 270deg,
    rgba(196,154,60,0.05) 320deg,
    rgba(196,154,60,0.0) 360deg
  );
  animation: bloom-shimmer-spin 14s linear infinite;
  z-index: 1;
  mask: radial-gradient(circle, transparent 58%, black 61%, black 100%);
  -webkit-mask: radial-gradient(circle, transparent 58%, black 61%, black 100%);
}
.bloom-mark-header::after {
  content: '';
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #4ADE80;
  border: 2px solid var(--black);
  z-index: 5;
  box-shadow: 0 0 6px rgba(74,222,128,0.35);
}


/* ============================== BLOOM INLINE AVATAR (28px) ============================== */
.bloom-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  background:
    radial-gradient(circle at 36% 30%, rgba(245,230,200,0.2) 0%, transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(196,154,60,0.14) 0%, rgba(10,10,10,0.96) 52%);
  border: 1.5px solid rgba(196,154,60,0.35);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
  text-shadow: 0 0 6px rgba(196,154,60,0.35);
  animation: bloom-core-pulse 3.5s ease-in-out infinite;
}
.bloom-avatar::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    rgba(196,154,60,0.0) 0deg,
    rgba(196,154,60,0.12) 65deg,
    rgba(196,154,60,0.0) 120deg,
    rgba(196,154,60,0.08) 185deg,
    rgba(196,154,60,0.0) 245deg,
    rgba(196,154,60,0.1) 310deg,
    rgba(196,154,60,0.0) 360deg
  );
  animation: bloom-shimmer-spin 10s linear infinite;
  z-index: -1;
  mask: radial-gradient(circle, transparent 52%, black 56%, black 100%);
  -webkit-mask: radial-gradient(circle, transparent 52%, black 56%, black 100%);
}
.bloom-avatar::after {
  content: '';
  position: absolute;
  bottom: -1px;
  right: -1px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ADE80;
  border: 1.5px solid var(--black);
  z-index: 3;
}


/* ============================== THINKING STATE ============================== */
.bloom-entity.thinking .bloom-core { animation: bloom-think 2.5s ease-in-out infinite; }
.bloom-entity.thinking .bloom-spore { animation-duration: 2.5s !important; }
.bloom-mark-header.thinking .bloom-hd-core { animation: bloom-think 2.5s ease-in-out infinite; }
.bloom-avatar.thinking { animation: bloom-think 2.5s ease-in-out infinite; }


/* ============================== GREEN / MARKETS MODE ============================== */
@keyframes bloom-core-pulse-green {
  0%, 100% { box-shadow: 0 0 30px rgba(122,154,69,0.35), 0 0 60px rgba(86,107,48,0.12), inset 0 0 20px rgba(154,187,102,0.15); }
  50% { box-shadow: 0 0 45px rgba(122,154,69,0.5), 0 0 90px rgba(86,107,48,0.2), inset 0 0 30px rgba(154,187,102,0.25); }
}
@keyframes iris-glow-green {
  0%, 100% { box-shadow: 0 0 8px rgba(154,187,102,0.5), 0 0 18px rgba(122,154,69,0.3); }
  50% { box-shadow: 0 0 12px rgba(154,187,102,0.7), 0 0 28px rgba(122,154,69,0.45); }
}

.bloom-entity.green .bloom-field {
  background: radial-gradient(circle,
    rgba(122,154,69,0.14) 0%,
    rgba(86,107,48,0.06) 30%,
    rgba(86,107,48,0.02) 50%,
    transparent 70%
  );
}
.bloom-entity.green .bloom-core {
  background:
    radial-gradient(circle at 36% 30%, rgba(154,187,102,0.35) 0%, transparent 38%),
    radial-gradient(circle at 50% 50%, rgba(122,154,69,0.22) 0%, rgba(86,107,48,0.1) 35%, rgba(10,10,10,0.96) 60%);
  border-color: rgba(122,154,69,0.35);
  animation: bloom-core-pulse-green 3.5s ease-in-out infinite;
}
.bloom-entity.green .bloom-iris {
  background: radial-gradient(circle, #B8D98A 22%, rgba(122,154,69,0.85) 55%, transparent 78%);
  box-shadow: 0 0 8px rgba(154,187,102,0.5), 0 0 18px rgba(122,154,69,0.3);
  animation: iris-glow-green 3s ease-in-out infinite;
}
.bloom-entity.green .bloom-petal,
.bloom-entity.green .bloom-petal-outer {
  background: linear-gradient(180deg,
    rgba(122,154,69,0.01) 0%,
    rgba(122,154,69,0.1) 35%,
    rgba(154,187,102,0.15) 65%,
    rgba(86,107,48,0.03) 100%
  );
  border-color: rgba(122,154,69,0.06);
}
.bloom-entity.green .bloom-orbit { border-color: rgba(122,154,69,0.08); }
.bloom-entity.green .bloom-orbit::before { background: #7A9A45; box-shadow: 0 0 12px rgba(122,154,69,0.6), 0 0 24px rgba(86,107,48,0.2); }
.bloom-entity.green .bloom-orbit::after { background: rgba(122,154,69,0.5); box-shadow: 0 0 6px rgba(122,154,69,0.3); }
.bloom-entity.green .bloom-orbit-outer { border-color: rgba(122,154,69,0.05); }
.bloom-entity.green .bloom-orbit-outer::before { background: rgba(122,154,69,0.35); }
.bloom-entity.green .bloom-filament { background: linear-gradient(0deg, rgba(122,154,69,0.2), rgba(86,107,48,0.05), transparent); }
.bloom-entity.green .bloom-spore { background: rgba(122,154,69,0.5); }
.bloom-entity.green .bloom-inner-ring { border-color: rgba(122,154,69,0.1); }
.bloom-entity.green .bloom-letter { color: rgba(122,154,69,0.2); text-shadow: 0 0 16px rgba(122,154,69,0.15); }
.bloom-entity.green .bloom-neural svg path { stroke: rgba(122,154,69,0.1); }
.bloom-entity.green .bloom-core::after { background: linear-gradient(90deg, transparent, rgba(154,187,102,0.4), transparent); }

/* Green header mark */
.bloom-mark-header.green .bloom-hd-core {
  background:
    radial-gradient(circle at 36% 30%, rgba(154,187,102,0.25) 0%, transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(122,154,69,0.16) 0%, rgba(10,10,10,0.96) 58%);
  border-color: rgba(122,154,69,0.35);
  color: #9ABB66;
  text-shadow: 0 0 10px rgba(122,154,69,0.4);
  animation: bloom-core-pulse-green 3.5s ease-in-out infinite;
}
.bloom-mark-header.green .bloom-hd-core::after { background: linear-gradient(90deg, transparent, rgba(154,187,102,0.4), transparent); }
.bloom-mark-header.green .bloom-hd-petals::before { background: #7A9A45; box-shadow: 0 0 6px rgba(122,154,69,0.5); }
.bloom-mark-header.green .bloom-hd-petals::after { background: rgba(122,154,69,0.4); box-shadow: 0 0 4px rgba(122,154,69,0.2); }
.bloom-mark-header.green .bloom-hd-aura {
  background: conic-gradient(
    from 0deg,
    rgba(122,154,69,0.0) 0deg,
    rgba(122,154,69,0.1) 50deg,
    rgba(122,154,69,0.0) 90deg,
    rgba(122,154,69,0.06) 140deg,
    rgba(122,154,69,0.0) 180deg,
    rgba(122,154,69,0.08) 230deg,
    rgba(122,154,69,0.0) 270deg,
    rgba(122,154,69,0.05) 320deg,
    rgba(122,154,69,0.0) 360deg
  );
}

/* Green inline avatar */
.bloom-avatar.green {
  background:
    radial-gradient(circle at 36% 30%, rgba(154,187,102,0.2) 0%, transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(122,154,69,0.14) 0%, rgba(10,10,10,0.96) 52%);
  border-color: rgba(122,154,69,0.35);
  color: #9ABB66;
  text-shadow: 0 0 6px rgba(122,154,69,0.35);
  animation: bloom-core-pulse-green 3.5s ease-in-out infinite;
}
.bloom-avatar.green::before {
  background: conic-gradient(
    from 0deg,
    rgba(122,154,69,0.0) 0deg,
    rgba(122,154,69,0.12) 65deg,
    rgba(122,154,69,0.0) 120deg,
    rgba(122,154,69,0.08) 185deg,
    rgba(122,154,69,0.0) 245deg,
    rgba(122,154,69,0.1) 310deg,
    rgba(122,154,69,0.0) 360deg
  );
}


/* ============================== REDUCED MOTION ============================== */
@media (prefers-reduced-motion: reduce) {
  .bloom-entity,
  .bloom-entity *,
  .bloom-entity *::before,
  .bloom-entity *::after,
  .bloom-mark-header,
  .bloom-mark-header *,
  .bloom-mark-header *::before,
  .bloom-mark-header *::after,
  .bloom-avatar,
  .bloom-avatar::before,
  .bloom-avatar::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
