/* ==========================================================================
   زبان‌نگار — لایهٔ مشترک سری «دورهٔ آنلاین آلمانی» (on-*)
   وابسته به: de-base.css  (توکن‌های روشن، ‎.de-scope‎، grain، ghost، chip، reveal)

   این فایل فقط چیزی را اضافه می‌کند که در de-base نیست:
     ۱) تم تیرهٔ هیرو  →  ‎.on-dark‎ (بازنویسی توکن‌ها، نه پایهٔ تازه)
     ۲) دو انیمیشن تازهٔ این سری: on-pulse و on-wave
   بخش‌های ۰۱ تا ۱۳ همان پالت روشن de-base را دارند و چیزی از اینجا لازم ندارند
   جز همین دو انیمیشن.
   ========================================================================== */

/* ---------- تم تیره (فقط هیرو) ---------- */
.de-scope.on-dark {
  --zn-bg0: #16090E;
  --zn-bg1: #1C0D12;
  --zn-bg-img: #1C1014;
  --zn-bg-deep: #0E0609;

  --zn-t1: #FFF8F5;
  --zn-t2: #FFF6F2;
  --zn-t3: #D6BCC0;
  --zn-t4: #C9A4AB;
  --zn-t5: #C6A6AC;
  --zn-t6: #A8878E;
  --zn-t7: #B08D93;
  --zn-t8: #9C7C83;

  /* خطوط تیره سفیدِ کم‌شفاف‌اند، نه گلبهیِ تم روشن */
  --zn-line: 255, 255, 255;
  --zn-ghost: rgba(255, 255, 255, .07);

  --zn-glass-85: rgba(255, 255, 255, .08);
  --zn-glass-78: rgba(255, 255, 255, .06);
  --zn-glass-60: rgba(255, 255, 255, .05);

  --zn-accent-soft: #FFB3C4;
  --zn-accent-soft2: #FF8FA8;

  color: var(--zn-t1);
  background: var(--zn-bg0);
}

/* چیپ در تم تیره باید روشن‌تر و پرکنتراست‌تر باشد */
.de-scope.on-dark .de-chip {
  background: rgba(255, 59, 92, .14);
  border-color: rgba(255, 92, 138, .40);
  color: var(--zn-accent-soft);
}

/* لینک‌های داخل تم تیره.
   عمداً بدون ‎:where()‎ نوشته شده‌اند: قاعدهٔ متناظر در de-base داخل ‎:where()‎ است
   و اختصاصیت صفر دارد، پس اگر این‌ها هم صفر بودند برنده‌شدن‌شان به ترتیب لود
   فایل‌ها وابسته می‌ماند. با اختصاصیت واقعی، مستقل از ترتیب لود غالب‌اند. */
.de-scope.on-dark a { color: var(--zn-t3); }
.de-scope.on-dark a:hover { color: var(--zn-t2); }

/* ---------- انیمیشن‌های تازهٔ این سری ---------- */

/* نقطهٔ «زنده» که نبض می‌زند */
@keyframes on-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .45; transform: scale(.82); }
}

/* میله‌های صوتی روی پنجرهٔ کلاس */
@keyframes on-wave {
  0%, 100% { transform: scaleY(.35); }
  50%      { transform: scaleY(1); }
}

.on-pulse { animation: on-pulse var(--on-pulse-dur, 1.8s) ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .on-pulse,
  .de-scope [class*="on-"] .on-wave span { animation: none !important; }
}
