//
// Reuters (reuters@1.0.0)
// Palette: reuters@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@1.0.0, serif=pt-serif@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 {
    /// Reuters Orange — The signature Reuters orange — the wire-service identity color.
    public static let trOrange = Color(.sRGB, red: 0.9804, green: 0.3922, blue: 0.0000, opacity: 1.0000)
    /// Reuters Dark Orange — Pressed / active variant of Reuters orange.
    public static let trDarkOrange = Color(.sRGB, red: 0.8627, green: 0.2627, blue: 0.0000, opacity: 1.0000)
    /// Reuters Light Orange — Lighter orange — quiet accent and graphic ramps.
    public static let trLightOrange = Color(.sRGB, red: 1.0000, green: 0.6314, blue: 0.0000, opacity: 1.0000)
    /// Reuters Dark Blue — Trusted-source link blue; the deep Reuters navy.
    public static let trDarkBlue = Color(.sRGB, red: 0.0000, green: 0.3647, blue: 0.6353, opacity: 1.0000)
    /// Reuters Light Blue — Brighter link blue for hover and emphasis.
    public static let trLightBlue = Color(.sRGB, red: 0.0000, green: 0.6000, blue: 0.7686, opacity: 1.0000)
    /// Reuters Muted Blue — Calm secondary blue for muted contexts.
    public static let trMutedBlue = Color(.sRGB, red: 0.2627, green: 0.5255, blue: 0.7255, opacity: 1.0000)
    /// Reuters Lighter Blue — Light tint of muted blue — chart fills.
    public static let trLighterBlue = Color(.sRGB, red: 0.4980, green: 0.6745, blue: 0.8078, opacity: 1.0000)
    /// Reuters Superlight Blue — Faint blue surface tint for inset panels.
    public static let trSuperlightBlue = Color(.sRGB, red: 0.8980, green: 0.9333, blue: 0.9608, opacity: 1.0000)
    /// Reuters Dark Grey — Primary text — the body ink Reuters renders on white.
    public static let trDarkGrey = Color(.sRGB, red: 0.2510, green: 0.2510, blue: 0.2510, opacity: 1.0000)
    /// Reuters Medium Grey — Secondary text; deck and byline weight.
    public static let trMediumGrey = Color(.sRGB, red: 0.4000, green: 0.4000, blue: 0.4000, opacity: 1.0000)
    /// Reuters Light Grey — Tertiary meta text; quiet captions.
    public static let trLightGrey = Color(.sRGB, red: 0.6863, green: 0.6863, blue: 0.6863, opacity: 1.0000)
    /// Reuters Muted Grey — Divider and hairline rule weight.
    public static let trMutedGrey = Color(.sRGB, red: 0.8157, green: 0.8157, blue: 0.8157, opacity: 1.0000)
    /// Reuters Hover Background Grey — Hover surface; alternating row tint.
    public static let trHoverGrey = Color(.sRGB, red: 0.9725, green: 0.9725, blue: 0.9725, opacity: 1.0000)
    /// Reuters Light Muted Grey — Quiet inset surface.
    public static let trLightMutedGrey = Color(.sRGB, red: 0.9569, green: 0.9569, blue: 0.9569, opacity: 1.0000)
    /// Reuters Ultra Light Grey — Lightest surface — quiet card background.
    public static let trUltraLightGrey = Color(.sRGB, red: 0.9804, green: 0.9804, blue: 0.9804, opacity: 1.0000)
    /// Reuters Dark Red — Deep red — breaking-news bridges and errors.
    public static let trDarkRed = Color(.sRGB, red: 0.6275, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Reuters Light Red — Brighter alert red.
    public static let trLightRed = Color(.sRGB, red: 0.8627, green: 0.0392, blue: 0.0392, opacity: 1.0000)
    /// Reuters Dark Green — Confirmation / positive change green.
    public static let trDarkGreen = Color(.sRGB, red: 0.2196, green: 0.4863, blue: 0.1686, opacity: 1.0000)
    /// Reuters Light Green — Brighter green for positive states.
    public static let trLightGreen = Color(.sRGB, red: 0.4667, green: 0.6353, blue: 0.1765, opacity: 1.0000)
    /// Reuters Dark Purple — Editorial accent purple — opinion/analysis tags.
    public static let trDarkPurple = Color(.sRGB, red: 0.3843, green: 0.1216, blue: 0.5843, opacity: 1.0000)
    /// Reuters Light Purple — Lighter purple — secondary editorial accent.
    public static let trLightPurple = Color(.sRGB, red: 0.4314, green: 0.2275, blue: 0.7176, opacity: 1.0000)
    /// Black — Mark / wordmark fill.
    public static let black = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// White — Page canvas — the bright Reuters background.
    public static let white = 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.white
    public static let surface = BrandSwatch.trUltraLightGrey
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.trDarkGrey
    public static let textSecondary = BrandSwatch.trMediumGrey
    public static let textTertiary = BrandSwatch.trLightGrey
    public static let primary = BrandSwatch.trDarkBlue
    public static let primaryHover = BrandSwatch.trLightBlue
    public static let accent = BrandSwatch.trOrange
    public static let accentHover = BrandSwatch.trDarkOrange
    public static let warning = BrandSwatch.trLightOrange
    public static let error = BrandSwatch.trDarkRed
    public static let success = BrandSwatch.trDarkGreen
    public static let border = BrandSwatch.trMutedGrey
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.trDarkGrey
    public static let surface = BrandSwatch.trMediumGrey
    public static let surfaceElevated = BrandSwatch.trLightGrey
    public static let textPrimary = BrandSwatch.white
    public static let textSecondary = BrandSwatch.trMutedGrey
    public static let textTertiary = BrandSwatch.trLightGrey
    public static let primary = BrandSwatch.trLightBlue
    public static let primaryHover = BrandSwatch.trDarkBlue
    public static let accent = BrandSwatch.trOrange
    public static let accentHover = BrandSwatch.trLightOrange
    public static let warning = BrandSwatch.trLightOrange
    public static let error = BrandSwatch.trLightRed
    public static let success = BrandSwatch.trLightGreen
    public static let border = BrandSwatch.trMediumGrey
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.trOrange
    public static let onIdentity = BrandSwatch.white
    public static let primary = BrandSwatch.trDarkBlue
    public static let primaryHover = BrandSwatch.trLightBlue
    public static let accent = BrandSwatch.trOrange
    public static let accentHover = BrandSwatch.trDarkOrange
    public static let mark = BrandSwatch.trOrange
    public static let success = BrandSwatch.trDarkGreen
    public static let warning = BrandSwatch.trLightOrange
    public static let error = BrandSwatch.trDarkRed
    public static let textPrimaryLight = BrandSwatch.trDarkGrey
    public static let textPrimaryDark = BrandSwatch.white
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.trDarkGrey
    public static let surfaceLight = BrandSwatch.trUltraLightGrey
    public static let surfaceDark = BrandSwatch.trMediumGrey
    public static let textSecondaryLight = BrandSwatch.trMediumGrey
    public static let textTertiaryLight = BrandSwatch.trLightGrey
    public static let borderLight = BrandSwatch.trMutedGrey
}

/// 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"
    /// PT Serif (pt-serif@1.0.0)
    public static let serif = "PT Serif"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
