//
// HBO Max (hbo-max@1.0.0)
// Palette: hbo-max@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 {
    /// Max Purple — Primary signature purple — the dominant brand color in the gradient and the wordmark accent.
    public static let maxPurple = Color(.sRGB, red: 0.7098, green: 0.2078, blue: 0.9647, opacity: 1.0000)
    /// Max Purple Deep — Deeper purple used on pressed states and as the mid-gradient anchor.
    public static let maxPurpleDeep = Color(.sRGB, red: 0.4784, green: 0.1216, blue: 0.7216, opacity: 1.0000)
    /// Max Blue — Saturated blue — the paired end of the purple-to-blue gradient that defines the brand surface.
    public static let maxBlue = Color(.sRGB, red: 0.0000, green: 0.2745, blue: 0.9961, opacity: 1.0000)
    /// Max Blue Bright — Lighter blue used on hover/highlight states and as a secondary accent.
    public static let maxBlueBright = Color(.sRGB, red: 0.2392, green: 0.4784, blue: 1.0000, opacity: 1.0000)
    /// Max Black — Canonical canvas — the Max consumer surface is solid black.
    public static let maxBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Max Near-Black — Elevated surface — rows, tiles, and modal backgrounds sit on this slightly purple-tinted near-black.
    public static let maxNearBlack = Color(.sRGB, red: 0.0392, green: 0.0392, blue: 0.0784, opacity: 1.0000)
    /// Max Charcoal — Elevated surface — used on hover states, expanded title cards, and modal headers.
    public static let maxCharcoal = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1804, opacity: 1.0000)
    /// Max White — Primary text on the dark canvas; reversed wordmark fill on light backgrounds.
    public static let maxWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Max Gray Light — Tertiary text and metadata on the dark canvas.
    public static let maxGrayLight = Color(.sRGB, red: 0.7216, green: 0.7216, blue: 0.7843, opacity: 1.0000)
    /// Max Gray — Secondary text and divider color on the dark canvas.
    public static let maxGray = Color(.sRGB, red: 0.3529, green: 0.3529, blue: 0.4314, opacity: 1.0000)
    /// Max Fog — Authored light-mode canvas — for marketing surfaces that require a light treatment.
    public static let maxFog = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9804, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.maxFog
    public static let surface = BrandSwatch.maxWhite
    public static let surfaceElevated = BrandSwatch.maxWhite
    public static let textPrimary = BrandSwatch.maxNearBlack
    public static let textSecondary = BrandSwatch.maxGray
    public static let textTertiary = BrandSwatch.maxGrayLight
    public static let primary = BrandSwatch.maxPurple
    public static let primaryHover = BrandSwatch.maxPurpleDeep
    public static let accent = BrandSwatch.maxBlue
    public static let accentHover = BrandSwatch.maxBlueBright
    public static let warning = BrandSwatch.maxPurpleDeep
    public static let warningHover = BrandSwatch.maxPurple
    public static let error = BrandSwatch.maxPurpleDeep
    public static let success = BrandSwatch.maxBlueBright
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.maxBlack
    public static let surface = BrandSwatch.maxNearBlack
    public static let surfaceElevated = BrandSwatch.maxCharcoal
    public static let textPrimary = BrandSwatch.maxWhite
    public static let textSecondary = BrandSwatch.maxGrayLight
    public static let textTertiary = BrandSwatch.maxGray
    public static let primary = BrandSwatch.maxPurple
    public static let primaryHover = BrandSwatch.maxPurpleDeep
    public static let accent = BrandSwatch.maxBlue
    public static let accentHover = BrandSwatch.maxBlueBright
    public static let warning = BrandSwatch.maxPurple
    public static let warningHover = BrandSwatch.maxPurpleDeep
    public static let error = BrandSwatch.maxPurple
    public static let success = BrandSwatch.maxBlueBright
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.maxBlack
    public static let onIdentity = BrandSwatch.maxPurple
    public static let background = BrandSwatch.maxBlack
    public static let surface = BrandSwatch.maxNearBlack
    public static let surfaceElevated = BrandSwatch.maxCharcoal
    public static let textPrimary = BrandSwatch.maxWhite
    public static let textSecondary = BrandSwatch.maxGrayLight
    public static let textTertiary = BrandSwatch.maxGray
    public static let primary = BrandSwatch.maxPurple
    public static let primaryHover = BrandSwatch.maxPurpleDeep
    public static let accent = BrandSwatch.maxBlue
    public static let accentHover = BrandSwatch.maxBlueBright
    public static let mark = BrandSwatch.maxPurple
    public static let textEmphasis = BrandSwatch.maxWhite
}

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