//
// Cloudflare (cloudflare@1.0.0)
// Palette: cloudflare@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 {
    /// Cloudflare Orange — Primary brand color. The signature Cloudflare orange used on the cloud-and-line corporate mark and across primary CTAs.

    public static let cloudflareOrange = Color(.sRGB, red: 0.9529, green: 0.5020, blue: 0.1255, opacity: 1.0000)
    /// Marketing Orange — Lighter orange used in marketing materials and the dual-orange gradient that anchors many Cloudflare hero compositions.

    public static let marketingOrange = Color(.sRGB, red: 0.9843, green: 0.6784, blue: 0.2549, opacity: 1.0000)
    /// Cloudflare Black — Near-black used for primary text and dark surfaces.
    public static let cloudflareBlack = Color(.sRGB, red: 0.1333, green: 0.1333, blue: 0.1333, opacity: 1.0000)
    /// Cloudflare Dark Gray — Secondary dark surface; wordmark fill alternative.
    public static let cloudflareDarkGray = Color(.sRGB, red: 0.2510, green: 0.2510, blue: 0.2549, opacity: 1.0000)
    /// Cloudflare Gray — Mid gray used for secondary text and inactive UI.
    public static let cloudflareGray = Color(.sRGB, red: 0.5020, green: 0.5020, blue: 0.5020, opacity: 1.0000)
    /// Cloudflare Light Gray — Subtle dividers, borders, and quiet card surfaces.
    public static let cloudflareLightGray = Color(.sRGB, red: 0.8510, green: 0.8510, blue: 0.8510, opacity: 1.0000)
    /// Cloudflare Off-White — Page-level background tint, lighter than card surfaces.
    public static let cloudflareOffWhite = Color(.sRGB, red: 0.9647, green: 0.9647, blue: 0.9647, opacity: 1.0000)
    /// Cloudflare White — Base background and reversed text on the orange mark.
    public static let cloudflareWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.cloudflareWhite
    public static let surface = BrandSwatch.cloudflareOffWhite
    public static let surfaceElevated = BrandSwatch.cloudflareWhite
    public static let textPrimary = BrandSwatch.cloudflareBlack
    public static let textSecondary = BrandSwatch.cloudflareDarkGray
    public static let textTertiary = BrandSwatch.cloudflareGray
    public static let primary = BrandSwatch.cloudflareOrange
    public static let primaryHover = BrandSwatch.marketingOrange
    public static let accent = BrandSwatch.marketingOrange
    public static let accentHover = BrandSwatch.cloudflareOrange
    public static let warning = BrandSwatch.marketingOrange
    public static let warningHover = BrandSwatch.cloudflareOrange
    public static let error = BrandSwatch.cloudflareOrange
    public static let success = BrandSwatch.cloudflareGray
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.cloudflareBlack
    public static let surface = BrandSwatch.cloudflareDarkGray
    public static let surfaceElevated = BrandSwatch.cloudflareGray
    public static let textPrimary = BrandSwatch.cloudflareWhite
    public static let textSecondary = BrandSwatch.cloudflareLightGray
    public static let textTertiary = BrandSwatch.cloudflareGray
    public static let primary = BrandSwatch.cloudflareOrange
    public static let primaryHover = BrandSwatch.marketingOrange
    public static let accent = BrandSwatch.marketingOrange
    public static let accentHover = BrandSwatch.cloudflareOrange
    public static let warning = BrandSwatch.marketingOrange
    public static let warningHover = BrandSwatch.cloudflareOrange
    public static let error = BrandSwatch.cloudflareOrange
    public static let success = BrandSwatch.cloudflareLightGray
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.cloudflareOrange
    public static let onIdentity = BrandSwatch.cloudflareWhite
    public static let primary = BrandSwatch.cloudflareOrange
    public static let primaryHover = BrandSwatch.marketingOrange
    public static let accent = BrandSwatch.marketingOrange
    public static let background = BrandSwatch.cloudflareWhite
    public static let surface = BrandSwatch.cloudflareOffWhite
    public static let textPrimary = BrandSwatch.cloudflareBlack
    public static let textSecondary = BrandSwatch.cloudflareDarkGray
}

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