/* ==========================================================================
   FF/08-SIGNATURE.CSS — FlexFolio skin: IMZO QATLAMI
   Otabek, 2026-08-07.

   FlexFolio'ni bir qarashda tanitadigan ikki narsa:
     1. konteyner chetlaridagi PUNKTIR yo'naltiruvchi chiziqlar
     2. fondagi iliq SHAFTOLI blur dog'lari

   HTMLga TEGMASDAN qanday qilinadi:
   index.html:111-112 da allaqachon ikkita bo'sh, `aria-hidden` div bor —
   `.bg-layer` va `.grain`. Ular `aiwork.css:855` da `display:none !important`
   bilan yashirilgan va boshqa HECH QANDAY qoidada ishlatilmaydi. Ularni
   qaytadan tiriltiramiz: DOM o'zgarmaydi, yangi element qo'shilmaydi.

   Ikkalasi ham `<body>` ning birinchi bolalari — `position:fixed; z-index:0`
   bilan barcha bo'limlar ORTIDA qoladi (keyingi pozitsiyalangan aka-ukalar
   DOM tartibida ustidan chiziladi).
   ========================================================================== */


/* ==========================================================================
   1. `.bg-layer` → iliq shaftoli blur dog'lari
   Referensda bular alohida elementlar: #FA8484 to'rtburchak, 34° burilgan,
   `filter:blur(100px)`, opacity .2 — ustidan oq blur markazni ochiradi.
   ========================================================================== */
/* QA o'lchovi ko'rsatdi: SPEC 8.6 dagi raqamlar (1153×967 dog', 776×553 oq
   dog', o'ram opacity .6) referensda TOR absolut o'ramda turadi; ularni
   to'liq viewport o'ramiga ko'chirilganda natija TESKARI chiqadi —
   chetlar iliq, markaz sovuq bo'lib qoladi. Referens piksellari (ref-00):
     x=140,y=120 → R−G = 0   (chet: neytral)
     x=720,y=320 → R−G = 28  (markaz: iliq)
   Bizda esa chet 21, markaz 6 edi. Shuning uchun dog'lar markazga
   yig'iladi va oq "o'chirgich" dog' kichraytiriladi. */
