//
// IBM (ibm@1.0.0)
// Palette: carbon@1.0.0
// Fonts:   heading=ibm-plex-sans@1.0.0, body=ibm-plex-sans@1.0.0, serif=ibm-plex-serif@1.0.0, mono=ibm-plex-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 {
    /// Black
    public static let black = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// White
    public static let white = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Gray 10
    public static let gray10 = Color(.sRGB, red: 0.9569, green: 0.9569, blue: 0.9569, opacity: 1.0000)
    /// Gray 20
    public static let gray20 = Color(.sRGB, red: 0.8784, green: 0.8784, blue: 0.8784, opacity: 1.0000)
    /// Gray 30
    public static let gray30 = Color(.sRGB, red: 0.7765, green: 0.7765, blue: 0.7765, opacity: 1.0000)
    /// Gray 40
    public static let gray40 = Color(.sRGB, red: 0.6588, green: 0.6588, blue: 0.6588, opacity: 1.0000)
    /// Gray 50
    public static let gray50 = Color(.sRGB, red: 0.5529, green: 0.5529, blue: 0.5529, opacity: 1.0000)
    /// Gray 60
    public static let gray60 = Color(.sRGB, red: 0.4353, green: 0.4353, blue: 0.4353, opacity: 1.0000)
    /// Gray 70
    public static let gray70 = Color(.sRGB, red: 0.3216, green: 0.3216, blue: 0.3216, opacity: 1.0000)
    /// Gray 80
    public static let gray80 = Color(.sRGB, red: 0.2235, green: 0.2235, blue: 0.2235, opacity: 1.0000)
    /// Gray 90 — g90 theme canvas.
    public static let gray90 = Color(.sRGB, red: 0.1490, green: 0.1490, blue: 0.1490, opacity: 1.0000)
    /// Gray 100 — g100 theme canvas.
    public static let gray100 = Color(.sRGB, red: 0.0863, green: 0.0863, blue: 0.0863, opacity: 1.0000)
    /// Cool Gray 10
    public static let coolGray10 = Color(.sRGB, red: 0.9490, green: 0.9569, blue: 0.9725, opacity: 1.0000)
    /// Cool Gray 20
    public static let coolGray20 = Color(.sRGB, red: 0.8667, green: 0.8824, blue: 0.9020, opacity: 1.0000)
    /// Cool Gray 30
    public static let coolGray30 = Color(.sRGB, red: 0.7569, green: 0.7804, blue: 0.8039, opacity: 1.0000)
    /// Cool Gray 40
    public static let coolGray40 = Color(.sRGB, red: 0.6353, green: 0.6627, blue: 0.6902, opacity: 1.0000)
    /// Cool Gray 50
    public static let coolGray50 = Color(.sRGB, red: 0.5294, green: 0.5529, blue: 0.5882, opacity: 1.0000)
    /// Cool Gray 60
    public static let coolGray60 = Color(.sRGB, red: 0.4118, green: 0.4392, blue: 0.4667, opacity: 1.0000)
    /// Cool Gray 70
    public static let coolGray70 = Color(.sRGB, red: 0.3020, green: 0.3255, blue: 0.3451, opacity: 1.0000)
    /// Cool Gray 80
    public static let coolGray80 = Color(.sRGB, red: 0.2039, green: 0.2275, blue: 0.2471, opacity: 1.0000)
    /// Cool Gray 90
    public static let coolGray90 = Color(.sRGB, red: 0.1294, green: 0.1529, blue: 0.1647, opacity: 1.0000)
    /// Cool Gray 100
    public static let coolGray100 = Color(.sRGB, red: 0.0706, green: 0.0863, blue: 0.0980, opacity: 1.0000)
    /// Warm Gray 10
    public static let warmGray10 = Color(.sRGB, red: 0.9686, green: 0.9529, blue: 0.9490, opacity: 1.0000)
    /// Warm Gray 20
    public static let warmGray20 = Color(.sRGB, red: 0.8980, green: 0.8784, blue: 0.8745, opacity: 1.0000)
    /// Warm Gray 30
    public static let warmGray30 = Color(.sRGB, red: 0.7922, green: 0.7725, blue: 0.7686, opacity: 1.0000)
    /// Warm Gray 40
    public static let warmGray40 = Color(.sRGB, red: 0.6784, green: 0.6588, blue: 0.6588, opacity: 1.0000)
    /// Warm Gray 50
    public static let warmGray50 = Color(.sRGB, red: 0.5608, green: 0.5451, blue: 0.5451, opacity: 1.0000)
    /// Warm Gray 60
    public static let warmGray60 = Color(.sRGB, red: 0.4471, green: 0.4314, blue: 0.4314, opacity: 1.0000)
    /// Warm Gray 70
    public static let warmGray70 = Color(.sRGB, red: 0.3373, green: 0.3176, blue: 0.3176, opacity: 1.0000)
    /// Warm Gray 80
    public static let warmGray80 = Color(.sRGB, red: 0.2353, green: 0.2196, blue: 0.2196, opacity: 1.0000)
    /// Warm Gray 90
    public static let warmGray90 = Color(.sRGB, red: 0.1529, green: 0.1451, blue: 0.1451, opacity: 1.0000)
    /// Warm Gray 100
    public static let warmGray100 = Color(.sRGB, red: 0.0902, green: 0.0784, blue: 0.0784, opacity: 1.0000)
    /// Blue 10
    public static let blue10 = Color(.sRGB, red: 0.9294, green: 0.9608, blue: 1.0000, opacity: 1.0000)
    /// Blue 20
    public static let blue20 = Color(.sRGB, red: 0.8157, green: 0.8863, blue: 1.0000, opacity: 1.0000)
    /// Blue 30
    public static let blue30 = Color(.sRGB, red: 0.6510, green: 0.7843, blue: 1.0000, opacity: 1.0000)
    /// Blue 40
    public static let blue40 = Color(.sRGB, red: 0.4706, green: 0.6627, blue: 1.0000, opacity: 1.0000)
    /// Blue 50
    public static let blue50 = Color(.sRGB, red: 0.2706, green: 0.5373, blue: 1.0000, opacity: 1.0000)
    /// Blue 60 — Carbon primary interactive color.
    public static let blue60 = Color(.sRGB, red: 0.0588, green: 0.3843, blue: 0.9961, opacity: 1.0000)
    /// Blue 70
    public static let blue70 = Color(.sRGB, red: 0.0000, green: 0.2627, blue: 0.8078, opacity: 1.0000)
    /// Blue 80
    public static let blue80 = Color(.sRGB, red: 0.0000, green: 0.1765, blue: 0.6118, opacity: 1.0000)
    /// Blue 90
    public static let blue90 = Color(.sRGB, red: 0.0000, green: 0.1137, blue: 0.4235, opacity: 1.0000)
    /// Blue 100
    public static let blue100 = Color(.sRGB, red: 0.0000, green: 0.0667, blue: 0.2549, opacity: 1.0000)
    /// Red 10
    public static let red10 = Color(.sRGB, red: 1.0000, green: 0.9451, blue: 0.9451, opacity: 1.0000)
    /// Red 20
    public static let red20 = Color(.sRGB, red: 1.0000, green: 0.8431, blue: 0.8510, opacity: 1.0000)
    /// Red 30
    public static let red30 = Color(.sRGB, red: 1.0000, green: 0.7020, blue: 0.7216, opacity: 1.0000)
    /// Red 40
    public static let red40 = Color(.sRGB, red: 1.0000, green: 0.5137, blue: 0.5373, opacity: 1.0000)
    /// Red 50
    public static let red50 = Color(.sRGB, red: 0.9804, green: 0.3020, blue: 0.3373, opacity: 1.0000)
    /// Red 60 — Danger / error.
    public static let red60 = Color(.sRGB, red: 0.8549, green: 0.1176, blue: 0.1569, opacity: 1.0000)
    /// Red 70
    public static let red70 = Color(.sRGB, red: 0.6353, green: 0.0980, blue: 0.1216, opacity: 1.0000)
    /// Red 80
    public static let red80 = Color(.sRGB, red: 0.4588, green: 0.0549, blue: 0.0745, opacity: 1.0000)
    /// Red 90
    public static let red90 = Color(.sRGB, red: 0.3216, green: 0.0157, blue: 0.0314, opacity: 1.0000)
    /// Red 100
    public static let red100 = Color(.sRGB, red: 0.1765, green: 0.0275, blue: 0.0353, opacity: 1.0000)
    /// Magenta 10
    public static let magenta10 = Color(.sRGB, red: 1.0000, green: 0.9412, blue: 0.9686, opacity: 1.0000)
    /// Magenta 20
    public static let magenta20 = Color(.sRGB, red: 1.0000, green: 0.8392, blue: 0.9098, opacity: 1.0000)
    /// Magenta 30
    public static let magenta30 = Color(.sRGB, red: 1.0000, green: 0.6863, blue: 0.8235, opacity: 1.0000)
    /// Magenta 40
    public static let magenta40 = Color(.sRGB, red: 1.0000, green: 0.4941, blue: 0.7137, opacity: 1.0000)
    /// Magenta 50
    public static let magenta50 = Color(.sRGB, red: 0.9333, green: 0.3255, blue: 0.5882, opacity: 1.0000)
    /// Magenta 60
    public static let magenta60 = Color(.sRGB, red: 0.8157, green: 0.1490, blue: 0.4392, opacity: 1.0000)
    /// Magenta 70
    public static let magenta70 = Color(.sRGB, red: 0.6235, green: 0.0941, blue: 0.3255, opacity: 1.0000)
    /// Magenta 80
    public static let magenta80 = Color(.sRGB, red: 0.4549, green: 0.0353, blue: 0.2157, opacity: 1.0000)
    /// Magenta 90
    public static let magenta90 = Color(.sRGB, red: 0.3176, green: 0.0078, blue: 0.1412, opacity: 1.0000)
    /// Magenta 100
    public static let magenta100 = Color(.sRGB, red: 0.1647, green: 0.0392, blue: 0.0941, opacity: 1.0000)
    /// Purple 10
    public static let purple10 = Color(.sRGB, red: 0.9647, green: 0.9490, blue: 1.0000, opacity: 1.0000)
    /// Purple 20
    public static let purple20 = Color(.sRGB, red: 0.9098, green: 0.8549, blue: 1.0000, opacity: 1.0000)
    /// Purple 30
    public static let purple30 = Color(.sRGB, red: 0.8314, green: 0.7333, blue: 1.0000, opacity: 1.0000)
    /// Purple 40
    public static let purple40 = Color(.sRGB, red: 0.7451, green: 0.5843, blue: 1.0000, opacity: 1.0000)
    /// Purple 50
    public static let purple50 = Color(.sRGB, red: 0.6471, green: 0.4314, blue: 1.0000, opacity: 1.0000)
    /// Purple 60
    public static let purple60 = Color(.sRGB, red: 0.5412, green: 0.2471, blue: 0.9882, opacity: 1.0000)
    /// Purple 70
    public static let purple70 = Color(.sRGB, red: 0.4118, green: 0.1608, blue: 0.7686, opacity: 1.0000)
    /// Purple 80
    public static let purple80 = Color(.sRGB, red: 0.2863, green: 0.1137, blue: 0.5451, opacity: 1.0000)
    /// Purple 90
    public static let purple90 = Color(.sRGB, red: 0.1922, green: 0.0745, blue: 0.3686, opacity: 1.0000)
    /// Purple 100
    public static let purple100 = Color(.sRGB, red: 0.1098, green: 0.0588, blue: 0.1882, opacity: 1.0000)
    /// Cyan 10
    public static let cyan10 = Color(.sRGB, red: 0.8980, green: 0.9647, blue: 1.0000, opacity: 1.0000)
    /// Cyan 20
    public static let cyan20 = Color(.sRGB, red: 0.7294, green: 0.9020, blue: 1.0000, opacity: 1.0000)
    /// Cyan 30
    public static let cyan30 = Color(.sRGB, red: 0.5098, green: 0.8118, blue: 1.0000, opacity: 1.0000)
    /// Cyan 40
    public static let cyan40 = Color(.sRGB, red: 0.2000, green: 0.6941, blue: 1.0000, opacity: 1.0000)
    /// Cyan 50
    public static let cyan50 = Color(.sRGB, red: 0.0667, green: 0.5725, blue: 0.9098, opacity: 1.0000)
    /// Cyan 60
    public static let cyan60 = Color(.sRGB, red: 0.0000, green: 0.4471, blue: 0.7647, opacity: 1.0000)
    /// Cyan 70
    public static let cyan70 = Color(.sRGB, red: 0.0000, green: 0.3255, blue: 0.6039, opacity: 1.0000)
    /// Cyan 80
    public static let cyan80 = Color(.sRGB, red: 0.0000, green: 0.2275, blue: 0.4275, opacity: 1.0000)
    /// Cyan 90
    public static let cyan90 = Color(.sRGB, red: 0.0039, green: 0.1529, blue: 0.2863, opacity: 1.0000)
    /// Cyan 100
    public static let cyan100 = Color(.sRGB, red: 0.0235, green: 0.0902, blue: 0.1529, opacity: 1.0000)
    /// Teal 10
    public static let teal10 = Color(.sRGB, red: 0.8510, green: 0.9843, blue: 0.9843, opacity: 1.0000)
    /// Teal 20
    public static let teal20 = Color(.sRGB, red: 0.6196, green: 0.9412, blue: 0.9412, opacity: 1.0000)
    /// Teal 30
    public static let teal30 = Color(.sRGB, red: 0.2392, green: 0.8588, blue: 0.8510, opacity: 1.0000)
    /// Teal 40
    public static let teal40 = Color(.sRGB, red: 0.0314, green: 0.7412, blue: 0.7294, opacity: 1.0000)
    /// Teal 50
    public static let teal50 = Color(.sRGB, red: 0.0000, green: 0.6157, blue: 0.6039, opacity: 1.0000)
    /// Teal 60
    public static let teal60 = Color(.sRGB, red: 0.0000, green: 0.4902, blue: 0.4745, opacity: 1.0000)
    /// Teal 70
    public static let teal70 = Color(.sRGB, red: 0.0000, green: 0.3647, blue: 0.3647, opacity: 1.0000)
    /// Teal 80
    public static let teal80 = Color(.sRGB, red: 0.0000, green: 0.2549, blue: 0.2667, opacity: 1.0000)
    /// Teal 90
    public static let teal90 = Color(.sRGB, red: 0.0078, green: 0.1686, blue: 0.1882, opacity: 1.0000)
    /// Teal 100
    public static let teal100 = Color(.sRGB, red: 0.0314, green: 0.1020, blue: 0.1098, opacity: 1.0000)
    /// Green 10
    public static let green10 = Color(.sRGB, red: 0.8706, green: 0.9843, blue: 0.9020, opacity: 1.0000)
    /// Green 20
    public static let green20 = Color(.sRGB, red: 0.6549, green: 0.9412, blue: 0.7294, opacity: 1.0000)
    /// Green 30
    public static let green30 = Color(.sRGB, red: 0.4353, green: 0.8627, blue: 0.5490, opacity: 1.0000)
    /// Green 40
    public static let green40 = Color(.sRGB, red: 0.2588, green: 0.7451, blue: 0.3961, opacity: 1.0000)
    /// Green 50 — Success.
    public static let green50 = Color(.sRGB, red: 0.1412, green: 0.6314, blue: 0.2824, opacity: 1.0000)
    /// Green 60
    public static let green60 = Color(.sRGB, red: 0.0980, green: 0.5020, blue: 0.2196, opacity: 1.0000)
    /// Green 70
    public static let green70 = Color(.sRGB, red: 0.0549, green: 0.3765, blue: 0.1529, opacity: 1.0000)
    /// Green 80
    public static let green80 = Color(.sRGB, red: 0.0157, green: 0.2627, blue: 0.0902, opacity: 1.0000)
    /// Green 90
    public static let green90 = Color(.sRGB, red: 0.0078, green: 0.1765, blue: 0.0510, opacity: 1.0000)
    /// Green 100
    public static let green100 = Color(.sRGB, red: 0.0275, green: 0.0980, blue: 0.0314, opacity: 1.0000)
    /// Yellow 10
    public static let yellow10 = Color(.sRGB, red: 0.9882, green: 0.9569, blue: 0.8392, opacity: 1.0000)
    /// Yellow 20
    public static let yellow20 = Color(.sRGB, red: 0.9922, green: 0.8627, blue: 0.4118, opacity: 1.0000)
    /// Yellow 30 — Warning.
    public static let yellow30 = Color(.sRGB, red: 0.9451, green: 0.7608, blue: 0.1059, opacity: 1.0000)
    /// Yellow 40
    public static let yellow40 = Color(.sRGB, red: 0.8235, green: 0.6314, blue: 0.0235, opacity: 1.0000)
    /// Yellow 50
    public static let yellow50 = Color(.sRGB, red: 0.6980, green: 0.5255, blue: 0.0000, opacity: 1.0000)
    /// Yellow 60
    public static let yellow60 = Color(.sRGB, red: 0.5569, green: 0.4157, blue: 0.0000, opacity: 1.0000)
    /// Yellow 70
    public static let yellow70 = Color(.sRGB, red: 0.4078, green: 0.3059, blue: 0.0000, opacity: 1.0000)
    /// Yellow 80
    public static let yellow80 = Color(.sRGB, red: 0.2824, green: 0.2157, blue: 0.0000, opacity: 1.0000)
    /// Yellow 90
    public static let yellow90 = Color(.sRGB, red: 0.1882, green: 0.1412, blue: 0.0000, opacity: 1.0000)
    /// Yellow 100
    public static let yellow100 = Color(.sRGB, red: 0.1098, green: 0.0824, blue: 0.0000, opacity: 1.0000)
    /// Orange 10
    public static let orange10 = Color(.sRGB, red: 1.0000, green: 0.9490, blue: 0.9098, opacity: 1.0000)
    /// Orange 20
    public static let orange20 = Color(.sRGB, red: 1.0000, green: 0.8510, blue: 0.7451, opacity: 1.0000)
    /// Orange 30
    public static let orange30 = Color(.sRGB, red: 1.0000, green: 0.7176, blue: 0.5176, opacity: 1.0000)
    /// Orange 40
    public static let orange40 = Color(.sRGB, red: 1.0000, green: 0.5137, blue: 0.1686, opacity: 1.0000)
    /// Orange 50
    public static let orange50 = Color(.sRGB, red: 0.9216, green: 0.3843, blue: 0.0000, opacity: 1.0000)
    /// Orange 60
    public static let orange60 = Color(.sRGB, red: 0.7294, green: 0.3059, blue: 0.0000, opacity: 1.0000)
    /// Orange 70
    public static let orange70 = Color(.sRGB, red: 0.5412, green: 0.2196, blue: 0.0000, opacity: 1.0000)
    /// Orange 80
    public static let orange80 = Color(.sRGB, red: 0.3686, green: 0.1608, blue: 0.0000, opacity: 1.0000)
    /// Orange 90
    public static let orange90 = Color(.sRGB, red: 0.2431, green: 0.1020, blue: 0.0000, opacity: 1.0000)
    /// Orange 100
    public static let orange100 = Color(.sRGB, red: 0.1373, green: 0.0627, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.white
    public static let surface = BrandSwatch.gray10
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.gray100
    public static let textSecondary = BrandSwatch.gray70
    public static let textTertiary = BrandSwatch.gray60
    public static let primary = BrandSwatch.blue60
    public static let primaryHover = BrandSwatch.blue70
    public static let accent = BrandSwatch.purple60
    public static let accentHover = BrandSwatch.purple70
    public static let warning = BrandSwatch.yellow30
    public static let warningHover = BrandSwatch.yellow40
    public static let error = BrandSwatch.red60
    public static let success = BrandSwatch.green50
    public static let border = BrandSwatch.gray30
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.gray100
    public static let surface = BrandSwatch.gray90
    public static let surfaceElevated = BrandSwatch.gray80
    public static let textPrimary = BrandSwatch.gray10
    public static let textSecondary = BrandSwatch.gray30
    public static let textTertiary = BrandSwatch.gray40
    public static let primary = BrandSwatch.blue60
    public static let primaryHover = BrandSwatch.blue50
    public static let accent = BrandSwatch.purple50
    public static let accentHover = BrandSwatch.purple40
    public static let warning = BrandSwatch.yellow30
    public static let warningHover = BrandSwatch.yellow20
    public static let error = BrandSwatch.red50
    public static let success = BrandSwatch.green40
    public static let border = BrandSwatch.gray80
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.white
    public static let onIdentity = BrandSwatch.gray100
    public static let primary = BrandSwatch.blue60
    public static let primaryHover = BrandSwatch.blue70
    public static let accent = BrandSwatch.blue60
    public static let accentHover = BrandSwatch.blue70
    public static let mark = BrandSwatch.blue60
    public static let success = BrandSwatch.green50
    public static let warning = BrandSwatch.yellow30
    public static let error = BrandSwatch.red60
    public static let textPrimaryLight = BrandSwatch.gray100
    public static let textPrimaryDark = BrandSwatch.gray10
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.gray100
    public static let surfaceLight = BrandSwatch.gray10
    public static let surfaceDark = BrandSwatch.gray90
    public static let textSecondaryLight = BrandSwatch.gray70
    public static let textTertiaryLight = BrandSwatch.gray60
    public static let borderLight = BrandSwatch.gray30
}

/// Typography family names by brand role.
public enum BrandFont {
    /// IBM Plex Sans (ibm-plex-sans@1.0.0)
    public static let heading = "IBM Plex Sans"
    /// IBM Plex Sans (ibm-plex-sans@1.0.0)
    public static let body = "IBM Plex Sans"
    /// IBM Plex Serif (ibm-plex-serif@1.0.0)
    public static let serif = "IBM Plex Serif"
    /// IBM Plex Mono (ibm-plex-mono@1.0.0)
    public static let mono = "IBM Plex Mono"
}
