/* ============================================================
   SOCETIFY V3 — tokenlar
   ------------------------------------------------------------
   Bu fayl yagona rang va o'lcham manbai. Komponentlarda qattiq
   yozilgan rang bo'lmasligi kerak — faqat var(--...).
   V2 dagi asosiy xato shu edi: 263 ta rang shablon ichida
   qattiq yozilgan va mavzuni almashtirib bo'lmasdi.

   Yorug' — asosiy. Qorong'i — qo'shimcha.
   Neytrallar ataylab iliq tomonga og'dirilgan: sof kulrang
   o'ylanmagan ko'rinadi, iliq kulrang qog'ozdek o'qiladi.
   ============================================================ */
:root {
  /* yuzalar */
  --paper:         #FBFAF7;
  --surface:       #FFFFFF;
  --surface-sunk:  #F4F2ED;
  --surface-hover: #F0EDE6;

  /* chiziqlar */
  --line:        #E4E0D7;
  --line-strong: #CFC9BC;
  /* Forma maydoni chegarasi (2026-10-04, dizayn auditi B1). `--line`
     oq fonda 1,3:1 edi — maydon qayerdaligi ko'rinmasdi. WCAG 1.4.11
     komponent chegarasi uchun 3:1 talab qiladi: bu 3,5:1 (oq), 3,1:1
     (`--surface-sunk`). Kartalar orasidagi chiziq `--line` da qoladi. */
  --field-line:  #8F897D;

  /* siyoh — sof qora emas, ko'kka og'gan chuqur rang */
  --ink:      #1C2529;
  --ink-soft: #4A585E;
  /* 2026-10-04 (B1): #7C8A90 3,4:1 edi — 11–12px yordamchi matn uchun
     WCAG 4,5:1 dan past. Endi to'rt fonning hammasida ≥ 4,65:1. */
  --ink-dim:  #5E6C72;

  /* Urg'u — saytdagi firuza (`#3CB8CB`) bilan BIR TUS (188°), yorug'
     fonda o'qilishi uchun to'qroq (dizayn F3, 2026-10-06). Ilgari
     `#14556B` — ko'kroq, boshqa oila: saytdan kirgan odam boshqa
     rangga tushardi. Matn sifatida to'rt fonda ≥ 5:1, oq matn uning
     ustida 6:1 (`tests_dizayn_tuzatish.YorugUrguTests`). */
  --accent:       #0A6C7B;
  --accent-hover: #075763;
  --accent-soft:  #E3F2F4;
  --accent-line:  #A9D6DC;
  /* Nur — sayt logotipi va bezakdagi gradient (F5): ilovada faqat
     belgi va bo'sh holat bezagida, MATN fonida emas. */
  --nur-1: #3CB8CB;
  --nur-2: #14556B;

  /* Grafik ranglari. Holat ranglari (ok/warn/crit) va kanal ranglari
     band — ular ma'no tashiydi, shuning uchun grafik qatoriga
     ishlatilmaydi. Bu juftlik `validate_palette.js` ning oltita
     tekshiruvidan o'tgan: rang ko'rmaslikning uch turida ham ajraladi. */
  --chart-1: #3A86B5;
  --chart-2: #C86A2E;
  --chart-1-fill: #3A86B51F;
  --chart-2-fill: #C86A2E1F;
  --chart-grid: #E4E0D7;
  --on-accent:    #FFFFFF;
  /* Xavfli tugma matni (`.btn-danger`). To'q mavzuda `--crit` och —
     oq matn 2,6:1 bo'lardi, shuning uchun alohida token (C3). */
  --on-crit:      #FFFFFF;
  /* To'lov tizimi logotiplari rangli va OQ fonga chizilgan (Uzcard
     yozuvi to'q ko'k) — plita ikki mavzuda ham oq (balans sahifasi). */
  --logo-plita:   #FFFFFF;

  /* semantik — urg'udan ATAYLAB alohida.
     Urg'u "bu muhim", semantik "bu qanday ketyapti" deydi. */
  /* ok/warn matni o'z «soft» fonida (holat yorlig'i) ≥ 5:1 (B1). */
  --ok:        #276B46;
  --ok-soft:   #E4F0E9;
  --warn:      #8A5A0E;
  --warn-soft: #F7EDDA;
  --crit:      #A93B2C;
  --crit-soft: #F7E6E3;

  /* kanal belgilari — faqat nuqta uchun, logo yopishtirilmaydi */
  --tg: #2A7FA8;
  --ig: #A6417A;
  --fb: #29528C;
  --yt: #A6362B;

  /* radius (dizayn auditi C4): bitta shkala. Literal faqat 50%
     (doira) va 2–3px (ingichka chiziq, fokus) — `tests_dizayn_tuzatish`.
     `--r-pill` — yorliq, tugma-hap; ko'p qatorli maydonga EMAS
     (brauzer radiusni balandlikning yarmiga qisadi). */
  --r-sm: 4px;
  /* F4 (2026-10-06): sayt shkalasi oilasi (ommaviy: 10/16/24). Ilova
     zichroq — `lg`, `xl` bir pog'ona kichik; `md` bir xil. */
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-pill: 999px;

  /* soya — kam va yumshoq. Iyerarxiya (C3): karta sahifadan bir oz
     ko'tariladi, `pop` — sahifa USTIDA suzadigan (AI panel, auth
     karta), `bar` — pastki yopishgan chiziq. rgba faqat shu faylda. */
  --shadow-sm: 0 1px 2px rgba(28, 37, 41, .06);
  --shadow-md: 0 2px 10px rgba(28, 37, 41, .07);
  --shadow-card: 0 1px 2px rgba(28, 37, 41, .05);
  --shadow-pop: 0 18px 44px -18px rgba(20, 40, 50, .45);
  --shadow-bar: 0 -2px 12px rgba(28, 37, 41, .07);

  /* o'lchamlar */
  --rail: 208px;
  --context: 268px;
  --gutter: var(--s-6);

  /* Bo'shliq shkalasi (dizayn auditi C2). Ilgari `gap` uchun 20 xil
     qiymat (5, 7, 9, 11, 13…) — har blok ko'zga bir oz boshqacha
     «nafas» olardi. Ilova CSS ida padding/margin/gap faqat shu
     tokenlardan; literal faqat 0–3px (optik tuzatish) va hizalash
     chekinishi (`tests_dizayn_tuzatish.BoshliqShkalasiTests.RUXSAT`). */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;

  /* shrift */
  /* Bitta oila — ommaviy sayt bilan bir xil (dizayn F1). Sarlavha
     va matn qalinlik bilan ajraladi, shrift bilan emas. */
  --f-display: "Mulish", "Segoe UI", system-ui, sans-serif;
  --f-body: "Mulish", "Segoe UI", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", "Consolas", monospace;

  /* Shrift shkalasi (dizayn auditi C1). Ilgari 22 xil `font-size`,
     `--t-h2` = `--t-lg` (bo'lim sarlavhasi qatordan ajralmasdi). Ilova
     CSS ida o'lcham faqat shu tokenlardan (`tests_dizayn_tuzatish`).
     `--t-micro` — O'QILADIGAN matn emas: belgi (▸), grafik o'qi,
     qo'ng'iroq sanog'i. O'qiladigan matn ≥ 11px (b18 `MATN_MIN`). */
  --t-micro: 10px;
  --t-xs: 11px;
  --t-sm: 12.5px;
  --t-ui: 13.5px;
  --t-md: 14.5px;
  --t-lg: 16px;
  --t-h2: 17px;
  --t-num: 21px;
  --t-h1: 25px;
  /* Bitta asosiy raqam (balans kartasi) — sahifadagi eng katta yozuv. */
  --t-display: 34px;

  --dur: .15s;
  /* Bosish sezgisi va ochilish (C5). */
  --dur-press: 120ms;
  --dur-pop: 200ms;
  --ease: cubic-bezier(.4, 0, .2, 1);
  /* Bosish va ochilish uchun (dizayn auditi C5): tez boshlanib,
     yumshoq tugaydi — standart egri chiziqdan «jonliroq». */
  --ease-out: cubic-bezier(.23, 1, .32, 1);
}

