//
// Python (python@1.0.0)
// Palette: python@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@1.0.0, mono=source-code-pro@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 {
    /// Python Blue — Primary brand color — the upper snake of the two-snake mark. Used as the dominant identity color across python.org.

    public static let pythonBlue = Color(.sRGB, red: 0.2157, green: 0.4627, blue: 0.6706, opacity: 1.0000)
    /// Python Yellow — Secondary brand color — the lower snake of the two-snake mark and the high-energy accent for callouts and CTAs.

    public static let pythonYellow = Color(.sRGB, red: 1.0000, green: 0.8314, blue: 0.2314, opacity: 1.0000)
    /// Python Dark Blue — Deeper navy used for hover states and the dark-mode canvas.

    public static let pythonDarkBlue = Color(.sRGB, red: 0.1176, green: 0.2549, blue: 0.3686, opacity: 1.0000)
    /// Python Dark Yellow — Deeper amber used for hover states on the yellow accent.

    public static let pythonDarkYellow = Color(.sRGB, red: 1.0000, green: 0.7647, blue: 0.1922, opacity: 1.0000)
    /// Python Black — Dark-mode page canvas.
    public static let pythonBlack = Color(.sRGB, red: 0.0549, green: 0.0706, blue: 0.0902, opacity: 1.0000)
    /// Python Charcoal — Elevated dark surface.
    public static let pythonCharcoal = Color(.sRGB, red: 0.1098, green: 0.1373, blue: 0.1725, opacity: 1.0000)
    /// Python Gray — Mid neutral for body text and dividers.
    public static let pythonGray = Color(.sRGB, red: 0.3922, green: 0.3922, blue: 0.3922, opacity: 1.0000)
    /// Python Light Gray — Hairline borders on light canvas.
    public static let pythonLightGray = Color(.sRGB, red: 0.8353, green: 0.8353, blue: 0.8353, opacity: 1.0000)
    /// Python Off-White — Subtle layered surface on light canvas.
    public static let pythonOffWhite = Color(.sRGB, red: 0.9569, green: 0.9569, blue: 0.9569, opacity: 1.0000)
    /// Python White — Page canvas in light mode.
    public static let pythonWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Python Success Green — Status success color — used in PEP/issue badges.
    public static let pythonSuccess = Color(.sRGB, red: 0.2471, green: 0.5725, blue: 0.2941, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.pythonWhite
    public static let surface = BrandSwatch.pythonOffWhite
    public static let surfaceElevated = BrandSwatch.pythonWhite
    public static let textPrimary = BrandSwatch.pythonDarkBlue
    public static let textSecondary = BrandSwatch.pythonGray
    public static let textTertiary = BrandSwatch.pythonBlue
    public static let primary = BrandSwatch.pythonBlue
    public static let primaryHover = BrandSwatch.pythonDarkBlue
    public static let accent = BrandSwatch.pythonYellow
    public static let accentHover = BrandSwatch.pythonDarkYellow
    public static let warning = BrandSwatch.pythonYellow
    public static let warningHover = BrandSwatch.pythonDarkYellow
    public static let error = BrandSwatch.pythonDarkYellow
    public static let success = BrandSwatch.pythonSuccess
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.pythonBlack
    public static let surface = BrandSwatch.pythonCharcoal
    public static let surfaceElevated = BrandSwatch.pythonCharcoal
    public static let textPrimary = BrandSwatch.pythonWhite
    public static let textSecondary = BrandSwatch.pythonLightGray
    public static let textTertiary = BrandSwatch.pythonYellow
    public static let primary = BrandSwatch.pythonYellow
    public static let primaryHover = BrandSwatch.pythonDarkYellow
    public static let accent = BrandSwatch.pythonBlue
    public static let accentHover = BrandSwatch.pythonDarkBlue
    public static let warning = BrandSwatch.pythonYellow
    public static let warningHover = BrandSwatch.pythonDarkYellow
    public static let error = BrandSwatch.pythonDarkYellow
    public static let success = BrandSwatch.pythonSuccess
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.pythonBlue
    public static let onIdentity = BrandSwatch.pythonWhite
    public static let primary = BrandSwatch.pythonBlue
    public static let primaryHover = BrandSwatch.pythonDarkBlue
    public static let accent = BrandSwatch.pythonYellow
    public static let accentHover = BrandSwatch.pythonDarkYellow
    public static let background = BrandSwatch.pythonWhite
    public static let surface = BrandSwatch.pythonOffWhite
    public static let textPrimary = BrandSwatch.pythonDarkBlue
    public static let textSecondary = BrandSwatch.pythonGray
}

/// 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"
    /// Source Code Pro (source-code-pro@1.0.0)
    public static let mono = "Source Code Pro"
}
