/* ecoone1 alias of ecopulse1 — preferred tip 20260803-ecoqa1 */
/* ecopulse1 · VYSHKA services status pulse · ?v=20260803-ecoqa1
 * live = realtime green ring · beta = subtle opacity pulse · others calm
 * live cards: icon container gentle breathe. prefers-reduced-motion off. */
:root {
  --vy-ecopulse-live: #16a34a;
  --vy-ecopulse-beta: #059669;
  --vy-ecopulse-dev: #1d4ed8;
  --vy-ecopulse-soon: #64748b;
  --vy-ecopulse-public: #b45309;
  --vy-ecopulse-b2b: #15803d;
}

.vy-product-status,
.vy-eco-sheet .vy-product-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--vy-ecopulse-live);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.01em;
}

.vy-product-status::before,
.vy-eco-sheet .vy-product-status::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex: none;
  background: currentColor;
  box-shadow: 0 0 0 0 transparent;
  transform-origin: center;
  will-change: transform, box-shadow, opacity;
}

.vy-product-status[data-status="live"] { color: var(--vy-ecopulse-live); }
.vy-product-status[data-status="beta"] { color: var(--vy-ecopulse-beta); }
.vy-product-status[data-status="development"],
.vy-product-status[data-status="dev"],
.vy-product-status[data-status="waitlist"] { color: var(--vy-ecopulse-dev); }
.vy-product-status[data-status="planned"] { color: var(--vy-ecopulse-soon); }
.vy-product-status[data-status="public-beta"] { color: var(--vy-ecopulse-public); }
.vy-product-status[data-status="b2b"] { color: var(--vy-ecopulse-b2b); }

/* Calm statuses: static dot (no animation) */
.vy-product-status[data-status="development"]::before,
.vy-product-status[data-status="dev"]::before,
.vy-product-status[data-status="waitlist"]::before,
.vy-product-status[data-status="planned"]::before,
.vy-product-status[data-status="public-beta"]::before,
.vy-product-status[data-status="b2b"]::before {
  animation: none;
  opacity: 1;
  box-shadow: none;
}

@media (prefers-reduced-motion: no-preference) {
  .vy-product-status[data-status="live"]::before,
  .vy-eco-sheet .vy-product-status[data-status="live"]::before {
    animation: vy-ecopulse-live-dot 1.45s cubic-bezier(.22,.68,0,1) infinite;
  }

  .vy-product-status[data-status="beta"]::before,
  .vy-eco-sheet .vy-product-status[data-status="beta"]::before {
    animation: vy-ecopulse-beta-dot 2.75s ease-in-out infinite;
  }

  /* Icon containers gently breathe when card status=live */
  .vy-product-card[data-status="live"] .vy-product-card__icon,
  .vy-product-card:has(> .vy-product-status[data-status="live"]) .vy-product-card__icon,
  .vy-eco-sheet .vy-product-card[data-status="live"] .vy-product-card__icon,
  .vy-eco-sheet .vy-product-card:has(> .vy-product-status[data-status="live"]) .vy-product-card__icon {
    animation: vy-ecopulse-icon-breathe 2.6s ease-in-out infinite;
    transform-origin: center;
    will-change: transform, filter;
  }
}

@keyframes vy-ecopulse-live-dot {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.55);
    opacity: 1;
  }
  65% {
    transform: scale(1.12);
    box-shadow: 0 0 0 7px rgba(22, 163, 74, 0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
    opacity: 1;
  }
}

@keyframes vy-ecopulse-beta-dot {
  0%, 100% {
    opacity: 0.5;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

@keyframes vy-ecopulse-icon-breathe {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.055);
    filter: brightness(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  .vy-product-status::before,
  .vy-product-card[data-status="live"] .vy-product-card__icon,
  .vy-product-card:has(> .vy-product-status[data-status="live"]) .vy-product-card__icon,
  .vy-eco-sheet .vy-product-status::before,
  .vy-eco-sheet .vy-product-card[data-status="live"] .vy-product-card__icon {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }
}

/* hardseal marker */
html[data-vy-ecopulse1="20260803-ecoqa1"] .vy-product-panel,
body[data-vy-ecopulse1="20260803-ecoqa1"] .vy-product-panel {
  --vy-ecopulse-seal: 20260803-ecoqa1;
}
