:root {
  --yanmai-particle-glow: rgba(224, 199, 137, 0.22);
  --yanmai-pointer-ring: rgba(230, 205, 143, 0.76);
  --yanmai-pointer-core: rgba(255, 238, 192, 0.92);
}

html[data-theme="light"] {
  --yanmai-particle-glow: rgba(18, 39, 49, 0.22);
  --yanmai-pointer-ring: rgba(12, 31, 40, 0.74);
  --yanmai-pointer-core: rgba(15, 31, 39, 0.94);
}

.yanmai-particle-stage {
  position: fixed;
  z-index: 0;
  inset: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

html .ecosystem-home.yanmai-particle-ready .yanmai-particle-stage {
  opacity: 1;
}

html[data-theme="light"] .ecosystem-home.yanmai-particle-ready .yanmai-particle-stage {
  opacity: 0.98;
}

html[data-theme="dark"] .ecosystem-home.yanmai-particle-ready {
  background:
    radial-gradient(circle at 50% 42%, rgba(22, 24, 24, 0.34), transparent 42%),
    #030405;
}

html[data-theme="light"] .ecosystem-home.yanmai-particle-ready {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.68), transparent 46%),
    #f4f6f8;
}

html .ecosystem-home.yanmai-particle-ready .site-shell {
  position: relative;
  z-index: 1;
  background: transparent;
}

html .ecosystem-home.yanmai-particle-ready main,
html .ecosystem-home.yanmai-particle-ready .ecosystem-hero,
html .ecosystem-home.yanmai-particle-ready .era-section,
html .ecosystem-home.yanmai-particle-ready .ecosystem-section,
html .ecosystem-home.yanmai-particle-ready .ess-section,
html .ecosystem-home.yanmai-particle-ready .future-section,
html .ecosystem-home.yanmai-particle-ready .mission-section {
  background: transparent;
}

html .ecosystem-home.yanmai-particle-ready .ecosystem-hero-art,
html .ecosystem-home.yanmai-particle-ready .era-art,
html .ecosystem-home.yanmai-particle-ready .ess-art,
html .ecosystem-home.yanmai-particle-ready .future-art,
html .ecosystem-home.yanmai-particle-ready .ecosystem-visual img,
html .ecosystem-home.yanmai-particle-ready .mission-section > img,
html .ecosystem-home.yanmai-particle-ready .ecosystem-hero-shade,
html .ecosystem-home.yanmai-particle-ready .era-shade,
html .ecosystem-home.yanmai-particle-ready .ess-shade,
html .ecosystem-home.yanmai-particle-ready .future-shade {
  opacity: 0 !important;
  visibility: hidden;
}

html .ecosystem-home.yanmai-particle-ready main > section {
  position: relative;
  z-index: 1;
}

html .ecosystem-home.yanmai-particle-ready .ecosystem-section::before,
html .ecosystem-home.yanmai-particle-ready .ess-section::before,
html .ecosystem-home.yanmai-particle-ready .future-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 4, 5, 0.03), rgba(3, 4, 5, 0.16) 48%, rgba(3, 4, 5, 0.03));
  pointer-events: none;
}

html[data-theme="light"] .ecosystem-home.yanmai-particle-ready .ecosystem-section::before,
html[data-theme="light"] .ecosystem-home.yanmai-particle-ready .ess-section::before,
html[data-theme="light"] .ecosystem-home.yanmai-particle-ready .future-section::before {
  background: linear-gradient(180deg, rgba(244, 246, 248, 0.02), rgba(244, 246, 248, 0.22) 48%, rgba(244, 246, 248, 0.02));
}

html .ecosystem-home.yanmai-particle-ready .contact-section {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--eco-bg) 38%, transparent) 58%, color-mix(in srgb, var(--eco-bg) 66%, transparent) 100%);
}

html .ecosystem-home.yanmai-particle-ready .footer {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, color-mix(in srgb, var(--eco-bg) 72%, transparent) 0%, color-mix(in srgb, var(--eco-bg) 92%, transparent) 58%, var(--eco-bg) 100%);
}

.yanmai-glow-surface {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.yanmai-glow-surface > :not(.yanmai-hover-light) {
  position: relative;
  z-index: 1;
}

.yanmai-hover-light {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--yanmai-particle-glow) 0, color-mix(in srgb, var(--yanmai-particle-glow) 38%, transparent) 34%, transparent 70%);
  opacity: 0;
  transform: translate3d(calc(var(--yanmai-light-x, -220px) - 50%), calc(var(--yanmai-light-y, -220px) - 50%), 0) scale(0.76);
  transition: opacity 220ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

html .yanmai-glow-surface:hover > .yanmai-hover-light,
html .yanmai-glow-surface:focus-visible > .yanmai-hover-light,
html .yanmai-glow-surface:focus-within > .yanmai-hover-light {
  opacity: 1;
  transform: translate3d(calc(var(--yanmai-light-x, 50%) - 50%), calc(var(--yanmai-light-y, 50%) - 50%), 0) scale(1);
}

.yanmai-pointer-light {
  position: fixed;
  z-index: 1002;
  top: 0;
  left: 0;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;
  border: 1px solid var(--yanmai-pointer-ring);
  border-radius: 50%;
  background: var(--yanmai-pointer-core);
  box-shadow:
    0 0 0 7px color-mix(in srgb, var(--yanmai-pointer-ring) 13%, transparent),
    0 0 24px color-mix(in srgb, var(--yanmai-pointer-ring) 54%, transparent);
  opacity: 0;
  transform: translate3d(var(--yanmai-pointer-x, -40px), var(--yanmai-pointer-y, -40px), 0) scale(0.72);
  transition: width 180ms ease, height 180ms ease, margin 180ms ease, opacity 160ms ease, transform 72ms linear;
  pointer-events: none;
}

html body.yanmai-particle-ready.yanmai-pointer-visible .yanmai-pointer-light {
  opacity: 0.86;
}

html body.yanmai-particle-ready.yanmai-pointer-engaged .yanmai-pointer-light {
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  opacity: 1;
  background: color-mix(in srgb, var(--yanmai-pointer-core) 38%, transparent);
  transform: translate3d(var(--yanmai-pointer-x, -40px), var(--yanmai-pointer-y, -40px), 0) scale(1);
}

@media (max-width: 900px), (pointer: coarse) {
  .yanmai-pointer-light,
  .yanmai-hover-light {
    display: none;
  }

  html .ecosystem-home.yanmai-particle-ready .yanmai-particle-stage {
    opacity: 0.84;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yanmai-pointer-light,
  .yanmai-hover-light {
    display: none !important;
  }
}
