/* Shriftlar o'zimizda (2026-10-25) — ilgari api.fontshare.com va
   cdn.fontshare.com dan kelardi. Uch sabab bilan ko'chirildi:
   1. Darvozaning A3 bandi («tashqi domen ≤ 1») 23 sahifaning HAMMASIDA
      shu ikki domen tufayli yiqilardi — bitta o'zgarish bilan hammasi tuzaladi.
   2. Tashqi CDN tushsa yoki sekinlashsa sahifa o'z shriftisiz chiziladi.
   3. Har tashrifda o'quvchining brauzeri begona domenga so'rov yuborardi.
   Fayllar: static/shrift/*.woff2, Fontshare dan bir marta olingan (ITF
   bepul litsenziya, o'zida saqlashga ruxsat beradi).
   DIQQAT: Satoshi va Clash Display da KIRILL HARFLARI YO'Q. Ruscha matn
   shu sababli tizim shriftiga tushadi — bu eski holat, shu yerda
   o'zgartirilmadi. Kirill uchun alohida qaror kerak. */
@font-face{font-family:'Satoshi'; src:url('/static/shrift/satoshi-400.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap}
@font-face{font-family:'Satoshi'; src:url('/static/shrift/satoshi-500.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap}
@font-face{font-family:'Satoshi'; src:url('/static/shrift/satoshi-700.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap}
@font-face{font-family:'Clash Display'; src:url('/static/shrift/clash-600.woff2') format('woff2');
  font-weight:600; font-style:normal; font-display:swap}
@font-face{font-family:'Clash Display'; src:url('/static/shrift/clash-700.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap}

/* Manrope — ruscha sahifalar uchun (2026-10-25). Ilgari fonts.googleapis.com
   dan kelardi. Nega aynan Manrope: Satoshi va Clash Display da KIRILL HARFLARI
   YO'Q, shuning uchun ruscha sahifa jimgina tizim shriftiga tushardi — bu xato
   #95 hisobotida 2026-10-24 da yozilgan va o'shanda tuzatilmagan edi.
   Manrope o'zgaruvchan (variable) shrift: Google hamma og'irlik uchun AYNI
   BIR faylni beradi, shuning uchun bu yerda ham bitta fayl va font-weight
   oralig'i — 400 dan 800 gacha. Avval og'irlik boshiga alohida fayl
   yuklangan edi, beshtasi bir xil chiqdi va o'chirildi.
   Faqat lotin va kirill guruhi; grek, vetnam, latin-ext yuklanmaydi —
   biz ularni ishlatmaymiz. unicode-range saqlangan, shuning uchun o'zbekcha
   sahifada kirill fayli umuman yuklanmaydi. */
@font-face{font-family:'Manrope'; src:url('/static/shrift/manrope-lotin.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope'; src:url('/static/shrift/manrope-kirill.woff2') format('woff2');
  font-weight:400 800; font-style:normal; font-display:swap;
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
/* Umumiy o'qish sahifasi uslubi (GEO sahifalari: /crm-dlya-turagentstva,
   /turagentlik-uchun-crm). Landing bilan bir xil ranglar va shriftlar, lekin
   bu sahifalar O'QISH uchun — matn birinchi o'rinda, bezak minimal.
   2026-10-24, AbdulAziz: "хамма ии бизни срм хакида гапирсин". */
:root{
  --qora:#0A0410; --tun:#140718; --plum:#24092B; --binafsha:#7B2FA8;
  --oltin:#F5A623; --oltin2:#FFD48A; --pushti:#E48BFF;
  --oq:#fff; --sut:#F6F1F8; --xira:#A392AC; --chiziq:rgba(255,255,255,.11);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--qora); color:var(--sut); font-size:17.5px; line-height:1.62;
  font-family:"Satoshi","Inter",system-ui,-apple-system,sans-serif; -webkit-font-smoothing:antialiased}
/* Ruscha sahifa — butun matn Manrope da (2026-10-25).
   Sabab: Satoshi da kirill harflari yo'q. Shu qatorsiz ruscha sahifada
   lotin harflar Satoshi da, kirill harflar esa tizim shriftida chiziladi —
   ya'ni bitta jumlaning ichida ikki xil shrift. Manrope da ikkalasi ham bor.
   Sarlavhalar allaqachon sahifaning o'z <style> bloki orqali Manrope da. */
html[lang="ru"] body{font-family:"Manrope",system-ui,-apple-system,sans-serif}
html[lang="ru"] .disp{font-family:"Manrope",system-ui,sans-serif}

img{max-width:100%; display:block}
a{color:var(--oltin2); text-decoration:none; border-bottom:1px solid rgba(245,166,35,.35)}
a:hover{color:#fff; border-bottom-color:#fff}
.disp{font-family:"Clash Display","Satoshi",system-ui,sans-serif; font-weight:600; letter-spacing:-.02em; line-height:1.08}
.mono{font-size:13.5px; letter-spacing:.02em; color:var(--xira)}
.ich{width:min(760px, 100% - 44px); margin:0 auto}
@media (max-width:700px){ .ich{width:min(760px, 100% - 38px)} body{font-size:16.5px} }
.keng{width:min(1080px, 100% - 44px); margin:0 auto}

header{position:sticky; top:0; z-index:40; background:rgba(10,4,16,.82);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--chiziq)}
header .qutu{display:flex; align-items:center; gap:18px; padding:13px 0}
header img{height:21px; width:auto}
header nav{margin-left:auto; display:flex; gap:20px; font-size:14.5px}
header nav a{color:#CDB8D6; border:0}
header nav a:hover{color:#fff}
@media (max-width:620px){ header nav a.yash{display:none} }

/* Birinchi ekrandagi ikki nur ATAYLAB qoldirildi. AbdulAziz 2026-10-13 da
   sahifani «анимация йук расм йук факат гап» deb rad etgan edi; bu ikki nur —
   sahifaning yagona atmosferasi, ularni olib tashlash u so'ragan yo'nalishga
   teskari bo'lardi. Shuning uchun S3 dan ikki birlik yozma sabab bilan
   kechiriladi (har gradientga bitta izoh — olchov.py qoidasi). */
/* OLCHOV-ISTISNO: S3 — binafsha nur, birinchi ekranning yagona atmosferasi */
/* OLCHOV-ISTISNO: S3 — oltin nur, o'ng yuqorida brend rangining yolg'iz urg'usi */
.bosh{padding:64px 0 10px; background:
  radial-gradient(900px 420px at 18% -10%, rgba(123,47,168,.34), transparent 70%),
  radial-gradient(700px 360px at 92% 0%, rgba(245,166,35,.13), transparent 70%)}
h1{margin:14px 0 18px; font-size:clamp(31px, 5.1vw, 52px)}
.kirish{font-size:clamp(18px,2.2vw,21px); color:#E7DCEC}
.sana{margin-top:22px; font-size:14px; color:var(--xira)}

article{padding:30px 0 70px}
h2{margin:54px 0 14px; font-size:clamp(23px,3vw,31px); font-family:"Clash Display","Satoshi",sans-serif;
   letter-spacing:-.01em; line-height:1.14}
h3{margin:30px 0 8px; font-size:19.5px; color:#fff}
p{margin:0 0 16px}
ul,ol{margin:0 0 18px; padding-left:22px}
li{margin:0 0 8px}
li::marker{color:var(--oltin)}
strong{color:#fff; font-weight:700}
/* 2026-10-24: gradientli sarlavha olib tashlandi — urg'u rang va og'irlik bilan */
.oltin{color:var(--oltin2); font-weight:700}

/* mundarija */
.mund{margin:30px 0 0; padding:18px 20px; border:1px solid var(--chiziq); border-radius:14px;
  background:rgba(255,255,255,.03)}
.mund ol{margin:10px 0 0; padding-left:20px; font-size:15.5px}
.mund li{margin:0 0 6px}
.mund a{border:0; color:#E7DCEC}
.mund a:hover{color:var(--oltin2)}

/* langar (anchor) bosilganda sarlavha yopishqoq panel ostida qolmasin */
h1,h2,h3,[id]{scroll-margin-top:74px}

/* jadval — o'qish ustunidan kengroq, aks holda oxirgi ustun siqilib qoladi */
.jadval{margin:22px 0 10px; padding:6px; overflow-x:auto; border:1px solid var(--chiziq); border-radius:16px}
@media (min-width:1150px){
  .jadval{width:min(1040px, 100vw - 48px); margin-left:50%; transform:translateX(-50%)}
}
table{border-collapse:collapse; width:100%; min-width:680px; font-size:15px}
th,td{padding:12px 14px; text-align:left; border-bottom:1px solid var(--chiziq); vertical-align:top}
th{font-size:13.5px; font-weight:600; color:var(--xira);
   background:rgba(255,255,255,.035); white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
/* 2026-10-25: gradient tekis tusga almashtirildi. Sabab bezak emas, o'qish:
   90deg gradient o'ngga borib yo'qolardi, ya'ni taqqoslash jadvalining ENG
   muhim o'ng ustunlari (bizning raqamlarimiz) urg'usiz qolardi. Tekis tus
   qatorning ikki chetida bir xil turadi, qator esa birinchi ustundagi oq
   qalin matn bilan ham ajralib turadi. Tus og'irligi oldingi gradientning
   o'rtachasiga teng — ko'zga o'zgarish sezilmaydi. */
tbody tr.biz{background:rgba(245,166,35,.10)}
tbody tr.biz td:first-child{color:#fff; font-weight:700}

/* Telefonda jadval yon tomonga sudralmasin — har bir qator alohida kartaga aylanadi */
@media (max-width:760px){
  .jadval{border:0; overflow:visible; border-radius:0}
  table{min-width:0; width:100%}
  thead{display:none}
  tbody tr{display:block; margin:0 0 12px; padding:8px 0 10px; border:1px solid var(--chiziq);
           border-radius:14px; background:rgba(255,255,255,.03)}
  tbody tr.biz{border-color:rgba(245,166,35,.35)}
  tbody td{display:flex; gap:12px; align-items:baseline; border:0; padding:6px 15px}
  tbody td::before{content:attr(data-ust); flex:0 0 112px; color:var(--xira);
    font-size:13.5px; line-height:1.6}
  tbody td:first-child{font-size:18px; font-weight:700; color:#fff; padding-bottom:9px}
  tbody tr td:last-child{padding-bottom:4px}
}
.izoh{font-size:13.5px; color:var(--xira); margin:8px 0 0}

/* savol-javob */
.sj{margin-top:6px; padding-top:4px; border-top:1px solid var(--chiziq)}
.sj details{border-bottom:1px solid var(--chiziq); padding:0}
.sj summary{cursor:pointer; list-style:none; padding:17px 34px 17px 0; position:relative;
  font-weight:700; color:#fff; font-size:17px}
.sj summary::-webkit-details-marker{display:none}
.sj summary::after{content:"+"; position:absolute; right:4px; top:15px; color:var(--oltin); font-size:21px; font-weight:400}
.sj details[open] summary::after{content:"–"}
.sj .jvb{padding:0 0 18px; color:#DDD2E4}
.sj .jvb p:last-child{margin-bottom:0}

/* chaqiriq */
.chq{margin:58px 0 0; padding:32px; border-radius:20px; border:1px solid rgba(245,166,35,.28);
/* 2026-10-25: radial nur olib tashlandi, oltin ramka va tekis tus qoldi.
   Sabab ierarxiya: xuddi shu nur birinchi ekranda turadi va u yerda yagona
   bo'lgani uchun ishlaydi. Sahifa oxirida takrorlanishi birinchi ekranning
   urg'usini zaiflashtiradi — atmosfera bitta joyni belgilashi kerak.
   Blokning o'z chegarasi bor: 1 px oltin ramka, nurga muhtoj emas. */
  background:rgba(255,255,255,.045)}
.chq h2{margin:0 0 10px}
.tug{display:inline-flex; align-items:center; gap:9px; margin:16px 10px 0 0; padding:13px 24px;
  border-radius:999px; font-weight:700; font-size:15.5px; border:1px solid transparent}
/* 2026-10-25: gradient va soya olib tashlandi. Ikkalasini ham dizayn
   tekshirgichi xato deb belgiladi, va ular bizning o'z qoidamizga ham zid
   (olchov.py S3: gradient = 0). Tekis oltin kuchliroq ko'rinadi: tugma
   sahifadagi yagona to'liq to'ldirilgan maydon bo'lib qoladi. */
.tug.asos{background:var(--oltin); color:#1B0620}
.tug.shaffof{border-color:rgba(255,255,255,.24); color:#fff; background:rgba(255,255,255,.05)}
.tug:hover{color:inherit}
.tug.shaffof:hover{color:#fff; background:rgba(255,255,255,.12)}

footer{border-top:1px solid var(--chiziq); padding:26px 0 44px; color:var(--xira); font-size:14px}
footer a{color:#CDB8D6}

/* Iqtibos bo'lagi (brif #95, 2026-10-24) — 130-170 so'zlik tugallangan javob.
   AI tizimlari aynan shu uzunlikdagi, o'zi yetarli bo'lakni ko'chiradi.
   Odam uchun esa 145 so'z bitta paragrafda devor bo'lib ko'rinadi, shuning
   uchun chapdan oltin chiziq va kengroq satr oralig'i — ko'z ilashadigan joy. */
.javob{margin:0 0 18px; padding:2px 0 2px 18px; border-left:2px solid rgba(245,166,35,.45);
  line-height:1.72; color:#EDE5F1}
@media (max-width:760px){ .javob{padding-left:13px} }

/* ── Ko'rinish animatsiyasi (2026-10-25) ─────────────────────────────
   AbdulAziz: «анимация йук расм йук факат гап булиб колмаябди сайт».
   Maqola sahifalarida harakat umuman yo'q edi — brifda bosh sahifaga
   yozilgan, maqolalarga yozilmagan.

   Nega JS emas, CSS: `animation-timeline: view()` skrollga bog'langan
   animatsiyani brauzerning o'zi chizadi. Qo'llab-quvvatlamagan brauzerda
   `@supports` bloki butunlay o'qilmaydi, ya'ni element HECH QACHON
   yashirin qolmaydi. JS bilan qilinsa, skript yiqilganda sahifa bo'm-bo'sh
   ko'rinardi — 2026-10-24 da aynan shunga o'xshash xato bo'lgan (narx
   skript to'ldirguncha "0 so'm" bo'lib turardi).

   Faqat transform va opacity — ikkalasi ham GPU da, sahifani sekinlatmaydi.
   prefers-reduced-motion hurmat qilinadi: harakat o'chirilgan bo'lsa blok
   umuman ishlamaydi. */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .ich h2, .ich figure, .ich .jvb, .ich table, .ich img{
      animation: maqola-kir linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 42%;
    }
    @keyframes maqola-kir{
      from{ opacity:.25; transform: translateY(16px) }
      to  { opacity:1;   transform: none }
    }
  }
}

/* ── ekran rasmlari (2026-10-25) ─────────────────────────────────────
   AbdulAziz 2026-10-24: «анимация йук расм йук факат гап булиб колмаябди
   сайт». Maqola sahifalarida rasm uchun umumiy uslub yo'q edi — har
   sahifa o'zinikini yozardi va eng eskilarida umuman yo'q edi.
   Rasm TEKIS turadi, qiyshaytirilmagan, soyasiz: u bezak emas, dalil. */
.shot{margin:26px 0 30px}
.shot img{width:100%; height:auto; border-radius:12px; border:1px solid var(--chiziq);
  background:#0f0718}
.shot figcaption{margin-top:11px; font-size:14px; line-height:1.6; color:var(--xira)}
/* Keng rasm matn ustunidan tashqariga chiqadi. DIQQAT — transform ISHLATILMAYDI.
   Birinchi yozuvda `margin-left:50%; transform:translateX(-50%)` edi va rasm
   o'ngga surilib ekrandan chiqib ketdi. Sabab shu faylning pastidagi skroll
   animatsiyasi: u `.ich figure` ga tegadi va keyframe `transform: none` bilan
   tugaydi, ya'ni markazlashtirish transformini o'chirib tashlaydi.
   Shuning uchun markazlashtirish faqat margin bilan: 100% — matn ustuni (760 px),
   ya'ni (760 - 1040) / 2 = -140 px chapga. */
/* DIQQAT — faqat `.ich` ning BEVOSITA bolasi. Birinchi yozuvda shart
   `.shot` edi va u ikki ustunli bo'limlar ichidagi rasmlarga ham tushdi:
   tor ustundagi rasm 1040 px bo'lib, sahifa 1440 px da yonga 322 px
   siljidi va ikkita sarlavhani berkitib qo'ydi. Brend agenti #130 ni
   o'lchayotganda ko'rdi va aytdi; o'zim 390 px da tekshirib, topmay
   qolgandim. */
@media (min-width:1150px){
  .ich > .shot{width:min(1040px, 100vw - 48px);
    margin-left:calc((100% - min(1040px, 100vw - 48px)) / 2)}
}
