//
// Steam (steam@1.0.0)
// Palette: steam@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 {
    /// Storefront Darkest — Deepest near-black storefront ground; --gpStoreDarkestGrey. Used for footers, modal scrims, and the deepest layered panels.

    public static let storefrontDarkest = Color(.sRGB, red: 0.0000, green: 0.0588, blue: 0.0941, opacity: 1.0000)
    /// Storefront Darker — Primary page canvas — --gpStoreDarkerGrey. The Steam Store's dominant background tone; appears in the gradient end-stop of the store-background gradient.

    public static let storefrontDarker = Color(.sRGB, red: 0.1059, green: 0.1569, blue: 0.2196, opacity: 1.0000)
    /// Storefront Dark — Slate-blue surface — --gpStoreDarkGrey. Start of the store- background gradient and base of card backgrounds.

    public static let storefrontDark = Color(.sRGB, red: 0.1647, green: 0.2784, blue: 0.3686, opacity: 1.0000)
    /// Storefront Mid — Mid-tone slate — --gpStoreGrey. Used for borders and secondary chrome between dark panels.

    public static let storefrontMid = Color(.sRGB, red: 0.3059, green: 0.4118, blue: 0.4902, opacity: 1.0000)
    /// Storefront Light — Light slate — --gpStoreLightGrey. Quiet text on the dark canvas, divider tones.

    public static let storefrontLight = Color(.sRGB, red: 0.4863, green: 0.5569, blue: 0.6392, opacity: 1.0000)
    /// Storefront Lighter — Pale slate — --gpStoreLighterGrey. Tertiary text and quiet icon fills against the dark canvas.

    public static let storefrontLighter = Color(.sRGB, red: 0.6549, green: 0.7294, blue: 0.8000, opacity: 1.0000)
    /// Storefront Lightest — Near-white pale slate — --gpStoreLightestGrey. Primary body text color on the dark canvas.

    public static let storefrontLightest = Color(.sRGB, red: 0.8000, green: 0.8471, blue: 0.8902, opacity: 1.0000)
    /// Chrome Darkest — Application chrome darkest — --gpSystemDarkestGrey. Header bar background and elevated overlay panels.

    public static let chromeDarkest = Color(.sRGB, red: 0.0549, green: 0.0784, blue: 0.1059, opacity: 1.0000)
    /// Chrome Darker — Application chrome darker — --gpSystemDarkerGrey. Library chrome and elevated card backgrounds.

    public static let chromeDarker = Color(.sRGB, red: 0.1373, green: 0.1490, blue: 0.1804, opacity: 1.0000)
    /// Chrome Dark — Application chrome dark — --gpSystemDarkGrey. Hover surfaces and quiet borders inside the chrome.

    public static let chromeDark = Color(.sRGB, red: 0.2392, green: 0.2667, blue: 0.3137, opacity: 1.0000)
    /// Steam Blue — Primary interactive blue — --gpColor-Blue. The Steam Store's inline-link and primary-action accent on the dark canvas.

    public static let steamBlue = Color(.sRGB, red: 0.1020, green: 0.6235, blue: 1.0000, opacity: 1.0000)
    /// Steam Blue Hi — High-emphasis blue — --gpColor-BlueHi. Highlighted state for the Steam Blue interactive family.

    public static let steamBlueHi = Color(.sRGB, red: 0.0000, green: 0.7333, blue: 1.0000, opacity: 1.0000)
    /// Chalky Blue — Steam's signature chalky blue — --gpColor-ChalkyBlue. The brand's most identifiable on-screen color; used for headlines, mark surfaces, and store-page accent type.

    public static let chalkyBlue = Color(.sRGB, red: 0.4000, green: 0.7529, blue: 0.9569, opacity: 1.0000)
    /// Light Blue — Pale brand blue — --gpColor-LightBlue. Tertiary blue accent and quiet info surfaces.

    public static let lightBlue = Color(.sRGB, red: 0.7020, green: 0.8745, blue: 1.0000, opacity: 1.0000)
    /// Dusty Blue — Muted slate-blue — --gpColor-DustyBlue. Secondary surface accent and quiet button fills.

    public static let dustyBlue = Color(.sRGB, red: 0.2549, green: 0.4784, blue: 0.6078, opacity: 1.0000)
    /// Steam Green — Steam's signature CTA green — --gpColor-Green. The "Install / Add to Cart / Play" button family is built on this hue (with the brighter --gpColor-GreenHi as the gradient-top stop on those buttons).

    public static let steamGreen = Color(.sRGB, red: 0.3569, green: 0.6392, blue: 0.1686, opacity: 1.0000)
    /// Steam Green Hi — High-emphasis green — --gpColor-GreenHi. Top-stop of the green-CTA gradient.

    public static let steamGreenHi = Color(.sRGB, red: 0.3490, green: 0.7490, blue: 0.2510, opacity: 1.0000)
    /// Steam Green Lime — Lime CTA accent — observed as the top-stop of the legacy green-button gradient (linear-gradient #A4D007 → #536904). Used on the primary download / install affordances.

    public static let steamGreenLime = Color(.sRGB, red: 0.6431, green: 0.8157, blue: 0.0275, opacity: 1.0000)
    /// Steam Orange — Promotional orange — --gpColor-Orange. Sale stickers and discount badges.

    public static let steamOrange = Color(.sRGB, red: 0.8902, green: 0.3686, blue: 0.1098, opacity: 1.0000)
    /// Steam Orange Red — High-emphasis warm — --gpColor-RedHi. Hot-deal / time- limited badges.

    public static let steamOrangeRed = Color(.sRGB, red: 0.9333, green: 0.3373, blue: 0.2314, opacity: 1.0000)
    /// Steam Red — Error / removal red — --gpColor-Red. Destructive-action affordance.

    public static let steamRed = Color(.sRGB, red: 0.8510, green: 0.2549, blue: 0.1490, opacity: 1.0000)
    /// Steam Yellow — Yellow warning / featured tag — --gpColor-Yellow.

    public static let steamYellow = Color(.sRGB, red: 1.0000, green: 0.7843, blue: 0.1725, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.storefrontLightest
    public static let surface = BrandSwatch.storefrontLighter
    public static let surfaceElevated = BrandSwatch.storefrontLightest
    public static let textPrimary = BrandSwatch.storefrontDarker
    public static let textSecondary = BrandSwatch.storefrontDark
    public static let textTertiary = BrandSwatch.storefrontMid
    public static let primary = BrandSwatch.steamGreen
    public static let primaryHover = BrandSwatch.steamGreenHi
    public static let accent = BrandSwatch.steamBlue
    public static let accentHover = BrandSwatch.steamBlueHi
    public static let warning = BrandSwatch.steamYellow
    public static let warningHover = BrandSwatch.steamOrange
    public static let error = BrandSwatch.steamRed
    public static let success = BrandSwatch.steamGreen
    public static let border = BrandSwatch.storefrontLight
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.storefrontDarker
    public static let surface = BrandSwatch.storefrontDark
    public static let surfaceElevated = BrandSwatch.chromeDarker
    public static let textPrimary = BrandSwatch.storefrontLightest
    public static let textSecondary = BrandSwatch.storefrontLighter
    public static let textTertiary = BrandSwatch.storefrontLight
    public static let primary = BrandSwatch.steamGreen
    public static let primaryHover = BrandSwatch.steamGreenHi
    public static let accent = BrandSwatch.chalkyBlue
    public static let accentHover = BrandSwatch.steamBlueHi
    public static let warning = BrandSwatch.steamYellow
    public static let warningHover = BrandSwatch.steamOrange
    public static let error = BrandSwatch.steamRed
    public static let success = BrandSwatch.steamGreen
    public static let border = BrandSwatch.chromeDark
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.storefrontDarker
    public static let onIdentity = BrandSwatch.chalkyBlue
    public static let primary = BrandSwatch.steamGreen
    public static let primaryHover = BrandSwatch.steamGreenHi
    public static let accent = BrandSwatch.chalkyBlue
    public static let accentHover = BrandSwatch.steamBlueHi
    public static let mark = BrandSwatch.chalkyBlue
    public static let success = BrandSwatch.steamGreen
    public static let warning = BrandSwatch.steamYellow
    public static let error = BrandSwatch.steamRed
    public static let textPrimaryLight = BrandSwatch.storefrontDarker
    public static let textPrimaryDark = BrandSwatch.storefrontLightest
    public static let backgroundLight = BrandSwatch.storefrontLightest
    public static let backgroundDark = BrandSwatch.storefrontDarker
    public static let surfaceLight = BrandSwatch.storefrontLighter
    public static let surfaceDark = BrandSwatch.storefrontDark
    public static let textSecondaryLight = BrandSwatch.storefrontDark
    public static let textTertiaryLight = BrandSwatch.storefrontMid
    public static let borderLight = BrandSwatch.storefrontLight
}

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