//
// JM Lexus (jm-lexus@1.0.0)
// Palette: jm-lexus@1.0.0
// Fonts:   heading=helvetica-neue@1.0.0, body=helvetica-neue@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 {
    /// Lexus Black — Primary brand mark color — wordmark and signage.
    public static let lexusBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Lexus Graphite — Deep near-black for headlines on light surfaces.
    public static let lexusGraphite = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1020, opacity: 1.0000)
    /// Lexus Ash — Body text and primary content color.
    public static let lexusAsh = Color(.sRGB, red: 0.2392, green: 0.2392, blue: 0.2392, opacity: 1.0000)
    /// Lexus Silver — Secondary text — references brushed-chrome accents.
    public static let lexusSilver = Color(.sRGB, red: 0.4196, green: 0.4196, blue: 0.4196, opacity: 1.0000)
    /// Lexus Platinum — Tertiary text and divider lines.
    public static let lexusPlatinum = Color(.sRGB, red: 0.7098, green: 0.7098, blue: 0.7098, opacity: 1.0000)
    /// Lexus Pearl — Soft surface tint — quiet panels.
    public static let lexusPearl = Color(.sRGB, red: 0.9490, green: 0.9490, blue: 0.9490, opacity: 1.0000)
    /// Lexus White — Page background and reversed wordmark fill.
    public static let lexusWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Lexus Chrome — Mid-gray used for the chrome-finish brand accents.
    public static let lexusChrome = Color(.sRGB, red: 0.5569, green: 0.5569, blue: 0.5569, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.lexusWhite
    public static let surface = BrandSwatch.lexusPearl
    public static let surfaceElevated = BrandSwatch.lexusWhite
    public static let textPrimary = BrandSwatch.lexusGraphite
    public static let textSecondary = BrandSwatch.lexusAsh
    public static let textTertiary = BrandSwatch.lexusSilver
    public static let primary = BrandSwatch.lexusBlack
    public static let primaryHover = BrandSwatch.lexusGraphite
    public static let accent = BrandSwatch.lexusChrome
    public static let success = BrandSwatch.lexusSilver
    public static let warning = BrandSwatch.lexusAsh
    public static let error = BrandSwatch.lexusBlack
    public static let info = BrandSwatch.lexusSilver
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.lexusBlack
    public static let surface = BrandSwatch.lexusGraphite
    public static let surfaceElevated = BrandSwatch.lexusAsh
    public static let textPrimary = BrandSwatch.lexusWhite
    public static let textSecondary = BrandSwatch.lexusPearl
    public static let textTertiary = BrandSwatch.lexusPlatinum
    public static let primary = BrandSwatch.lexusWhite
    public static let primaryHover = BrandSwatch.lexusPearl
    public static let accent = BrandSwatch.lexusChrome
    public static let success = BrandSwatch.lexusPlatinum
    public static let warning = BrandSwatch.lexusPearl
    public static let error = BrandSwatch.lexusWhite
    public static let info = BrandSwatch.lexusPlatinum
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.lexusBlack
    public static let onIdentity = BrandSwatch.lexusWhite
    public static let primary = BrandSwatch.lexusBlack
    public static let primaryHover = BrandSwatch.lexusGraphite
    public static let accent = BrandSwatch.lexusChrome
    public static let mark = BrandSwatch.lexusBlack
    public static let textPrimaryLight = BrandSwatch.lexusGraphite
    public static let textPrimaryDark = BrandSwatch.lexusWhite
    public static let backgroundLight = BrandSwatch.lexusWhite
    public static let backgroundDark = BrandSwatch.lexusBlack
    public static let surfaceLight = BrandSwatch.lexusPearl
    public static let surfaceDark = BrandSwatch.lexusGraphite
    public static let borderLight = BrandSwatch.lexusPlatinum
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Helvetica Neue (helvetica-neue@1.0.0)
    public static let heading = "Helvetica Neue"
    /// Helvetica Neue (helvetica-neue@1.0.0)
    public static let body = "Helvetica Neue"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
