/* ==========================================================================
   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);
}

@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);
    }
}
