pub mod merger;
pub mod variants;

// Re-export paste under the hidden name the variants! macro references.
// Callers invoke `islands_css::variants! { ... }` and the expansion uses
// `$crate::__paste!` — this re-export satisfies that path.
#[doc(hidden)]
pub use paste::paste as __paste;

/// Merge Tailwind class strings, with later classes winning on conflicts.
///
/// Backed by `tailwind_fuse` (v4 class-set aware). If v4 coverage proves
/// incomplete during Phase F, swap `merger::merge` for a hand-rolled
/// `phf::Map`-based conflict-group lookup without changing this public API.
pub fn cn(parts: &[&str]) -> String {
    merger::merge(parts)
}
