/* ============================================================
   Стили декоративной сцены v3: img-объекты (готовые изо-кубы +
   пиксель-вишня/кристалл), частицы, DOF (blur по глубине).
   ============================================================ */

.deco-object {
  position: absolute;
  transform-origin: center;
  filter: drop-shadow(0 10px 22px rgba(214, 45, 143, 0.4))
          blur(var(--blur, 0px));         /* DOF: дальние объекты размыты */
  animation: float-obj 7s ease-in-out infinite;
  will-change: transform, filter;
}
.deco-object > * { transform: rotate(var(--rot, 0deg)); }

.deco-img {
  display: block;
  height: auto;
}

/* пиксельный рендеринг (чёткие пиксели текстур) */
.pixelated {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

/* лёгкое всплывание поверх паралакса */
@keyframes float-obj {
  0%, 100% { translate: 0 0; }
  50%      { translate: 0 -10px; }
}

/* частицы-искры (квадратные, пиксельные) */
.deco-particle {
  position: absolute;
  width: var(--sz, 2px);
  height: var(--sz, 2px);
  background: var(--pc, var(--c-accent-hi, #ff3d9a));
  box-shadow: 0 0 8px 2px rgba(255, 61, 154, 0.6);
  opacity: 0;
  border-radius: 0;
  animation: twinkle var(--d, 3s) ease-in-out var(--delay, 0s) infinite;
  will-change: opacity, transform;
}
@keyframes twinkle {
  0%, 100% { opacity: 0; transform: scale(0.6); }
  50%      { opacity: 0.9; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .deco-object { animation: none; }
  .deco-particle { animation: none; opacity: 0.5; }
}
