//
// Hugging Face (huggingface@1.0.0)
// Palette: huggingface@1.0.0
// Fonts:   heading=source-sans-3@1.0.0, body=source-sans-3@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 {
    /// Hug Yellow — Hugging Face's published primary — the warm yellow of the hug-mark.
    public static let hugYellow = Color(.sRGB, red: 1.0000, green: 0.8235, blue: 0.1176, opacity: 1.0000)
    /// Hug Yellow Deep — Pressed / hover variant of hug-yellow for interactive surfaces.
    public static let hugYellowDeep = Color(.sRGB, red: 0.9020, green: 0.7216, blue: 0.0000, opacity: 1.0000)
    /// Hug Orange — Hugging Face's published secondary — a warm orange that pairs with the yellow primary.
    public static let hugOrange = Color(.sRGB, red: 1.0000, green: 0.6157, blue: 0.0000, opacity: 1.0000)
    /// Hug Orange Deep — Pressed / hover variant of hug-orange.
    public static let hugOrangeDeep = Color(.sRGB, red: 0.8000, green: 0.4941, blue: 0.0000, opacity: 1.0000)
    /// Hug Neutral — Hugging Face's published neutral gray — the body-meta tone.
    public static let hugNeutral = Color(.sRGB, red: 0.4196, green: 0.4471, blue: 0.5020, opacity: 1.0000)
    /// Hub Canvas — Page canvas — the bright neutral surface huggingface.co reads against.
    public static let hubCanvas = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Hub Surface — Subtle elevated surface; one step warmer than canvas.
    public static let hubSurface = Color(.sRGB, red: 0.9765, green: 0.9804, blue: 0.9843, opacity: 1.0000)
    /// Hub Surface Elevated — Card / panel surface elevated above hub-surface.
    public static let hubSurfaceElevated = Color(.sRGB, red: 0.9529, green: 0.9569, blue: 0.9647, opacity: 1.0000)
    /// Hub Border — Quiet divider on the hub canvas.
    public static let hubBorder = Color(.sRGB, red: 0.8980, green: 0.9059, blue: 0.9216, opacity: 1.0000)
    /// Hub Ink — Primary text on hub canvas — deep slate near-black.
    public static let hubInk = Color(.sRGB, red: 0.0667, green: 0.0941, blue: 0.1529, opacity: 1.0000)
    /// Hub Ink Secondary — Secondary text; muted slate for body copy de-emphasis.
    public static let hubInkSecondary = Color(.sRGB, red: 0.2157, green: 0.2549, blue: 0.3176, opacity: 1.0000)
    /// Hub Ink Tertiary — Tertiary text / metadata tone — same hex as the published hug-neutral.
    public static let hubInkTertiary = Color(.sRGB, red: 0.4196, green: 0.4471, blue: 0.5020, opacity: 1.0000)
    /// Hub Night — Dark-mode canvas — the deep slate the hub flips to.
    public static let hubNight = Color(.sRGB, red: 0.0431, green: 0.0588, blue: 0.0980, opacity: 1.0000)
    /// Hub Night Surface — Elevated surface in dark mode.
    public static let hubNightSurface = Color(.sRGB, red: 0.1216, green: 0.1608, blue: 0.2157, opacity: 1.0000)
    /// Hub Night Border — Quiet divider on the hub-night canvas.
    public static let hubNightBorder = Color(.sRGB, red: 0.2157, green: 0.2549, blue: 0.3176, opacity: 1.0000)
    /// Hub Success — Confirmation / positive state green.
    public static let hubSuccess = Color(.sRGB, red: 0.0863, green: 0.6392, blue: 0.2902, opacity: 1.0000)
    /// Hub Error — Error / destructive state red.
    public static let hubError = Color(.sRGB, red: 0.8627, green: 0.1490, blue: 0.1490, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.hubCanvas
    public static let surface = BrandSwatch.hubSurface
    public static let surfaceElevated = BrandSwatch.hubSurfaceElevated
    public static let textPrimary = BrandSwatch.hubInk
    public static let textSecondary = BrandSwatch.hubInkSecondary
    public static let textTertiary = BrandSwatch.hubInkTertiary
    public static let primary = BrandSwatch.hugYellow
    public static let primaryHover = BrandSwatch.hugYellowDeep
    public static let accent = BrandSwatch.hugOrange
    public static let accentHover = BrandSwatch.hugOrangeDeep
    public static let success = BrandSwatch.hubSuccess
    public static let warning = BrandSwatch.hugOrange
    public static let error = BrandSwatch.hubError
    public static let border = BrandSwatch.hubBorder
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.hubNight
    public static let surface = BrandSwatch.hubNightSurface
    public static let surfaceElevated = BrandSwatch.hubInkSecondary
    public static let textPrimary = BrandSwatch.hubCanvas
    public static let textSecondary = BrandSwatch.hubSurfaceElevated
    public static let textTertiary = BrandSwatch.hubInkTertiary
    public static let primary = BrandSwatch.hugYellow
    public static let primaryHover = BrandSwatch.hugYellowDeep
    public static let accent = BrandSwatch.hugOrange
    public static let accentHover = BrandSwatch.hugOrangeDeep
    public static let success = BrandSwatch.hubSuccess
    public static let warning = BrandSwatch.hugOrange
    public static let error = BrandSwatch.hubError
    public static let border = BrandSwatch.hubNightBorder
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.hugYellow
    public static let onIdentity = BrandSwatch.hubInk
    public static let primary = BrandSwatch.hugYellow
    public static let primaryHover = BrandSwatch.hugYellowDeep
    public static let accent = BrandSwatch.hugOrange
    public static let accentHover = BrandSwatch.hugOrangeDeep
    public static let mark = BrandSwatch.hugYellow
    public static let success = BrandSwatch.hubSuccess
    public static let warning = BrandSwatch.hugOrange
    public static let error = BrandSwatch.hubError
    public static let textPrimaryLight = BrandSwatch.hubInk
    public static let textPrimaryDark = BrandSwatch.hubCanvas
    public static let backgroundLight = BrandSwatch.hubCanvas
    public static let backgroundDark = BrandSwatch.hubNight
    public static let surfaceLight = BrandSwatch.hubSurface
    public static let surfaceDark = BrandSwatch.hubNightSurface
    public static let textSecondaryLight = BrandSwatch.hubInkSecondary
    public static let textTertiaryLight = BrandSwatch.hubInkTertiary
    public static let borderLight = BrandSwatch.hubBorder
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Source Sans 3 (source-sans-3@1.0.0)
    public static let heading = "Source Sans 3"
    /// Source Sans 3 (source-sans-3@1.0.0)
    public static let body = "Source Sans 3"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
