/* ==========================================================================
   KMeet — Theming engine (pola seed)
   Semua palet diturunkan dari --k-brand; tiap token boleh ditimpa seed opsional
   (--k-bg-seed / --k-accent-seed / --k-ink-seed / --k-secondary-seed).
   Adaptif light & dark via [data-bs-theme]. Fallback statis disertakan.
   ========================================================================== */
:root {
    --k-brand: #16337d;

    /* Fallback statis (dipakai browser tanpa OKLCH relative color).
       Seed dihormati apa adanya bila diset. */
    --k-accent: var(--k-accent-seed, #3b6cd6);
    --k-accent-soft: var(--k-accent-seed, #6a93e6);
    --k-secondary: var(--k-secondary-seed, #3b6cd6);
    --k-secondary-soft: var(--k-secondary-seed, #6a93e6);

    /* Isian tombol berteks. TERPISAH dari --k-accent karena tugasnya berbeda:
       accent boleh cerah karena dipakai untuk tautan, glow, dan tint; isian ini
       harus cukup gelap agar teks putih di atasnya terbaca. Diukur lintas rona —
       teal (h≈190) kasus terburuk — L 0.50/0.45 memberi 5.0:1 dan 6.1:1. */
    --k-accent-fill-soft: var(--k-accent-seed, #2f56ad);
    --k-accent-fill: var(--k-accent-seed, #26468f);

    --k-radius: 16px;
    --k-radius-lg: 22px;
    --k-radius-pill: 999px;
    --k-shadow-lg: 0 30px 70px -25px rgba(3, 10, 30, 0.7);
    --k-shadow-md: 0 12px 34px -14px rgba(3, 10, 30, 0.55);
    --k-font-display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
    --k-font-body: "Inter", system-ui, -apple-system, sans-serif;
    --k-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@supports (color: oklch(from #000 l c h)) {
    :root {
        --k-accent: oklch(from var(--k-accent-seed, var(--k-brand)) 0.62 0.19 h);
        --k-accent-soft: oklch(from var(--k-accent-seed, var(--k-brand)) 0.70 0.17 h);
        --k-secondary: oklch(from var(--k-secondary-seed, var(--k-brand)) 0.62 0.19 h);
        --k-secondary-soft: oklch(from var(--k-secondary-seed, var(--k-brand)) 0.70 0.17 h);
        /* Sama di terang & gelap: syarat kontrasnya sama, karena teksnya sama-sama putih. */
        --k-accent-fill-soft: oklch(from var(--k-accent-seed, var(--k-brand)) 0.50 0.17 h);
        --k-accent-fill: oklch(from var(--k-accent-seed, var(--k-brand)) 0.45 0.17 h);
    }
}

/* ---------- DARK (default untuk permukaan peserta) ---------------------- */
:root,
[data-bs-theme="dark"] {
    --k-bg-1: var(--k-bg-seed, #14233f);
    --k-bg-2: #0a1730;
    --k-ink: #f4f7ff;
    --k-ink-muted: rgba(226, 232, 245, 0.72);
    --k-ink-faint: rgba(226, 232, 245, 0.5);
    --k-surface: rgba(255, 255, 255, 0.055);
    --k-surface-2: rgba(255, 255, 255, 0.09);
    --k-hairline: rgba(255, 255, 255, 0.12);
    --k-field: rgba(255, 255, 255, 0.06);
    --k-on-accent: #ffffff;
    --k-glow: rgba(59, 108, 214, 0.22);
    --k-brand-glow: rgba(59, 108, 214, 0.28);
    /* Tint pucat untuk latar chip/ikon (bukan accent-soft yang jenuh). */
    --k-accent-tint: rgba(59, 108, 214, 0.2);
}

@supports (color: oklch(from #000 l c h)) {
    :root,
    [data-bs-theme="dark"] {
        --k-bg-1: var(--k-bg-seed, oklch(from var(--k-brand) 0.235 0.09 h));
        --k-bg-2: oklch(from var(--k-bg-1) calc(l - 0.09) c h);
        --k-ink: oklch(from var(--k-ink-seed, var(--k-brand)) 0.97 0.012 h);
        --k-ink-muted: color-mix(in oklab, var(--k-ink) 74%, transparent);
        --k-ink-faint: color-mix(in oklab, var(--k-ink) 50%, transparent);
        /* teks tombol auto-kontras: putih bila aksen gelap (<0.70 L), hitam bila terang */
        --k-on-accent: oklch(from var(--k-accent) clamp(0, (l - 0.70) * -1000, 1) 0 h);
        --k-glow: color-mix(in oklab, var(--k-accent) 30%, transparent);
        --k-brand-glow: color-mix(in oklab, var(--k-brand) 42%, transparent);
        --k-accent-tint: color-mix(in oklab, var(--k-accent) 20%, transparent);
    }
}

/* ---------- LIGHT ------------------------------------------------------- */
[data-bs-theme="light"] {
    --k-bg-1: var(--k-bg-seed, #f6f8fe);
    --k-bg-2: #e9eefb;
    --k-ink: #16233f;
    --k-ink-muted: rgba(22, 35, 63, 0.66);
    --k-ink-faint: rgba(22, 35, 63, 0.45);
    --k-surface: #ffffff;
    --k-surface-2: #f3f6fd;
    --k-hairline: rgba(22, 51, 125, 0.14);
    --k-field: #ffffff;
    --k-on-accent: #ffffff;
    --k-glow: rgba(59, 108, 214, 0.14);
    --k-brand-glow: rgba(59, 108, 214, 0.12);
    --k-accent-tint: rgba(59, 108, 214, 0.11);
    --k-shadow-lg: 0 24px 60px -28px rgba(22, 51, 125, 0.35);
    --k-shadow-md: 0 12px 30px -16px rgba(22, 51, 125, 0.28);
}

/* ---------- ATENSI (satu-satunya warna yang SENGAJA lepas dari brand) ----
   Dipakai untuk hal yang menuntut keputusan sekarang — mis. permintaan bergabung
   yang menunggu moderator. Semua token lain diturunkan dari --k-brand; sesuatu yang
   harus MENONJOL dari aksen brand jelas tidak boleh ikut diturunkan dari aksen brand
   itu, kalau tidak ia melebur persis seperti sebelumnya. Amber dipilih karena jauh
   dari rona brand mana pun yang realistis (biru→ungu→hijau) dan sudah lazim dibaca
   sebagai "perlu perhatian".
   Kontras --k-on-attn di atas --k-attn ≈ 8.5:1 — aman di kedua tema. */
:root {
    --k-attn: #f5a524;
    --k-on-attn: #241804;
    --k-attn-tint: rgba(245, 165, 36, 0.17);
    --k-attn-glow: rgba(245, 165, 36, 0.5);
}
[data-bs-theme="light"] {
    --k-attn-tint: rgba(245, 165, 36, 0.19);
}

@supports (color: oklch(from #000 l c h)) {
    [data-bs-theme="light"] {
        --k-bg-1: var(--k-bg-seed, oklch(from var(--k-brand) 0.985 0.007 h));
        --k-bg-2: oklch(from var(--k-bg-1) calc(l - 0.04) c h);
        --k-ink: oklch(from var(--k-ink-seed, var(--k-brand)) 0.27 0.05 h);
        --k-ink-muted: color-mix(in oklab, var(--k-ink) 66%, transparent);
        --k-ink-faint: color-mix(in oklab, var(--k-ink) 45%, transparent);
        --k-surface-2: color-mix(in oklab, var(--k-brand) 4%, white);
        --k-hairline: color-mix(in oklab, var(--k-brand) 15%, transparent);
        --k-accent: oklch(from var(--k-accent-seed, var(--k-brand)) 0.58 0.16 h);
        --k-accent-soft: oklch(from var(--k-accent-seed, var(--k-brand)) 0.66 0.15 h);
        --k-on-accent: oklch(from var(--k-accent) clamp(0, (l - 0.70) * -1000, 1) 0 h);
        --k-glow: color-mix(in oklab, var(--k-accent) 14%, transparent);
        --k-brand-glow: color-mix(in oklab, var(--k-brand) 12%, transparent);
        --k-accent-tint: color-mix(in oklab, var(--k-accent) 11%, transparent);
    }
}