.bg-layer{
  display:block !important;
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  -webkit-mask-image:radial-gradient(820px 660px at 50% 14%, #000 0 50%, transparent 100%);
          mask-image:radial-gradient(820px 660px at 50% 14%, #000 0 50%, transparent 100%);
}

/* lososs dog' — o'lchangan: 1153×967, blur(100px), opacity .2, rotate(34deg) */
.bg-layer::before{
  content:"";
  position:absolute;
  top:-250px;
  left:50%;
  width:920px;
  height:840px;
  margin-left:-460px;
  background:#FA8484;
  border-radius:2000px;
  filter:blur(100px);
  opacity:.22;
  transform:rotate(34deg);
}

/* markazni ochiradigan oq dog' — o'lchangan: 776×553, blur(100px) */
.bg-layer::after{
  content:"";
  position:absolute;
  top:-240px;
  left:50%;
  width:520px;
  height:330px;
  margin-left:-260px;
  background:#fff;
  border-radius:2000px;
  filter:blur(100px);
  opacity:.5;
}

/* Sahifa bo'ylab yoyilgan qo'shimcha nur — `.aw-grid-bg::before` allaqachon
   shu maqsad uchun turibdi (eski binafsha nur), uni shaftoliga buramiz.
   `depth.css:1293` uni `opacity:0` qilib, `.in-view` bilan ochadi —
   shuning uchun `opacity` ham majburlanadi.
   Nur ILIQ SHAFTOLI bo'lishi shart: pushti (`--glow-pink`) referensda ikkinchi
   darajali qo'shimcha, asosiysi lososs `#FA8484`. Pushti ustun bo'lsa sahifa
   lavanda-pushti tus oladi va FlexFolio'ning iliqligi yo'qoladi. */
.aw-grid-bg::before{
  background:
    radial-gradient(760px 520px at 34% 14%, rgba(var(--glow-warm),.08), transparent 70%),
    radial-gradient(680px 500px at 68% 74%, rgba(var(--glow-warm),.07), transparent 72%),
    radial-gradient(520px 420px at 62% 34%, rgba(var(--glow-pink),.05), transparent 74%) !important;
  opacity:1 !important;
}


/* ==========================================================================
   2. `.grain` → vertikal punktir yo'naltiruvchi chiziqlar
   O'lchangan: 1440px viewport'da x=120 va x=1320 — ya'ni AYNAN 1200px
   konteynerning chetlari.
   ========================================================================== */
/* `.grain` ni FIKSATSIYALANGAN qatlam sifatida ishlatish MUMKIN EMAS edi:
   u `<body>` ning 2-farzandi, `z-index:0`; bo'limlar esa `<main>` ichida,
   `position:relative` bilan va DOM'da KEYIN turadi — shuning uchun ularning
   `background:#F5F5F5` foni fiksatsiyalangan yo'lakchalarni yopib qo'yardi.
   O'lchov: yo'lakchalar sahifaning atigi ~33% ida (hero'da) ko'rinardi.

   To'g'ri yechim — referensdagi arxitektura: HAR BIR BLOK o'z yo'lakchasini
   chizadi ("Line Bg" har bo'limda alohida element). Bizda buni blokning
   O'Z FONIDA ikkita 1px vertikal qatlam bilan qilamiz: fon rangi ustidan
   chizilgani uchun uni hech narsa yopmaydi va har bir blokni alohida
   boshqarish mumkin.

   Shtrix naqshi 3px/2px — Chrome'ning `1px dashed` bilan bir xil (o'lchangan). */
.grain{ display:none !important; }

.section:not(#jarvis),
.trust-band,
#jarvis > .sec-light,
.site-footer{
  background-image:
    repeating-linear-gradient(180deg, var(--rail) 0 3px, transparent 3px 5px),
    repeating-linear-gradient(180deg, var(--rail) 0 3px, transparent 3px 5px);
  background-size:1px 5px, 1px 5px;
  background-position:
    calc(50% - var(--wrap) / 2) 0,
    calc(50% + var(--wrap) / 2 - 1px) 0;
  background-repeat:repeat-y, repeat-y;
}

/* `#jarvis` — o'zi 5827px va ichida gorizontal lenta bor; yo'lakchalar
   uning O'ZIGA emas, faqat lentadan tashqaridagi bolalariga beriladi. */

/* ISTISNO — "10 yo'nalish" gorizontal lentasi (Otabek, 2026-08-07).
   Bu blok to'liq kenglikda skroll qilinadi, yo'lakcha uni kesib o'tsa
   lenta "qafasda" qolgandek ko'rinadi. */
#jarvis > .lanes{ background-image:none; }

/* Tor ekranda konteyner chetlari ekran chetiga juda yaqin tushadi —
   yo'lakchalar ifloslik qiladi, referensda ham mobil versiyada yo'q. */
@media (max-width:1279px){
  .section:not(#jarvis),
  .trust-band,
  #jarvis > .sec-light,
  .site-footer{ background-image:none; }
}


/* ==========================================================================
   3. Bo'limlar orasidagi gorizontal punktir chiziq
   DIQQAT: `.aw-grid-bg::before` band (atmosfera nuri) va ko'p bo'limda
   `.section` bilan `.aw-grid-bg` BIR ELEMENTDA — shuning uchun bu yerda
   faqat `::after` ishlatiladi.
   ========================================================================== */
.section,
.trust-band,
#jarvis > .sec-light,
#jarvis > .lanes{ position:relative; }

/* Referens DOM'ida bu qator UCHTA elementdan iborat (1210×10px, x=115):
     Dot (10×10, oq to'ldirilgan, 1px solid halqa, markaz x=120)
     Line (1190×1, 1px dashed, x=125..1315)
     Dot (markaz x=1320)
   Ya'ni punktir chiziq tugunga TEGIB turadi, uni kesib o'tmaydi, va tugun
   ICHI OQ — shuning uchun ortidan o'tayotgan vertikal yo'lakcha aynan
   kesishmada "uzilgandek" ko'rinadi. Aynan shu detal yetishmayotgan edi.

   Bitta `::after` da uchala qatlam (`::before` `.aw-grid-bg` da band):
     1-2. tugunlar → `border-box`, chetlarga tiralgan
     3.   chiziq   → `content-box` (10px ichkarida), 3px/2px shtrix naqshi
   Element kengligi = konteyner + 10px, shunda tugun markazlari AYNAN
   vertikal yo'lakchalar ustiga (markazdan ±600px) tushadi. */
/* Selektor ro'yxati ataylab keng:
   · `.section`            — asosiy bo'limlar
   · `.trust-band`         — `#trust` da `.section` klassi yo'q
   · `#jarvis > .sec-light`, `#jarvis > .lanes`
       `#jarvis` 5827px — u aslida referensdagi 3 ta alohida bo'limga teng
       (Jarvis boshi · "nimalar qila oladi" lentasi · isbot+CTA). Referensda
       har biri o'z ajratgichiga ega bo'lardi, shuning uchun ichki blok
       chegaralariga ham chiziq qo'yiladi — aks holda 5800px masofada
       birorta chiziq bo'lmay, ritm uziladi. */
.section::after,
.trust-band::after,
#jarvis > .sec-light:not(.jv-proof-band)::after,
#jarvis > .lanes::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  transform:translateX(-50%);
  box-sizing:border-box;
  width:calc(min(var(--wrap), 100% - var(--pad) * 2) + 10px);
  height:10px;
  padding-inline:10px;
  pointer-events:none;
  z-index:0;
  background-image:
    radial-gradient(circle at 5px 5px,
      var(--rail-dot) 0 3.9px, var(--rail) 3.9px 5px, transparent 5px),
    radial-gradient(circle at calc(100% - 5px) 5px,
      var(--rail-dot) 0 3.9px, var(--rail) 3.9px 5px, transparent 5px),
    repeating-linear-gradient(90deg, var(--rail) 0 3px, transparent 3px 5px);
  background-size:10px 10px, 10px 10px, auto 1px;
  background-position:left center, right center, center center;
  background-repeat:no-repeat, no-repeat, repeat-x;
  background-origin:border-box, border-box, content-box;
  background-clip:border-box, border-box, content-box;
}

/* DIQQAT: avval `#hero::after` va `#boshlash::after` o'chirilgan edi — bu
   XATO edi. Referensning butun sahifasi xaritalab chiqildi va u yerda
   ajratgich HAR BIR bo'lim chegarasida bor, jumladan hero ostida ham:
     chiziq y = 94 · 587 · 1506 · 1738 · 2335 · 3264 · 4723 · 5921 ·
                6480 · 7167 · 8248 · 9073 · 10026
     bo'lim chegaralari = 0 · 1503 · 1743 · 2341 · 3271 · 4731 · 5928 ·
                6486 · 7174 · 8255 ...
   ya'ni har bir chegaraga bittadan chiziq to'g'ri keladi. Hero ostidagi
   chiziq o'chirilgani uchun bizda sarlavha chizig'idan keyin 1255px
   bo'shliq qolgan va "faqat birinchi blokda chiziq bor" ko'rinishi
   paydo bo'lgan edi.

   Ajratgich keyingi bo'limning fonidan pastda qolib ketmasligi uchun
   z-index ko'tariladi: bo'limlar `position:relative; z-index:auto` —
   ya'ni ular yangi stacking kontekst yaratmaydi va DOM tartibida
   chiziladi; musbat z-index chiziqni keyingi bo'lim fonidan yuqoriga
   olib chiqadi. */
.section::after{ z-index:3; }

/* Sarlavha ostidagi qator — referensda y=94px da, xuddi shu retsept */
#site-header::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-21px;
  transform:translateX(-50%);
  box-sizing:border-box;
  width:calc(min(var(--wrap), 100vw - var(--pad) * 2) + 10px);
  height:10px;
  padding-inline:10px;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 5px 5px,
      var(--rail-dot) 0 3.9px, var(--rail) 3.9px 5px, transparent 5px),
    radial-gradient(circle at calc(100% - 5px) 5px,
      var(--rail-dot) 0 3.9px, var(--rail) 3.9px 5px, transparent 5px),
    repeating-linear-gradient(90deg, var(--rail) 0 3px, transparent 3px 5px);
  background-size:10px 10px, 10px 10px, auto 1px;
  background-position:left center, right center, center center;
  background-repeat:no-repeat, no-repeat, repeat-x;
  background-origin:border-box, border-box, content-box;
  background-clip:border-box, border-box, content-box;
}


/* ==========================================================================
   4. MOBIL — referensda mobil versiyada yo'naltiruvchi chiziqlar yo'q
   ========================================================================== */
@media (max-width:1023px){
  .grain{ display:none !important; }
  #site-header::after{ display:none; }
}

@media (max-width:767px){
  /* mobilda shaftoli nur tepada kuchliroq — referensdagidek */
  .bg-layer{ opacity:.75; }
  .bg-layer::before{ width:760px; height:640px; margin-left:-380px; top:-220px; }
  .bg-layer::after{ width:520px; height:380px; margin-left:-260px; top:-80px; }
}