/* Tasdiqlash oynasi (`<dialog>`) orqasidagi parda. `::backdrop` eski
   brauzerlarda `:root` dan meros olmaydi — o'zgaruvchi to'g'ridan unga
   beriladi (2026-10-07, balansdagi tarif oynasi). */
::backdrop { --oyna-fon: rgba(7, 12, 14, .6); }

/* Qorong'i mavzu. Faqat tokenlar qayta ta'riflanadi — komponentlarga
   tegilmaydi. Shuning uchun ikkinchi mavzu deyarli tekin. */
:root[data-theme="dark"] {
  /* 2026-10-06 dan (dizayn F2) ranglar OMMAVIY SAYT palitrasi bilan BIR
     XIL — kirgan odam to'q saytdan to'q ilovaga o'tganda rang
     o'zgarmaydi. Ikki blok alohida (ommaviy blokda radius, shrift, nur
     ham bor), tengligini `tests_dizayn_tuzatish.ToqPalitraTests`
     kuzatadi. Ilgarigi to'q palitra (#14181A fon, #5EA9C4 urg'u) git
     tarixida. Soyalar o'ziniki — ilova zich, sayt soyasi og'ir. */
  --paper:         #070C0E;
  --surface:       #0E161A;
  --surface-sunk:  #0A1114;
  --surface-hover: #152126;
  --line:          #1C2A2F;
  --line-strong:   #2C3E44;
  --field-line:    #56707A;
  --ink:      #EEF4F3;
  --ink-soft: #A8B8BB;
  --ink-dim:  #7F9196;
  --accent:       #3CB8CB;
  --accent-hover: #63CAD8;
  --accent-soft:  #0F2B31;
  --accent-line:  #1F4F59;
  --nur-1: #3CB8CB;
  --nur-2: #14556B;

  /* Grafik ranglari to'q fonga qarab alohida tanlangan va tekshirilgan
     (yorug'ining aylantirilgani emas). */
  --chart-1: #4E9AC8;
  --chart-2: #CE7838;
  --chart-1-fill: #4E9AC826;
  --chart-2-fill: #CE783826;
  --chart-grid: #1C2A2F;
  --on-accent:    #03171B;
  --on-crit:      #1A0D0B;
  --ok:        #62BE8C;
  --ok-soft:   #133025;
  --warn:      #D3A055;
  --warn-soft: #33270F;
  --crit:      #E08072;
  --crit-soft: #38201C;
  --tg: #6BB4D6;
  --ig: #D584B0;
  --fb: #7C9BD1;
  --yt: #DC8378;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-md: 0 2px 10px rgba(0, 0, 0, .45);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .4);
  /* To'q fonda yorug' mavzudagi soya ko'rinmasdi (C3) — quyuqroq. */
  --shadow-pop: 0 18px 44px -18px rgba(0, 0, 0, .8);
  --shadow-bar: 0 -2px 12px rgba(0, 0, 0, .45);
}

