//
// Intel (intel@1.0.0)
// Palette: intel@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 {
    /// Intel Classic Blue — The primary Intel Blue — used on the wordmark, on calls-to- action, and as the link / button color across intel.com.

    public static let classicBlue = Color(.sRGB, red: 0.0000, green: 0.4078, blue: 0.7098, opacity: 1.0000)
    /// Intel Energy Blue — The bright accent introduced in the 2020 refresh — used on highlights, active borders, and on dark surfaces where the classic blue would lose contrast.

    public static let energyBlue = Color(.sRGB, red: 0.0000, green: 0.7804, blue: 0.9922, opacity: 1.0000)
    /// Blue 700 — Hover / pressed variant of Classic Blue — declared on the live site as `--ighf-h-link-color-hover`.

    public static let blue700 = Color(.sRGB, red: 0.0000, green: 0.2902, blue: 0.5255, opacity: 1.0000)
    /// Blue 800 — Deeper saturated blue for hero / high-emphasis surfaces.

    public static let blue800 = Color(.sRGB, red: 0.0000, green: 0.2745, blue: 0.7843, opacity: 1.0000)
    /// Blue 900 — Near-navy used as a dark canvas under hero modules.

    public static let blue900 = Color(.sRGB, red: 0.0000, green: 0.0588, blue: 0.1569, opacity: 1.0000)
    /// Carbon Web — Light page surface tint on the white canvas — the `--ighf-h-color-carbon-web` token.

    public static let carbonWeb = Color(.sRGB, red: 0.9686, green: 0.9686, blue: 0.9686, opacity: 1.0000)
    /// Carbon 100 — Quiet rule / border on the white canvas.
    public static let carbon100 = Color(.sRGB, red: 0.9059, green: 0.9059, blue: 0.9059, opacity: 1.0000)
    /// Carbon 200 — Light-gray border — the `--ighf-h-color-gray-light` token.

    public static let carbon200 = Color(.sRGB, red: 0.8431, green: 0.8431, blue: 0.8431, opacity: 1.0000)
    /// Carbon 400 — Mid-gray for inactive controls.
    public static let carbon400 = Color(.sRGB, red: 0.6000, green: 0.6235, blue: 0.6627, opacity: 1.0000)
    /// Carbon 500 — Disabled / placeholder text — the `--ighf-h-color-carbon-disabled` token.

    public static let carbon500 = Color(.sRGB, red: 0.4157, green: 0.4275, blue: 0.4588, opacity: 1.0000)
    /// Carbon 600 — Secondary body text.
    public static let carbon600 = Color(.sRGB, red: 0.3216, green: 0.3216, blue: 0.3216, opacity: 1.0000)
    /// Carbon 800 — Primary text color on the white canvas — the `--ighf-h-text-color` token; also the dark-mode canvas.

    public static let carbon800 = Color(.sRGB, red: 0.1490, green: 0.1490, blue: 0.1490, opacity: 1.0000)
    /// White — Default page canvas; reverse logo fill.
    public static let white = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Black — Logo fill in the monochrome one-color variant.
    public static let black = Color(.sRGB, red: 0.0000, green: 0.0000, 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.carbonWeb
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.carbon800
    public static let textSecondary = BrandSwatch.carbon600
    public static let textTertiary = BrandSwatch.carbon500
    public static let primary = BrandSwatch.classicBlue
    public static let primaryHover = BrandSwatch.blue700
    public static let accent = BrandSwatch.energyBlue
    public static let accentHover = BrandSwatch.classicBlue
    public static let border = BrandSwatch.carbon200
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.blue900
    public static let surface = BrandSwatch.carbon800
    public static let surfaceElevated = BrandSwatch.blue800
    public static let textPrimary = BrandSwatch.white
    public static let textSecondary = BrandSwatch.carbon200
    public static let textTertiary = BrandSwatch.carbon400
    public static let primary = BrandSwatch.energyBlue
    public static let primaryHover = BrandSwatch.classicBlue
    public static let accent = BrandSwatch.energyBlue
    public static let accentHover = BrandSwatch.classicBlue
    public static let border = BrandSwatch.carbon600
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.white
    public static let onIdentity = BrandSwatch.carbon800
    public static let primary = BrandSwatch.classicBlue
    public static let primaryHover = BrandSwatch.blue700
    public static let accent = BrandSwatch.energyBlue
    public static let accentHover = BrandSwatch.classicBlue
    public static let mark = BrandSwatch.classicBlue
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.blue900
    public static let surfaceLight = BrandSwatch.carbonWeb
    public static let surfaceDark = BrandSwatch.carbon800
    public static let textPrimaryLight = BrandSwatch.carbon800
    public static let textPrimaryDark = BrandSwatch.white
    public static let textSecondaryLight = BrandSwatch.carbon600
    public static let textTertiaryLight = BrandSwatch.carbon500
    public static let borderLight = BrandSwatch.carbon200
}

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