//
// Mistral AI (mistral@1.0.0)
// Palette: mistral@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@1.0.0, mono=geist-mono@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 {
    /// Matt Deep — Pure black — deepest accent on dark canvas.
    public static let mattDeep = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Matt Black — Primary dark canvas — Mistral's matt black surface.
    public static let mattBlack = Color(.sRGB, red: 0.1216, green: 0.1216, blue: 0.1216, opacity: 1.0000)
    /// Matt Black Tint — Elevated surface on dark canvas.
    public static let mattBlackTint = Color(.sRGB, red: 0.2392, green: 0.2392, blue: 0.2392, opacity: 1.0000)
    /// Beige Light — Light canvas — warm cream paper tone.
    public static let beigeLight = Color(.sRGB, red: 1.0000, green: 0.9686, blue: 0.8784, opacity: 1.0000)
    /// Beige Deep — Elevated surface on beige canvas.
    public static let beigeDeep = Color(.sRGB, red: 0.9882, green: 0.9373, blue: 0.7765, opacity: 1.0000)
    /// Beige Deeper — Border / quiet divider on beige canvas.
    public static let beigeDeeper = Color(.sRGB, red: 0.9020, green: 0.8235, blue: 0.6275, opacity: 1.0000)
    /// Sunshine 50 — Palest sunshine — surface tint.
    public static let sunshine50 = Color(.sRGB, red: 1.0000, green: 0.9412, blue: 0.7647, opacity: 1.0000)
    /// Sunshine 100 — Pale sunshine yellow.
    public static let sunshine100 = Color(.sRGB, red: 1.0000, green: 0.8863, blue: 0.5843, opacity: 1.0000)
    /// Sunshine 200 — Soft yellow.
    public static let sunshine200 = Color(.sRGB, red: 1.0000, green: 0.8667, blue: 0.5412, opacity: 1.0000)
    /// Sunshine 300 — Warm amber-yellow.
    public static let sunshine300 = Color(.sRGB, red: 1.0000, green: 0.8157, blue: 0.4157, opacity: 1.0000)
    /// Sunshine 400 — Marigold.
    public static let sunshine400 = Color(.sRGB, red: 1.0000, green: 0.7686, blue: 0.3216, opacity: 1.0000)
    /// Sunshine 500 — Mid sunshine — pumpkin gold.
    public static let sunshine500 = Color(.sRGB, red: 1.0000, green: 0.7216, blue: 0.2431, opacity: 1.0000)
    /// Sunshine 600 — Deep marigold.
    public static let sunshine600 = Color(.sRGB, red: 1.0000, green: 0.6784, blue: 0.1804, opacity: 1.0000)
    /// Sunshine 700 — Bright orange.
    public static let sunshine700 = Color(.sRGB, red: 1.0000, green: 0.6314, blue: 0.0627, opacity: 1.0000)
    /// Sunshine 750 — Pressed-orange variant for hover state.
    public static let sunshine750 = Color(.sRGB, red: 0.9490, green: 0.5725, blue: 0.0431, opacity: 1.0000)
    /// Sunshine 800 — Pumpkin.
    public static let sunshine800 = Color(.sRGB, red: 1.0000, green: 0.5843, blue: 0.0000, opacity: 1.0000)
    /// Sunshine 900 — Burnt orange.
    public static let sunshine900 = Color(.sRGB, red: 1.0000, green: 0.5412, blue: 0.0000, opacity: 1.0000)
    /// Sunshine 950 — Deepest sunshine — ember orange.
    public static let sunshine950 = Color(.sRGB, red: 1.0000, green: 0.4980, blue: 0.0000, opacity: 1.0000)
    /// Mistral Orange — Mistral's signature warm orange — the primary brand accent.
    public static let mistralOrange = Color(.sRGB, red: 0.9804, green: 0.3137, blue: 0.0588, opacity: 1.0000)
    /// Mistral Orange Bright — Brighter pumpkin-orange variant.
    public static let mistralOrangeBright = Color(.sRGB, red: 1.0000, green: 0.4275, blue: 0.0196, opacity: 1.0000)
    /// Mistral Red — Deepest ember-red — endpoint of the Sunshine arc.
    public static let mistralRed = Color(.sRGB, red: 0.8824, green: 0.0196, blue: 0.0000, opacity: 1.0000)
    /// Footer Band Yellow — Footer rainbow stripe — high-yellow stop.
    public static let footerYellow = Color(.sRGB, red: 1.0000, green: 0.8471, blue: 0.0000, opacity: 1.0000)
    /// Footer Band Marigold — Footer rainbow stripe — marigold stop.
    public static let footerMarigold = Color(.sRGB, red: 1.0000, green: 0.6863, blue: 0.0000, opacity: 1.0000)
    /// Gray 100 — Subtle elevated surface on beige canvas.
    public static let gray100 = Color(.sRGB, red: 0.9529, green: 0.9569, blue: 0.9647, opacity: 1.0000)
    /// Gray 300 — Borders / quiet dividers on beige canvas.
    public static let gray300 = Color(.sRGB, red: 0.8196, green: 0.8353, blue: 0.8627, opacity: 1.0000)
    /// Gray 500 — Tertiary text.
    public static let gray500 = Color(.sRGB, red: 0.4157, green: 0.4471, blue: 0.5098, opacity: 1.0000)
    /// Gray 700 — Secondary text on beige canvas.
    public static let gray700 = Color(.sRGB, red: 0.2118, green: 0.2549, blue: 0.3255, opacity: 1.0000)
    /// Gray 900 — Deep ink for text on beige canvas.
    public static let gray900 = Color(.sRGB, red: 0.0627, green: 0.0941, blue: 0.1569, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.beigeLight
    public static let surface = BrandSwatch.beigeDeep
    public static let surfaceElevated = BrandSwatch.beigeLight
    public static let textPrimary = BrandSwatch.mattBlack
    public static let textSecondary = BrandSwatch.gray700
    public static let textTertiary = BrandSwatch.gray500
    public static let primary = BrandSwatch.mistralOrange
    public static let primaryHover = BrandSwatch.sunshine750
    public static let accent = BrandSwatch.mistralOrange
    public static let accentHover = BrandSwatch.sunshine750
    public static let warning = BrandSwatch.sunshine700
    public static let warningHover = BrandSwatch.sunshine800
    public static let error = BrandSwatch.mistralRed
    public static let success = BrandSwatch.sunshine500
    public static let border = BrandSwatch.beigeDeeper
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.mattBlack
    public static let surface = BrandSwatch.mattBlackTint
    public static let surfaceElevated = BrandSwatch.mattBlackTint
    public static let textPrimary = BrandSwatch.beigeLight
    public static let textSecondary = BrandSwatch.beigeDeep
    public static let textTertiary = BrandSwatch.gray300
    public static let primary = BrandSwatch.mistralOrange
    public static let primaryHover = BrandSwatch.sunshine700
    public static let accent = BrandSwatch.mistralOrange
    public static let accentHover = BrandSwatch.sunshine700
    public static let warning = BrandSwatch.sunshine500
    public static let warningHover = BrandSwatch.sunshine600
    public static let error = BrandSwatch.mistralRed
    public static let success = BrandSwatch.sunshine400
    public static let border = BrandSwatch.mattBlackTint
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.mattBlack
    public static let onIdentity = BrandSwatch.beigeLight
    public static let primary = BrandSwatch.mistralOrange
    public static let primaryHover = BrandSwatch.sunshine750
    public static let accent = BrandSwatch.mistralOrange
    public static let accentHover = BrandSwatch.sunshine700
    public static let mark = BrandSwatch.mistralOrange
    public static let success = BrandSwatch.sunshine400
    public static let warning = BrandSwatch.sunshine500
    public static let error = BrandSwatch.mistralRed
    public static let textPrimaryLight = BrandSwatch.mattBlack
    public static let textPrimaryDark = BrandSwatch.beigeLight
    public static let backgroundLight = BrandSwatch.beigeLight
    public static let backgroundDark = BrandSwatch.mattBlack
    public static let surfaceLight = BrandSwatch.beigeDeep
    public static let surfaceDark = BrandSwatch.mattBlackTint
    public static let textSecondaryLight = BrandSwatch.gray700
    public static let textTertiaryLight = BrandSwatch.gray500
    public static let borderLight = BrandSwatch.beigeDeeper
    public static let borderDark = BrandSwatch.mattBlackTint
}

/// 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"
    /// Geist Mono (geist-mono@1.0.0)
    public static let mono = "Geist Mono"
}
