//
// MongoDB (mongodb@1.0.0)
// Palette: mongodb@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 {
    /// White
    public static let white = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Black — MongoDB Black — a blue-black, NOT pure black; the brand canvas.
    public static let black = Color(.sRGB, red: 0.0000, green: 0.1176, blue: 0.1686, opacity: 1.0000)
    /// Gray Dark 4
    public static let grayDark4 = Color(.sRGB, red: 0.0667, green: 0.1529, blue: 0.2000, opacity: 1.0000)
    /// Gray Dark 3 — Dark surface in dark mode.
    public static let grayDark3 = Color(.sRGB, red: 0.1098, green: 0.1765, blue: 0.2196, opacity: 1.0000)
    /// Gray Dark 2
    public static let grayDark2 = Color(.sRGB, red: 0.2392, green: 0.3098, blue: 0.3451, opacity: 1.0000)
    /// Gray Dark 1 — Secondary text on light surfaces.
    public static let grayDark1 = Color(.sRGB, red: 0.3608, green: 0.4235, blue: 0.4588, opacity: 1.0000)
    /// Gray Base
    public static let grayBase = Color(.sRGB, red: 0.5333, green: 0.5765, blue: 0.5922, opacity: 1.0000)
    /// Gray Light 1 — Default border on light surfaces.
    public static let grayLight1 = Color(.sRGB, red: 0.7569, green: 0.7804, blue: 0.7765, opacity: 1.0000)
    /// Gray Light 2
    public static let grayLight2 = Color(.sRGB, red: 0.9098, green: 0.9294, blue: 0.9216, opacity: 1.0000)
    /// Gray Light 3 — Light surface — subtle elevation.
    public static let grayLight3 = Color(.sRGB, red: 0.9765, green: 0.9843, blue: 0.9804, opacity: 1.0000)
    /// Green Dark 3 — Deepest green ground.
    public static let greenDark3 = Color(.sRGB, red: 0.0078, green: 0.2039, blue: 0.1882, opacity: 1.0000)
    /// Green Dark 2 — Green hover/active variant on light.
    public static let greenDark2 = Color(.sRGB, red: 0.0000, green: 0.4078, blue: 0.2902, opacity: 1.0000)
    /// Green Dark 1 — Accessible interactive green on light surfaces (AA-compliant against white).
    public static let greenDark1 = Color(.sRGB, red: 0.0000, green: 0.6392, blue: 0.3608, opacity: 1.0000)
    /// Green Base — MongoDB Green — the brand-defining vivid signature; used as the primary interactive on dark surfaces and as the brand accent on hero surfaces.
    public static let greenBase = Color(.sRGB, red: 0.0000, green: 0.9294, blue: 0.3922, opacity: 1.0000)
    /// Green Light 1
    public static let greenLight1 = Color(.sRGB, red: 0.4431, green: 0.9647, blue: 0.7294, opacity: 1.0000)
    /// Green Light 2
    public static let greenLight2 = Color(.sRGB, red: 0.7529, green: 0.9804, blue: 0.9020, opacity: 1.0000)
    /// Green Light 3
    public static let greenLight3 = Color(.sRGB, red: 0.8902, green: 0.9882, blue: 0.9686, opacity: 1.0000)
    /// Blue Dark 3
    public static let blueDark3 = Color(.sRGB, red: 0.0471, green: 0.1490, blue: 0.3412, opacity: 1.0000)
    /// Blue Dark 2
    public static let blueDark2 = Color(.sRGB, red: 0.0314, green: 0.2353, blue: 0.5647, opacity: 1.0000)
    /// Blue Dark 1 — Info / link on light surfaces.
    public static let blueDark1 = Color(.sRGB, red: 0.0706, green: 0.3294, blue: 0.7176, opacity: 1.0000)
    /// Blue Base — Blue accent base.
    public static let blueBase = Color(.sRGB, red: 0.0039, green: 0.4196, blue: 0.9725, opacity: 1.0000)
    /// Blue Light 1
    public static let blueLight1 = Color(.sRGB, red: 0.0157, green: 0.5961, blue: 0.9255, opacity: 1.0000)
    /// Blue Light 2
    public static let blueLight2 = Color(.sRGB, red: 0.7647, green: 0.9059, blue: 0.9961, opacity: 1.0000)
    /// Blue Light 3
    public static let blueLight3 = Color(.sRGB, red: 0.8824, green: 0.9686, blue: 1.0000, opacity: 1.0000)
    /// Red Dark 3
    public static let redDark3 = Color(.sRGB, red: 0.3569, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Red Dark 2 — Error on light surfaces.
    public static let redDark2 = Color(.sRGB, red: 0.5922, green: 0.0235, blue: 0.0235, opacity: 1.0000)
    /// Red Base — Red accent base.
    public static let redBase = Color(.sRGB, red: 0.8588, green: 0.1882, blue: 0.1882, opacity: 1.0000)
    /// Red Light 1
    public static let redLight1 = Color(.sRGB, red: 1.0000, green: 0.4118, blue: 0.3765, opacity: 1.0000)
    /// Red Light 2
    public static let redLight2 = Color(.sRGB, red: 1.0000, green: 0.8039, blue: 0.7804, opacity: 1.0000)
    /// Red Light 3
    public static let redLight3 = Color(.sRGB, red: 1.0000, green: 0.9176, blue: 0.8980, opacity: 1.0000)
    /// Yellow Dark 3
    public static let yellowDark3 = Color(.sRGB, red: 0.2980, green: 0.1294, blue: 0.0000, opacity: 1.0000)
    /// Yellow Dark 2 — Warning on light surfaces.
    public static let yellowDark2 = Color(.sRGB, red: 0.5804, green: 0.3098, blue: 0.0039, opacity: 1.0000)
    /// Yellow Base
    public static let yellowBase = Color(.sRGB, red: 1.0000, green: 0.7529, blue: 0.0627, opacity: 1.0000)
    /// Yellow Light 2
    public static let yellowLight2 = Color(.sRGB, red: 1.0000, green: 0.9255, blue: 0.6196, opacity: 1.0000)
    /// Yellow Light 3
    public static let yellowLight3 = Color(.sRGB, red: 0.9961, green: 0.9686, blue: 0.8588, opacity: 1.0000)
    /// Purple Dark 3
    public static let purpleDark3 = Color(.sRGB, red: 0.1765, green: 0.0431, blue: 0.3490, opacity: 1.0000)
    /// Purple Dark 2
    public static let purpleDark2 = Color(.sRGB, red: 0.3686, green: 0.0471, blue: 0.6196, opacity: 1.0000)
    /// Purple Base
    public static let purpleBase = Color(.sRGB, red: 0.7059, green: 0.3529, blue: 0.9490, opacity: 1.0000)
    /// Purple Light 2
    public static let purpleLight2 = Color(.sRGB, red: 0.9451, green: 0.8314, blue: 0.9922, opacity: 1.0000)
    /// Purple Light 3
    public static let purpleLight3 = Color(.sRGB, red: 0.9765, green: 0.9216, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.white
    public static let surface = BrandSwatch.grayLight3
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.black
    public static let textSecondary = BrandSwatch.grayDark1
    public static let textTertiary = BrandSwatch.grayBase
    public static let primary = BrandSwatch.greenDark2
    public static let primaryHover = BrandSwatch.greenDark3
    public static let accent = BrandSwatch.greenBase
    public static let accentHover = BrandSwatch.greenDark1
    public static let warning = BrandSwatch.yellowDark2
    public static let warningHover = BrandSwatch.yellowDark3
    public static let error = BrandSwatch.redDark2
    public static let success = BrandSwatch.greenDark2
    public static let border = BrandSwatch.grayLight1
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.black
    public static let surface = BrandSwatch.grayDark3
    public static let surfaceElevated = BrandSwatch.grayDark2
    public static let textPrimary = BrandSwatch.grayLight2
    public static let textSecondary = BrandSwatch.grayLight1
    public static let textTertiary = BrandSwatch.grayBase
    public static let primary = BrandSwatch.greenBase
    public static let primaryHover = BrandSwatch.greenLight1
    public static let accent = BrandSwatch.greenBase
    public static let accentHover = BrandSwatch.greenLight1
    public static let warning = BrandSwatch.yellowBase
    public static let warningHover = BrandSwatch.yellowLight2
    public static let error = BrandSwatch.redLight1
    public static let success = BrandSwatch.greenBase
    public static let border = BrandSwatch.grayDark2
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.black
    public static let onIdentity = BrandSwatch.greenBase
    public static let primary = BrandSwatch.greenDark2
    public static let primaryHover = BrandSwatch.greenDark3
    public static let accent = BrandSwatch.greenBase
    public static let accentHover = BrandSwatch.greenDark1
    public static let mark = BrandSwatch.greenBase
    public static let success = BrandSwatch.greenDark2
    public static let warning = BrandSwatch.yellowDark2
    public static let error = BrandSwatch.redDark2
    public static let textPrimaryLight = BrandSwatch.black
    public static let textPrimaryDark = BrandSwatch.grayLight2
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.black
    public static let surfaceLight = BrandSwatch.grayLight3
    public static let surfaceDark = BrandSwatch.grayDark3
    public static let textSecondaryLight = BrandSwatch.grayDark1
    public static let textTertiaryLight = BrandSwatch.grayBase
    public static let borderLight = BrandSwatch.grayLight1
}

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