/* ==========================================================================
   HARAKAT.CSS — jarvis-aiwork'dagi karta harakati uchun yumshoq qaytish
   Dizayn va ranglar O'ZGARMAYDI.
   --------------------------------------------------------------------------
   Eslatma: aiwork.css 9-bo'limi va depth.css tiltni "transform:none/
   translateY(-4px) !important" bilan bo'g'ib qo'ygan. Ularni bu yerda
   bekor qilish shart emas — harakat.js transformni INLINE `!important`
   bilan yozadi, u esa stylesheet'dagi !important dan ham kuchli.
   Bu yerda faqat qaytish silliqligi va will-change beriladi.
   Bekor qilish: bitta <link> ni olib tashlash.
   ========================================================================== */

[data-tilt]{
  transition:transform .6s cubic-bezier(.22, 1, .36, 1),
             box-shadow .28s var(--ease);
  will-change:transform;
}

/* Kursor karta ustida — har kadrda yangi transform yoziladi, o'tish kerak emas */
[data-tilt].tilting{ transition:none; }

[data-tilt] .mini{
  transition:transform .7s cubic-bezier(.22, 1, .36, 1);
  will-change:transform;
}

[data-tilt] .mini.tilting{ transition:none; }


/* ==========================================================================
   jarvis-aiwork'dan KO'CHIRILGAN HARAKATLAR
   Qiymatlar aynan aiwork/css/style.css dan olindi; faqat RANGLAR bizning
   binafsha tokenlarga bog'landi (dizayn o'zgarmaydi, harakat qo'shiladi).
   ATAYLAB KO'CHIRILMADI: magnit tugma (Otabek shikoyat qilgan edi),
   orb va sim (wires) bilan bog'liq hamma narsa.
   ========================================================================== */

/* --- 1. Tamoyillar qatori: chap chiziq ochiladi + fon yoriydi ------------ */

#tamoyillar .pr-row{ position:relative; overflow:hidden; }

#tamoyillar .pr-row::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg, var(--blue), var(--blue-ink, #6a2bd2));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .35s ease;
}

#tamoyillar .pr-row:hover::before{ transform:scaleY(1); }

#tamoyillar .pr-row:hover{
  background:linear-gradient(90deg, rgba(129, 75, 238, .08), transparent 65%);
}


/* --- 2. Chip tanlanganda bir marta halqa chiqadi ------------------------- */

@keyframes chipPulse{
  from{ transform:scale(1);    opacity:1; }
  to  { transform:scale(1.22); opacity:0; }
}

.chip,
.jo-chip{ position:relative; }

.chip.active::after,
.chip[aria-pressed="true"]::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1.5px solid rgba(129, 75, 238, .55);
  animation:chipPulse .45s ease-out forwards;
  pointer-events:none;
}


/* --- 3. Forma xatosi — qisqa silkinish ---------------------------------- */

@keyframes shake{
  0%, 100%{ transform:translateX(0); }
  30%     { transform:translateX(-4px); }
  60%     { transform:translateX(4px); }
}

.field.invalid .field-err{ animation:shake .3s ease; }


/* --- 4. Footer linklari: ostidan chiziq chapdan o'ngga yoyiladi --------- */

.footer-col a{ position:relative; }

.footer-col a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  height:1px;
  width:100%;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.footer-col a:hover::after{ transform:scaleX(1); }


/* --- 5. Tugma yaltirashi — KO'CHIRILMADI (ALLAQACHON BOR) --------------
   aiworkda bu `.btn-primary::before` da (oq gradient, `sheen` keyframe).
   Saazida esa xuddi shu effekt `.btn::after` da allaqachon bor va u
   YAXSHIROQ qilingan: `z-index:-1` bilan MATN ORTIDA turadi (depth.css:454,
   hover'da left -140% → 140%). depth.css:1210 esa `.btn-primary::before` ni
   ataylab `display:none` qilgan — oq nur tugma matnini 2.4:1 gacha
   tushirib yuborardi (o'lchangan). Shuning uchun takrorlamadik. */

/* --- 6. Jarayon reyli bo'ylab yuguruvchi yorug'lik ----------------------- */

@keyframes railRun{
  from{ transform:translateX(-80px); }
  to  { transform:translateX(980px); }
}

/* DIQQAT: bu yerda `position:relative` YOZILMAYDI. Reyl 06-jarayon-ishlar.css
   da `position:absolute` — u `.steps` (aw-grid-4) ning BIRINCHI farzandi,
   shuning uchun statik oqimga tushsa grid katakchasini egallab, 01–03
   kartalarni o'ngga suradi va 04 keyingi qatorga tushib ketadi. */
.proc-rail{ overflow:hidden; }

.proc-rail::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, rgba(129, 75, 238, .65), transparent);
  opacity:.85;
  animation:railRun 5.5s linear infinite;
}


/* --- 7. Ustunliklar umurtqasi — KO'CHIRILMADI --------------------------
   aiworkda ustunliklar bo'limi VERTIKAL TIMELINE (o'rtada chiziq, ikki
   yonida kartalar) va chiziq bo'ylab nur tushadi. Saazida bu bo'lim 3x2
   TARMOQ; `.adv-line`/`.adv-pulse` 07-tamoyil-ustun-fikr.css:139 da
   `display:none !important` — ya'ni nur tushadigan chiziqning o'zi yo'q.
   Shuning uchun bu harakat ko'chirilmadi (o'lik qoida bo'lib qolardi). */

/* --- 8. Ishlar kartasi: rasm yaqinlashadi, raqam suriladi ---------------- */

#ishlar .work-card{ overflow:hidden; }

#ishlar .work-visual{
  transform-origin:50% 100%;
  transition:transform .65s cubic-bezier(.16, 1, .3, 1), filter .35s ease;
}

#ishlar .work-card:hover .work-visual{
  transform:scale(1.045);
  filter:brightness(1.04) saturate(1.06);
}

#ishlar .wv-num{ transition:transform .5s cubic-bezier(.16, 1, .3, 1), opacity .3s ease; }
#ishlar .work-card:hover .wv-num{ transform:translateY(-6px); opacity:.85; }


/* --- 9. Reduced-motion: hammasi jim ------------------------------------- */

@media (prefers-reduced-motion:reduce){
  .proc-rail::after{ animation:none; }
  [data-tilt],
  [data-tilt] .mini{ transition:none; }
}
