//
// The Atlantic (the-atlantic@1.0.0)
// Palette: the-atlantic@1.0.0
// Fonts:   heading=playfair-display@1.0.0, body=lora@1.0.0, sans=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 {
    /// Atlantic Red — The signature Atlantic red — masthead and ™ accent.
    public static let signatureRed = Color(.sRGB, red: 0.9059, green: 0.0745, blue: 0.1020, opacity: 1.0000)
    /// Red Bright — Brighter red for live-update and emphasis.
    public static let redBright = Color(.sRGB, red: 0.9412, green: 0.1255, blue: 0.3098, opacity: 1.0000)
    /// Red Deep — Deeper red — pressed states and editorial emphasis.
    public static let redDeep = Color(.sRGB, red: 0.8157, green: 0.0078, blue: 0.1059, opacity: 1.0000)
    /// Cream — Warm cream canvas — the Atlantic paper tone.
    public static let cream = Color(.sRGB, red: 0.9804, green: 0.9569, blue: 0.9216, opacity: 1.0000)
    /// White — Bright white — high-contrast canvas alternate.
    public static let white = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Surface Light — Cool quiet surface.
    public static let surfaceLight = Color(.sRGB, red: 0.9686, green: 0.9686, blue: 0.9686, opacity: 1.0000)
    /// Surface Tint — Lighter cool surface.
    public static let surfaceTint = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// Surface Quiet — Subtle inset surface.
    public static let surfaceQuiet = Color(.sRGB, red: 0.9569, green: 0.9569, blue: 0.9569, opacity: 1.0000)
    /// Surface Faint — Faintest quiet surface tint.
    public static let surfaceFaint = Color(.sRGB, red: 0.9412, green: 0.9412, blue: 0.9412, opacity: 1.0000)
    /// Ink — Primary body text — the Atlantic ink.
    public static let ink = Color(.sRGB, red: 0.1176, green: 0.1176, blue: 0.1176, opacity: 1.0000)
    /// Ink Warm — Warm body text variant.
    public static let inkWarm = Color(.sRGB, red: 0.1725, green: 0.1725, blue: 0.1725, opacity: 1.0000)
    /// Ink Cool — Cool body text variant.
    public static let inkCool = Color(.sRGB, red: 0.1765, green: 0.1765, blue: 0.1765, opacity: 1.0000)
    /// Graphite — Cool graphite — heading and deck color.
    public static let graphite = Color(.sRGB, red: 0.2235, green: 0.2627, blue: 0.2941, opacity: 1.0000)
    /// Graphite Medium — Warm graphite — alternate body.
    public static let graphiteMedium = Color(.sRGB, red: 0.2824, green: 0.2706, blue: 0.2588, opacity: 1.0000)
    /// Graphite Quiet — Quiet graphite — secondary text on light.
    public static let graphiteQuiet = Color(.sRGB, red: 0.3686, green: 0.4157, blue: 0.4549, opacity: 1.0000)
    /// Gray Disabled — Disabled text; quiet meta.
    public static let grayDisabled = Color(.sRGB, red: 0.6078, green: 0.6078, blue: 0.6078, opacity: 1.0000)
    /// Gray Border — Heavy border weight.
    public static let grayBorder = Color(.sRGB, red: 0.7569, green: 0.7569, blue: 0.7569, opacity: 1.0000)
    /// Gray Divider — Quiet rule weight.
    public static let grayDivider = Color(.sRGB, red: 0.8588, green: 0.8588, blue: 0.8588, opacity: 1.0000)
    /// Cyan Deep — Calm cyan — data viz and interactive emphasis.
    public static let cyanDeep = Color(.sRGB, red: 0.0000, green: 0.6784, blue: 0.7647, opacity: 1.0000)
    /// Cyan Bright — Brighter cyan for hover and accent.
    public static let cyanBright = Color(.sRGB, red: 0.1922, green: 0.7765, blue: 0.8000, opacity: 1.0000)
    /// Blue Link — Trusted-source link blue.
    public static let blueLink = Color(.sRGB, red: 0.0000, green: 0.4627, blue: 0.7490, opacity: 1.0000)
    /// Blue Link Deep — Pressed blue link.
    public static let blueLinkDeep = Color(.sRGB, red: 0.0000, green: 0.4000, blue: 0.7451, opacity: 1.0000)
    /// Navy — Deep navy — dark accent surface.
    public static let navy = Color(.sRGB, red: 0.0000, green: 0.0353, blue: 0.1608, opacity: 1.0000)
    /// Gold — Warning gold; quiet editorial highlight.
    public static let gold = Color(.sRGB, red: 1.0000, green: 0.7608, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.cream
    public static let surface = BrandSwatch.surfaceLight
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.ink
    public static let textSecondary = BrandSwatch.graphite
    public static let textTertiary = BrandSwatch.graphiteQuiet
    public static let primary = BrandSwatch.blueLink
    public static let primaryHover = BrandSwatch.blueLinkDeep
    public static let accent = BrandSwatch.signatureRed
    public static let accentHover = BrandSwatch.redDeep
    public static let warning = BrandSwatch.gold
    public static let error = BrandSwatch.redDeep
    public static let border = BrandSwatch.grayDivider
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.ink
    public static let surface = BrandSwatch.graphite
    public static let surfaceElevated = BrandSwatch.graphiteMedium
    public static let textPrimary = BrandSwatch.cream
    public static let textSecondary = BrandSwatch.grayDivider
    public static let textTertiary = BrandSwatch.grayBorder
    public static let primary = BrandSwatch.cyanBright
    public static let primaryHover = BrandSwatch.cyanDeep
    public static let accent = BrandSwatch.signatureRed
    public static let accentHover = BrandSwatch.redBright
    public static let warning = BrandSwatch.gold
    public static let error = BrandSwatch.redBright
    public static let border = BrandSwatch.graphite
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.cream
    public static let onIdentity = BrandSwatch.ink
    public static let primary = BrandSwatch.blueLink
    public static let primaryHover = BrandSwatch.blueLinkDeep
    public static let accent = BrandSwatch.signatureRed
    public static let accentHover = BrandSwatch.redDeep
    public static let mark = BrandSwatch.signatureRed
    public static let warning = BrandSwatch.gold
    public static let error = BrandSwatch.redDeep
    public static let textPrimaryLight = BrandSwatch.ink
    public static let textPrimaryDark = BrandSwatch.cream
    public static let backgroundLight = BrandSwatch.cream
    public static let backgroundDark = BrandSwatch.ink
    public static let surfaceLight = BrandSwatch.surfaceLight
    public static let surfaceDark = BrandSwatch.graphite
    public static let textSecondaryLight = BrandSwatch.graphite
    public static let textTertiaryLight = BrandSwatch.graphiteQuiet
    public static let borderLight = BrandSwatch.grayDivider
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Playfair Display (playfair-display@1.0.0)
    public static let heading = "Playfair Display"
    /// Lora (lora@1.0.0)
    public static let body = "Lora"
    /// Inter (inter@1.0.0)
    public static let sans = "Inter"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
