//
// World Omni Financial (world-omni@1.0.0)
// Palette: world-omni@1.0.0
// Fonts:   heading=raleway@1.0.0, body=lato@1.0.0, mono=jetbrainsmono-nerdfont@1.0.0
// Generated by brand-atoms converter — do not edit by hand.
//

import SwiftUI

/// Source-of-truth color swatches from the referenced palette.
public enum BrandSwatch {
    /// World Omni Teal (primary) — Primary brand teal — the canonical signal color from worldomni.com.
    public static let woTeal = Color(.sRGB, red: 0.0000, green: 0.5137, blue: 0.5647, opacity: 1.0000)
    /// World Omni Teal Deep — Interpolated darker teal for hover/pressed states.
    public static let woTealDeep = Color(.sRGB, red: 0.0000, green: 0.4000, blue: 0.4392, opacity: 1.0000)
    /// World Omni Teal Light — Interpolated soft teal for surfaces.
    public static let woTealLight = Color(.sRGB, red: 0.6588, green: 0.8392, blue: 0.8549, opacity: 1.0000)
    /// World Omni Onyx — Deep blue-black for headlines and body text.
    public static let woOnyx = Color(.sRGB, red: 0.1020, green: 0.1216, blue: 0.1373, opacity: 1.0000)
    /// World Omni Slate — Secondary text.
    public static let woSlate = Color(.sRGB, red: 0.3098, green: 0.3529, blue: 0.3882, opacity: 1.0000)
    /// World Omni Steel — Tertiary text and quiet labels.
    public static let woSteel = Color(.sRGB, red: 0.5412, green: 0.5804, blue: 0.6157, opacity: 1.0000)
    /// World Omni Fog — Subtle background tint.
    public static let woFog = Color(.sRGB, red: 0.9098, green: 0.9294, blue: 0.9412, opacity: 1.0000)
    /// World Omni White — Page background.
    public static let woWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.woWhite
    public static let surface = BrandSwatch.woFog
    public static let surfaceElevated = BrandSwatch.woTealLight
    public static let textPrimary = BrandSwatch.woOnyx
    public static let textSecondary = BrandSwatch.woSlate
    public static let textTertiary = BrandSwatch.woSteel
    public static let primary = BrandSwatch.woTeal
    public static let primaryHover = BrandSwatch.woTealDeep
    public static let accent = BrandSwatch.woTeal
    public static let success = BrandSwatch.woTealDeep
    public static let warning = BrandSwatch.woTeal
    public static let error = BrandSwatch.woOnyx
    public static let info = BrandSwatch.woTeal
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.woOnyx
    public static let surface = BrandSwatch.woSlate
    public static let surfaceElevated = BrandSwatch.woSteel
    public static let textPrimary = BrandSwatch.woWhite
    public static let textSecondary = BrandSwatch.woFog
    public static let textTertiary = BrandSwatch.woTealLight
    public static let primary = BrandSwatch.woTealLight
    public static let primaryHover = BrandSwatch.woTeal
    public static let accent = BrandSwatch.woTealLight
    public static let success = BrandSwatch.woTealLight
    public static let warning = BrandSwatch.woTealLight
    public static let error = BrandSwatch.woFog
    public static let info = BrandSwatch.woTealLight
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.woWhite
    public static let onIdentity = BrandSwatch.woOnyx
    public static let primary = BrandSwatch.woTeal
    public static let primaryHover = BrandSwatch.woTealDeep
    public static let accent = BrandSwatch.woTeal
    public static let mark = BrandSwatch.woOnyx
    public static let textPrimaryLight = BrandSwatch.woOnyx
    public static let textPrimaryDark = BrandSwatch.woWhite
    public static let backgroundLight = BrandSwatch.woWhite
    public static let backgroundDark = BrandSwatch.woOnyx
    public static let surfaceLight = BrandSwatch.woFog
    public static let surfaceDark = BrandSwatch.woSlate
    public static let borderLight = BrandSwatch.woTealLight
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Raleway (raleway@1.0.0)
    public static let heading = "Raleway"
    /// Lato (lato@1.0.0)
    public static let body = "Lato"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
