/* Hallmark · tokens · genre: editorial · theme: Grid (ultramarine)
 * Sistem terkunci untuk EPI Unhas. Lihat design.md.
 * Setiap warna dan font di app.css wajib lewat token di sini.
 * Sumbu diversifikasi — kertas: terang · display: grotesk-berat · aksen: dingin
 */

:root {
  /* ---------- Kertas dan tinta ---------- */
  /* Lembar dingin nyaris putih. Tidak pernah #fff, tidak pernah #000. */
  --color-paper:        oklch(99%   0.003 255);
  --color-paper-2:      oklch(97.2% 0.004 255);
  --color-paper-3:      oklch(94.5% 0.005 255);
  --color-ink:          oklch(16%   0.010 255);
  --color-ink-2:        oklch(38%   0.010 255);
  /* 53%, bukan 56%: pada 56% suara label di atas paper-2 hanya mencapai
     4,29:1 — di bawah ambang WCAG AA untuk teks kecil. */
  --color-muted:        oklch(53%   0.008 255);
  --color-rule:         oklch(88%   0.004 255);

  /* ---------- Tinta sinyal: satu saja ---------- */
  --color-accent:       oklch(45%   0.19  264);
  --color-accent-ink:   oklch(99%   0.003 255);
  --color-accent-wash:  oklch(95%   0.035 264);
  --color-accent-tekan: oklch(38%   0.17  264);
  --color-focus:        oklch(45%   0.19  264);

  /* ---------- Warna keadaan ----------
   * Amandemen tema, lihat design.md. Semantik, bukan hiasan.
   * Hanya boleh muncul di .tanda dan .bilah-pesan. */
  --color-belum:        oklch(50%   0.20  27);
  --color-belum-wash:   oklch(95.5% 0.032 27);
  --color-awas:         oklch(46%   0.11  68);
  --color-awas-wash:    oklch(95.5% 0.045 85);

  /* ---------- Tipografi: Archivo saja ---------- */
  --font-display: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-body:    "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --display-weight:   800;
  --entitas-weight:   700;
  --label-weight:     600;
  --tracking-display: -0.035em;
  --tracking-entitas: -0.02em;
  --tracking-label:    0.09em;

  --text-label:   0.6875rem;  /* 11px   suara label KAPITAL */
  --text-xs:      0.75rem;    /* 12px   meta, subteks */
  --text-sm:      0.8125rem;  /* 13px   sel tabel, tombol */
  --text-md:      0.875rem;   /* 14px   badan */
  --text-lg:      1rem;       /* 16px   badan lapang */
  --text-xl:      1.125rem;   /* 18px   judul pita */
  --text-figure:  clamp(1.75rem,  3.6vw, 2.75rem);   /* angka pita Ikhtisar */
  --text-entitas: clamp(1.375rem, 2.6vw, 1.875rem);  /* nama diri */
  --text-display: clamp(1.75rem,  3.4vw, 2.625rem);  /* label halaman */
  --text-pelat:   clamp(3.5rem,   9vw,   6.5rem);    /* kata-tanda di pelat */

  --lh-display: 1.02;
  --lh-body:    1.55;
  --lh-sel:     1.45;

  /* ---------- Ruang: skala 4 titik ----------
   * 4xs (2px) adalah satu-satunya langkah sub-4px: ruang cap keadaan dan
   * baris tabel terlipat, di mana 4px sudah terlalu longgar. */
  --space-4xs: 0.125rem;
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4.5rem;

  /* ---------- Bahasa pembatas ---------- */
  --rule-hair:   1px;   /* garis rambut: pemisah sel dan baris */
  --rule-ink:    2px;   /* garis tinta: pembuka pita */
  --rule-signal: 3px;   /* batang sinyal: penanda aktif */
  --radius:      0;     /* Grid tidak mengenal radius */

  /* ---------- Ukuran kerangka ---------- */
  --rel-lebar:   15.5rem;
  --shell-lebar: 76rem;
  --topbar-tinggi: 3.25rem;

  /* ---------- Gerak ---------- */
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --dur-short: 180ms;

  /* ---------- Lapis ---------- */
  --z-thead:  10;
  --z-topbar: 20;
  --z-tirai:  25;
  --z-rel:    30;
}
