/* Atmosphere belongs to the 3:2 image only; the copy and account panel stay clear. */
.dapp-ai-core-media .dapp-core-ambient {
  position: absolute; inset: 0; z-index: 1;
  display: block; width: 100%; height: 100%; overflow: hidden;
  pointer-events: none; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
}
.core-ambient-track { stroke: url(#coreAmbientTrack); stroke-width: 2; opacity: .64; }
.core-ambient-passing {
  stroke: #d3c0f3; stroke-width: 2.6;
  stroke-dasharray: 10 150; stroke-dashoffset: 10; opacity: 0;
  animation: core-ambient-passing var(--core-motion-cycle,12s) ease-in-out infinite;
  animation-delay: var(--ambient-delay); animation-play-state: paused;
}
.core-ambient-ground {
  stroke: url(#coreAmbientGround); stroke-width: 2;
  opacity: .35; transform-origin: 768px 922px;
  animation: core-ambient-ground var(--core-motion-cycle,12s) ease-in-out infinite;
  animation-play-state: paused;
}
.core-ambient-ground path + path { opacity: .35; stroke-width: .8; }
.core-ambient-fragment {
  fill: url(#coreAmbientCrystal); stroke: #d7caef; stroke-width: .65;
  opacity: .48; transform-box: fill-box; transform-origin: center;
  animation: core-ambient-fragment var(--ambient-duration) ease-in-out infinite;
  animation-delay: var(--ambient-delay); animation-play-state: paused;
}
.core-ambient-facet { fill: none; stroke: #f1e8ff; stroke-width: .7; opacity: .53; }
.core-ambient-dust {
  fill: #c9bae5; stroke: none; opacity: .25;
  animation: core-ambient-dust var(--core-ambient-cycle,24s) ease-in-out infinite;
  animation-delay: var(--ambient-delay); animation-play-state: paused;
}
.dapp-ai-core-media.is-active :is(.core-ambient-passing,.core-ambient-ground,.core-ambient-fragment,.core-ambient-dust) {
  animation-play-state: running;
}
@keyframes core-ambient-passing {
  0% { opacity: 0; stroke-dashoffset: 10; }
  3%,8% { opacity: .32; }
  15%,100% { opacity: 0; stroke-dashoffset: -110; }
}
@keyframes core-ambient-ground {
  0%,42%,68%,100% { opacity: .18; transform: translateY(0) scaleX(1); }
  56% { opacity: .3; transform: translateY(-1px) scaleX(1.008); }
}
@keyframes core-ambient-fragment {
  0%,100% { opacity: .38; transform: translate(0,4px) rotate(-3deg); }
  50% { opacity: .58; transform: translate(3px,-7px) rotate(5deg); }
}
@keyframes core-ambient-dust {
  0%,100% { opacity: .16; transform: translate(0,4px); }
  50% { opacity: .32; transform: translate(2px,-7px); }
}
@media (max-width:760px) {
  .core-ambient-track { stroke-width: 2.6; }
  .core-ambient-passing { stroke-width: 3; }
}
@media (prefers-reduced-motion:reduce) {
  .dapp-ai-core-media .dapp-core-ambient { display: none; }
}