/* Ommaviy sayt — DOIM to'q (2026-10-03, foydalanuvchi qarori: referens
   uslubi, lekin O'Z rangimiz). `base_public.html` va `auth_base.html`
   `<html data-sayt="ommaviy">` qo'yadi; ilova ichi bu blokni ko'rmaydi.
   Urg'u — o'sha ishkor ko'ki, to'q fonda o'qilishi uchun yorqinroq.
   Shrift — Mulish (referensniki, Google Fonts, kirill bilan); 2026-10-06
   dan ilova ichida ham (F1), ya'ni bu blokda qayta yozilmaydi. */
:root[data-sayt="ommaviy"] {
  --paper:         #070C0E;
  --surface:       #0E161A;
  --surface-sunk:  #0A1114;
  --surface-hover: #152126;
  --line:          #1C2A2F;
  --line-strong:   #2C3E44;
  --field-line:    #56707A;
  --ink:      #EEF4F3;
  --ink-soft: #A8B8BB;
  --ink-dim:  #7F9196;
  --accent:       #3CB8CB;
  --accent-hover: #63CAD8;
  --accent-soft:  #0F2B31;
  --accent-line:  #1F4F59;
  --on-accent:    #03171B;
  --on-crit:      #1A0D0B;
  /* Nur (gradient) — urg'u oilasidan ikki ton. */
  --nur-1: #3CB8CB;
  --nur-2: #14556B;
  --chart-1: #4E9AC8;
  --chart-2: #CE7838;
  --chart-1-fill: #4E9AC826;
  --chart-2-fill: #CE783826;
  --chart-grid: #1C2A2F;
  --ok:        #62BE8C;
  --ok-soft:   #133025;
  --warn:      #D3A055;
  --warn-soft: #33270F;
  --crit:      #E08072;
  --crit-soft: #38201C;
  --tg: #6BB4D6;
  --ig: #D584B0;
  --fb: #7C9BD1;
  --yt: #DC8378;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, .45);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-pop: 0 30px 70px -40px rgba(0, 0, 0, .85);
  --shadow-bar: 0 -2px 12px rgba(0, 0, 0, .45);
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
}
