//
// Lyft (lyft@1.0.0)
// Palette: lyft@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 {
    /// Lyft Pink — Lyft's signature brand magenta — the wordmark, mark, and primary CTA color.
    public static let lyftPink = Color(.sRGB, red: 1.0000, green: 0.0000, blue: 0.7490, opacity: 1.0000)
    /// Lyft Pink Pressed — Pressed / hover variant of Lyft Pink for interactive states.
    public static let lyftPinkPressed = Color(.sRGB, red: 0.8392, green: 0.0000, blue: 0.6196, opacity: 1.0000)
    /// Lyft Pink (Legacy) — Pre-2019 Lyft magenta — retained for historical references and continuity.
    public static let lyftPinkLegacy = Color(.sRGB, red: 0.9176, green: 0.0431, blue: 0.5490, opacity: 1.0000)
    /// Lyft Ink — Deep near-black ink — primary text on light surfaces; canvas in dark mode.
    public static let lyftInk = Color(.sRGB, red: 0.0667, green: 0.0667, blue: 0.1216, opacity: 1.0000)
    /// Lyft Charcoal — Elevated dark surface; secondary ink on light.
    public static let lyftCharcoal = Color(.sRGB, red: 0.1725, green: 0.1725, blue: 0.2118, opacity: 1.0000)
    /// Lyft Graphite — Tertiary text and icon color.
    public static let lyftGraphite = Color(.sRGB, red: 0.4314, green: 0.4314, blue: 0.4706, opacity: 1.0000)
    /// Lyft Mist — Border and quiet divider on light canvas.
    public static let lyftMist = Color(.sRGB, red: 0.8941, green: 0.8941, blue: 0.9098, opacity: 1.0000)
    /// Lyft Fog — Subtle elevated surface on white.
    public static let lyftFog = Color(.sRGB, red: 0.9569, green: 0.9569, blue: 0.9647, opacity: 1.0000)
    /// Lyft White — Primary canvas — Lyft consumer surfaces default to white.
    public static let lyftWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Lyft Success — Functional success — trip confirmation, completion states.
    public static let lyftSuccess = Color(.sRGB, red: 0.0549, green: 0.5490, blue: 0.3529, opacity: 1.0000)
    /// Lyft Warning — Functional warning — surge, advisory states.
    public static let lyftWarning = Color(.sRGB, red: 0.9490, green: 0.6627, blue: 0.2314, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.lyftWhite
    public static let surface = BrandSwatch.lyftFog
    public static let surfaceElevated = BrandSwatch.lyftWhite
    public static let textPrimary = BrandSwatch.lyftInk
    public static let textSecondary = BrandSwatch.lyftCharcoal
    public static let textTertiary = BrandSwatch.lyftGraphite
    public static let primary = BrandSwatch.lyftPink
    public static let primaryHover = BrandSwatch.lyftPinkPressed
    public static let accent = BrandSwatch.lyftPink
    public static let accentHover = BrandSwatch.lyftPinkPressed
    public static let success = BrandSwatch.lyftSuccess
    public static let warning = BrandSwatch.lyftWarning
    public static let error = BrandSwatch.lyftPinkPressed
    public static let border = BrandSwatch.lyftMist
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.lyftInk
    public static let surface = BrandSwatch.lyftCharcoal
    public static let surfaceElevated = BrandSwatch.lyftGraphite
    public static let textPrimary = BrandSwatch.lyftWhite
    public static let textSecondary = BrandSwatch.lyftMist
    public static let textTertiary = BrandSwatch.lyftGraphite
    public static let primary = BrandSwatch.lyftPink
    public static let primaryHover = BrandSwatch.lyftPinkPressed
    public static let accent = BrandSwatch.lyftPink
    public static let accentHover = BrandSwatch.lyftPinkPressed
    public static let success = BrandSwatch.lyftSuccess
    public static let warning = BrandSwatch.lyftWarning
    public static let error = BrandSwatch.lyftPinkPressed
    public static let border = BrandSwatch.lyftCharcoal
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.lyftPink
    public static let onIdentity = BrandSwatch.lyftWhite
    public static let primary = BrandSwatch.lyftPink
    public static let primaryHover = BrandSwatch.lyftPinkPressed
    public static let accent = BrandSwatch.lyftPink
    public static let accentHover = BrandSwatch.lyftPinkPressed
    public static let mark = BrandSwatch.lyftPink
    public static let success = BrandSwatch.lyftSuccess
    public static let warning = BrandSwatch.lyftWarning
    public static let error = BrandSwatch.lyftPinkPressed
    public static let backgroundLight = BrandSwatch.lyftWhite
    public static let backgroundDark = BrandSwatch.lyftInk
    public static let surfaceLight = BrandSwatch.lyftFog
    public static let surfaceDark = BrandSwatch.lyftCharcoal
    public static let textPrimaryLight = BrandSwatch.lyftInk
    public static let textPrimaryDark = BrandSwatch.lyftWhite
    public static let textSecondaryLight = BrandSwatch.lyftCharcoal
    public static let textTertiaryLight = BrandSwatch.lyftGraphite
    public static let borderLight = BrandSwatch.lyftMist
}

/// 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"
}
