//
// Tesla (tesla@1.0.0)
// Palette: tesla@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@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 {
    /// Tesla Red — Tesla's signature brand red — the wordmark, the "T" mark, and high-priority highlights.
    public static let teslaRed = Color(.sRGB, red: 0.9098, green: 0.1294, blue: 0.1529, opacity: 1.0000)
    /// Tesla Red Deep — Pressed / hover variant of Tesla Red for interactive states.
    public static let teslaRedDeep = Color(.sRGB, red: 0.7255, green: 0.1020, blue: 0.1216, opacity: 1.0000)
    /// Tesla Black — Canonical canvas — the brand's identity surface; Tesla.com hero modules and the in-car UI default to black.
    public static let teslaBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Tesla Near-Black — Surface color just above true black — used for the dark product chrome and elevated dark surfaces.
    public static let teslaNearBlack = Color(.sRGB, red: 0.0588, green: 0.0588, blue: 0.0627, opacity: 1.0000)
    /// Tesla Charcoal — Elevated surface — modal headers, card backgrounds on the dark canvas.
    public static let teslaCharcoal = Color(.sRGB, red: 0.1098, green: 0.1098, blue: 0.1216, opacity: 1.0000)
    /// Tesla Graphite — Border on dark surfaces; secondary surface on light.
    public static let teslaGraphite = Color(.sRGB, red: 0.2275, green: 0.2275, blue: 0.2392, opacity: 1.0000)
    /// Tesla Silver — Tertiary text and icon color on the dark canvas; secondary text on light.
    public static let teslaSilver = Color(.sRGB, red: 0.5255, green: 0.5255, blue: 0.5451, opacity: 1.0000)
    /// Tesla Pearl — Light surface neutral; secondary text on dark.
    public static let teslaPearl = Color(.sRGB, red: 0.8392, green: 0.8392, blue: 0.8510, opacity: 1.0000)
    /// Tesla White — Primary text on the dark canvas; canvas for light-mode marketing surfaces.
    public static let teslaWhite = 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.teslaWhite
    public static let surface = BrandSwatch.teslaPearl
    public static let surfaceElevated = BrandSwatch.teslaWhite
    public static let textPrimary = BrandSwatch.teslaBlack
    public static let textSecondary = BrandSwatch.teslaCharcoal
    public static let textTertiary = BrandSwatch.teslaSilver
    public static let primary = BrandSwatch.teslaRed
    public static let primaryHover = BrandSwatch.teslaRedDeep
    public static let accent = BrandSwatch.teslaRed
    public static let accentHover = BrandSwatch.teslaRedDeep
    public static let success = BrandSwatch.teslaSilver
    public static let warning = BrandSwatch.teslaRed
    public static let error = BrandSwatch.teslaRedDeep
    public static let border = BrandSwatch.teslaPearl
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.teslaBlack
    public static let surface = BrandSwatch.teslaNearBlack
    public static let surfaceElevated = BrandSwatch.teslaCharcoal
    public static let textPrimary = BrandSwatch.teslaWhite
    public static let textSecondary = BrandSwatch.teslaPearl
    public static let textTertiary = BrandSwatch.teslaSilver
    public static let primary = BrandSwatch.teslaRed
    public static let primaryHover = BrandSwatch.teslaRedDeep
    public static let accent = BrandSwatch.teslaRed
    public static let accentHover = BrandSwatch.teslaRedDeep
    public static let success = BrandSwatch.teslaWhite
    public static let warning = BrandSwatch.teslaRed
    public static let error = BrandSwatch.teslaRedDeep
    public static let border = BrandSwatch.teslaGraphite
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.teslaBlack
    public static let onIdentity = BrandSwatch.teslaRed
    public static let background = BrandSwatch.teslaBlack
    public static let surface = BrandSwatch.teslaNearBlack
    public static let surfaceElevated = BrandSwatch.teslaCharcoal
    public static let textPrimary = BrandSwatch.teslaWhite
    public static let textSecondary = BrandSwatch.teslaPearl
    public static let textTertiary = BrandSwatch.teslaSilver
    public static let primary = BrandSwatch.teslaRed
    public static let primaryHover = BrandSwatch.teslaRedDeep
    public static let accent = BrandSwatch.teslaRed
    public static let accentHover = BrandSwatch.teslaRedDeep
    public static let mark = BrandSwatch.teslaRed
    public static let success = BrandSwatch.teslaWhite
    public static let warning = BrandSwatch.teslaRed
    public static let error = BrandSwatch.teslaRedDeep
    public static let backgroundLight = BrandSwatch.teslaWhite
    public static let backgroundDark = BrandSwatch.teslaBlack
    public static let surfaceLight = BrandSwatch.teslaPearl
    public static let surfaceDark = BrandSwatch.teslaNearBlack
    public static let textPrimaryLight = BrandSwatch.teslaBlack
    public static let textPrimaryDark = BrandSwatch.teslaWhite
    public static let textSecondaryLight = BrandSwatch.teslaCharcoal
    public static let textTertiaryLight = BrandSwatch.teslaSilver
    public static let borderLight = BrandSwatch.teslaPearl
}

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