//
// Xbox (xbox@1.0.0)
// Palette: xbox@1.0.0
// Fonts:   heading=segoe-ui@1.0.0, body=segoe-ui@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 {
    /// Xbox Green — The iconic Xbox Green — --brandColorPrimary, --green, --success, --primary, and --xboxProgressA. The single most identifiable element of the Xbox brand.

    public static let xboxGreen = Color(.sRGB, red: 0.0627, green: 0.4863, blue: 0.0627, opacity: 1.0000)
    /// Xbox Green Hover — Pressed / hover variant — --brandColorPrimaryHover, --colorBrandBackgroundHover, --colorNeutralBackground1Hover.

    public static let xboxGreenHover = Color(.sRGB, red: 0.0000, green: 0.4667, blue: 0.2196, opacity: 1.0000)
    /// Xbox Green Alt — Darker brand variant — --brandColorPrimaryAlt. Used for borders and quiet panel accents in the brand-green family.

    public static let xboxGreenAlt = Color(.sRGB, red: 0.0157, green: 0.3059, blue: 0.1647, opacity: 1.0000)
    /// Xbox Progress B — Bright achievement / progress green — --xboxProgressB. Mid-stop of the progress-bar gradient.

    public static let xboxProgressB = Color(.sRGB, red: 0.3961, green: 0.7882, blue: 0.0784, opacity: 1.0000)
    /// Xbox Progress C — Mid achievement / progress green — --xboxProgressC.

    public static let xboxProgressC = Color(.sRGB, red: 0.2667, green: 0.6902, blue: 0.1098, opacity: 1.0000)
    /// Gradient Start — Hero gradient start — --entryGradientStart. Deepest stop of the documented Xbox-green hero gradient.

    public static let gradientStart = Color(.sRGB, red: 0.0392, green: 0.3098, blue: 0.0392, opacity: 1.0000)
    /// Gradient Mid — Hero gradient mid — --entryGradientMid (same value as brand primary).

    public static let gradientMid = Color(.sRGB, red: 0.0627, green: 0.4863, blue: 0.0627, opacity: 1.0000)
    /// Gradient End — Hero gradient end — --entryGradientEnd.

    public static let gradientEnd = Color(.sRGB, red: 0.0196, green: 0.2941, blue: 0.0863, opacity: 1.0000)
    /// Lime Stripe — Bright lime accent — observed on the Xbox Game Pass promotional CTAs and the "AVAILABLE WITH GAME PASS" affordances. Inverts to a #054B16 (gradient-end) text fill on the live stripe.

    public static let limeStripe = Color(.sRGB, red: 0.6078, green: 0.9412, blue: 0.0431, opacity: 1.0000)
    /// Ink Hero — Primary dark hero background — --pd-hero-bg. Used for the product-detail-page hero modules.

    public static let inkHero = Color(.sRGB, red: 0.0902, green: 0.0902, blue: 0.0902, opacity: 1.0000)
    /// Ink Header — Header chrome dark — observed as the navigation bar computed backgroundColor (rgb(32, 31, 36)).

    public static let inkHeader = Color(.sRGB, red: 0.1255, green: 0.1216, blue: 0.1412, opacity: 1.0000)
    /// Ink Card — Elevated dark card surface — observed on product card backgrounds inside hero modules.

    public static let inkCard = Color(.sRGB, red: 0.2000, green: 0.2000, blue: 0.2000, opacity: 1.0000)
    /// Graphite Text — Primary body text — --text-color (#242424). Used on the light marketing surfaces.

    public static let graphiteText = Color(.sRGB, red: 0.1412, green: 0.1412, blue: 0.1412, opacity: 1.0000)
    /// Graphite Dark — Deep neutral — --gray-dark.

    public static let graphiteDark = Color(.sRGB, red: 0.1843, green: 0.1843, blue: 0.1843, opacity: 1.0000)
    /// Graphite — Mid neutral — --gray.

    public static let graphite = Color(.sRGB, red: 0.3137, green: 0.3137, blue: 0.3137, opacity: 1.0000)
    /// Paper — Primary light canvas — --white.

    public static let paper = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Paper Surface — Light elevated surface — --background-color and --color- neutral-background3.

    public static let paperSurface = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// Paper Divider — Quiet divider — --info (#D2D2D2). Used for borders and divider lines on light chrome.

    public static let paperDivider = Color(.sRGB, red: 0.8235, green: 0.8235, blue: 0.8235, opacity: 1.0000)
    /// Status Warning — Warning amber — --warning, --yellow.

    public static let statusWarning = Color(.sRGB, red: 1.0000, green: 0.7255, blue: 0.0000, opacity: 1.0000)
    /// Status Danger — Danger red — --danger, --red.

    public static let statusDanger = Color(.sRGB, red: 0.8627, green: 0.2078, blue: 0.2706, opacity: 1.0000)
    /// Status Info Blue — Microsoft information blue — --blue. Inherited from the Microsoft UHF layer; appears in inline links inside the Xbox chrome.

    public static let statusInfoBlue = Color(.sRGB, red: 0.0000, green: 0.4039, blue: 0.7216, opacity: 1.0000)
    /// Status Teal — Microsoft teal — --teal. UHF status accent.

    public static let statusTeal = Color(.sRGB, red: 0.0000, green: 0.5216, blue: 0.4588, opacity: 1.0000)
    /// Game Pass Pink — Game Pass promotional CTA fill — observed on the live "JOIN GAME PASS" button. Not a brand primary; reserved for promotional subscription affordances.

    public static let gamepassPink = Color(.sRGB, red: 1.0000, green: 0.0000, blue: 0.5333, opacity: 1.0000)
    /// Hero Alert — Hero-banner alert background — --pd-hero-alert-bg. Reserved for time-sensitive launch banners.

    public static let heroAlert = Color(.sRGB, red: 1.0000, green: 0.8471, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.paper
    public static let surface = BrandSwatch.paperSurface
    public static let surfaceElevated = BrandSwatch.paper
    public static let textPrimary = BrandSwatch.graphiteText
    public static let textSecondary = BrandSwatch.graphiteDark
    public static let textTertiary = BrandSwatch.graphite
    public static let primary = BrandSwatch.xboxGreen
    public static let primaryHover = BrandSwatch.xboxGreenHover
    public static let accent = BrandSwatch.xboxGreen
    public static let accentHover = BrandSwatch.xboxGreenHover
    public static let warning = BrandSwatch.statusWarning
    public static let warningHover = BrandSwatch.heroAlert
    public static let error = BrandSwatch.statusDanger
    public static let success = BrandSwatch.xboxGreen
    public static let border = BrandSwatch.paperDivider
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.inkHero
    public static let surface = BrandSwatch.inkHeader
    public static let surfaceElevated = BrandSwatch.inkCard
    public static let textPrimary = BrandSwatch.paper
    public static let textSecondary = BrandSwatch.paperDivider
    public static let textTertiary = BrandSwatch.graphite
    public static let primary = BrandSwatch.xboxGreen
    public static let primaryHover = BrandSwatch.limeStripe
    public static let accent = BrandSwatch.limeStripe
    public static let accentHover = BrandSwatch.xboxProgressB
    public static let warning = BrandSwatch.statusWarning
    public static let warningHover = BrandSwatch.heroAlert
    public static let error = BrandSwatch.statusDanger
    public static let success = BrandSwatch.xboxProgressB
    public static let border = BrandSwatch.graphiteDark
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.inkHero
    public static let onIdentity = BrandSwatch.xboxGreen
    public static let primary = BrandSwatch.xboxGreen
    public static let primaryHover = BrandSwatch.xboxGreenHover
    public static let accent = BrandSwatch.limeStripe
    public static let accentHover = BrandSwatch.xboxProgressB
    public static let mark = BrandSwatch.xboxGreen
    public static let success = BrandSwatch.xboxGreen
    public static let warning = BrandSwatch.statusWarning
    public static let error = BrandSwatch.statusDanger
    public static let textPrimaryLight = BrandSwatch.graphiteText
    public static let textPrimaryDark = BrandSwatch.paper
    public static let backgroundLight = BrandSwatch.paper
    public static let backgroundDark = BrandSwatch.inkHero
    public static let surfaceLight = BrandSwatch.paperSurface
    public static let surfaceDark = BrandSwatch.inkHeader
    public static let textSecondaryLight = BrandSwatch.graphiteDark
    public static let textTertiaryLight = BrandSwatch.graphite
    public static let borderLight = BrandSwatch.paperDivider
}

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