/*
 * Token desain situs publik (STANDAR-KODE §3.5).
 *
 * Pembagiannya disengaja dan mengikat:
 *   - WARNA milik klien  -> nilai di sini hanya cadangan; nilai sebenarnya
 *                            disuntikkan runtime dari tabel `pengaturan`, dan
 *                            dapat ditimpa lagi per kategori
 *   - SPASI & RITME milik produk -> tetap, tidak dapat diubah klien
 *
 * Klien boleh mengganti identitas visual, tidak boleh mengganti ritme tata
 * letak. Itu yang menjaga produk tetap satu produk.
 *
 * Berkas ini satu dari dua yang boleh memuat warna literal — lihat daftar
 * BOLEH_WARNA di tools/periksa-white-label.mjs.
 */

:root {
  /* --- Warna: cadangan bila `pengaturan` belum terbaca ------------------- */
  /* Nilai bawaan diambil dari :root desktop.css tema KoranWP, agar tampilan
     sebelum hidrasi tidak berkedip berganti warna. */
  --idm-warna-primer: #0e7daf;
  --idm-warna-latar-header: #222222;
  --idm-warna-latar-nav: #272727;
  --idm-warna-latar-nav-aktif: #333333;
  --idm-warna-latar-aktif: #ff9800;
  --idm-warna-latar-footer: #222222;

  /* --- Warna netral: milik produk, bukan klien --------------------------- */
  --idm-warna-teks: #1a1a1a;
  --idm-warna-teks-lemah: #6b6b6b;
  --idm-warna-garis: #e5e5e5;
  --idm-warna-latar: #ffffff;
  --idm-warna-latar-lemah: #f5f5f5;

  /* Teks di atas permukaan gelap — header, navigasi, kaki. Warnanya sendiri
     milik klien dan bisa apa saja, tapi ketiganya selalu gelap di tema ini,
     sehingga teksnya perlu pasangan terang yang tetap. Dipisah dari
     --idm-warna-teks karena keduanya menjawab pertanyaan berbeda: yang itu
     "teks di atas kertas", yang ini "teks di atas bilah". */
  /* Permukaan yang memang harus gelap (kotak intisari di mode gelap, panel
     tema). Nilai sebenarnya dihitung TokenWarna dari warna header klien;
     yang di sini berlaku selama klien belum menyetelnya. Tanpa cadangan,
     var() gagal dan latarnya jatuh ke warna kertas — teks putih di atas
     kertas putih. */
  --idm-warna-permukaan-gelap: #292929;

  /* Warna aksen DI ATAS permukaan gelap. Warna primer milik klien dan boleh
     apa saja; primer gelap di atas permukaan gelap tidak terbaca sama sekali.
     TokenWarna menghitung penggantinya lewat rasio kontras. */
  --idm-warna-primer-atas-gelap: #ffffff;

  --idm-warna-teks-atas-gelap: #ffffff;
  --idm-warna-teks-atas-gelap-lemah: rgb(255 255 255 / 65%);

  /* Cadangan untuk bilah berwarna klien (header, navigasi, footer).
     TokenWarna menghitung penggantinya dari warna latar tiap bilah; nilai di
     sini yang berlaku selama klien belum menyetel warnanya, dan sengaja sama
     dengan perilaku tema: bilahnya gelap, teksnya putih. */
  /* Warna SEMANTIK, bukan warna merek: ia menyatakan ada yang salah, dan
     artinya sama di setiap pemasangan. Klien tidak menyetelnya, dan tidak
     seharusnya — pesan galat berwarna merek hilang justru saat paling
     perlu terlihat. */
  --idm-warna-galat: #b3261e;
  --idm-warna-galat-lemah: #b3261e14;

  --idm-warna-teks-bilah: #ffffff;
  --idm-warna-teks-bilah-lemah: rgb(255 255 255 / 65%);

  /* Dipakai di dalam filter brightness(0) invert(N) untuk ikon yang berupa
     data URI SVG dan tidak dapat diwarnai color. 1 = putih, 0 = hitam. */
  --idm-ikon-bilah-invert: 1;

  /* --- Spasi ------------------------------------------------------------- */
  --idm-spasi-1: 4px;
  --idm-spasi-2: 8px;
  --idm-spasi-3: 12px;
  --idm-spasi-4: 16px;
  --idm-spasi-5: 24px;
  --idm-spasi-6: 32px;
  --idm-spasi-7: 48px;

  /* --- Tata letak -------------------------------------------------------- */
  /* Lebar wadah, kolom konten, dan sidebar TIDAK ada di sini: ketiganya sudah
     ditetapkan tema.css (1088px = 758px konten + 330px sidebar, keduanya
     berpadding 15px). Menyalinnya jadi token berarti dua sumber kebenaran,
     dan angka yang sempat tertulis di sini — 1170px dan 300px — tidak satu pun
     cocok dengan tema. Token yang salah lebih berbahaya daripada tidak ada
     token: ia terbaca seperti kebenaran. */

  /* --- Tipografi --------------------------------------------------------- */
  /*
    Tumpukan huruf antarmuka sistem pembaca.

    Berdiri sebagai tokennya sendiri, bukan langsung menjadi nilai
    --idm-font-dasar, karena ia dipakai DUA kali: sebagai bawaan di baris
    berikutnya, dan sebagai cadangan di dalam var() yang dipancarkan
    TokenFont. Tanpa cadangan itu, satu huruf yang gagal dimuat membuat
    font-family menjadi tidak sah — dan font-family yang tidak sah tidak
    jatuh ke sans-serif melainkan ke huruf bawaan peramban, yang secara
    historis serif. Seluruh situs berubah menjadi Times, tanpa satu galat.
  */
  --idm-font-sistem: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --idm-font-dasar: var(--idm-font-sistem);
  --idm-ukuran-dasar: 16px;
  --idm-tinggi-baris: 1.6;

  /* --- Lapisan ----------------------------------------------------------- */
  /* Skala bernama, supaya tidak ada lagi z-index: 9999 (STANDAR-KODE §5). */
  --idm-lapis-dasar: 1;
  --idm-lapis-lengket: 10;
  --idm-lapis-header: 20;
  --idm-lapis-hamparan: 30;
  --idm-lapis-popup: 40;
}
