//
// Anthropic (anthropic@1.0.0)
// Palette: anthropic@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 {
    /// Ivory Light — Page canvas — the warm cream Anthropic uses as the base.
    public static let ivoryLight = Color(.sRGB, red: 0.9804, green: 0.9765, blue: 0.9608, opacity: 1.0000)
    /// Ivory Medium — Subtle elevated surface; hover state for ivory buttons.
    public static let ivoryMedium = Color(.sRGB, red: 0.9412, green: 0.9333, blue: 0.9020, opacity: 1.0000)
    /// Ivory Dark — Border / quiet divider on ivory canvas.
    public static let ivoryDark = Color(.sRGB, red: 0.9098, green: 0.9020, blue: 0.8627, opacity: 1.0000)
    /// Slate Dark — Primary text on ivory; canvas in dark mode.
    public static let slateDark = Color(.sRGB, red: 0.0784, green: 0.0784, blue: 0.0745, opacity: 1.0000)
    /// Slate Medium — Elevated surface in dark mode; secondary text on ivory.
    public static let slateMedium = Color(.sRGB, red: 0.2392, green: 0.2392, blue: 0.2275, opacity: 1.0000)
    /// Slate Light — Tertiary text; hover state for slate surfaces.
    public static let slateLight = Color(.sRGB, red: 0.3686, green: 0.3647, blue: 0.3490, opacity: 1.0000)
    /// Cloud Light — Soft neutral, illustration mid-tone.
    public static let cloudLight = Color(.sRGB, red: 0.8196, green: 0.8118, blue: 0.7725, opacity: 1.0000)
    /// Cloud Medium — Mid cloud — secondary text on dark surfaces.
    public static let cloudMedium = Color(.sRGB, red: 0.6902, green: 0.6824, blue: 0.6471, opacity: 1.0000)
    /// Cloud Dark — Deep cloud — quiet text on warm surfaces.
    public static let cloudDark = Color(.sRGB, red: 0.5294, green: 0.5255, blue: 0.4980, opacity: 1.0000)
    /// Clay — Claude's signature terracotta accent. The brand's primary warm.
    public static let clay = Color(.sRGB, red: 0.8510, green: 0.4667, blue: 0.3412, opacity: 1.0000)
    /// Accent — Pressed / active variant of clay.
    public static let accent = Color(.sRGB, red: 0.7765, green: 0.3804, blue: 0.2471, opacity: 1.0000)
    /// Oat — Wheaten neutral, illustration warm.
    public static let oat = Color(.sRGB, red: 0.8902, green: 0.8549, blue: 0.8000, opacity: 1.0000)
    /// Manilla — Pale parchment yellow.
    public static let manilla = Color(.sRGB, red: 0.9216, green: 0.8588, blue: 0.7373, opacity: 1.0000)
    /// Kraft — Tan / craft-paper warm.
    public static let kraft = Color(.sRGB, red: 0.8314, green: 0.6353, blue: 0.4980, opacity: 1.0000)
    /// Olive — Muted green secondary.
    public static let olive = Color(.sRGB, red: 0.4706, green: 0.5490, blue: 0.3647, opacity: 1.0000)
    /// Cactus — Pale sage.
    public static let cactus = Color(.sRGB, red: 0.7373, green: 0.8196, blue: 0.7922, opacity: 1.0000)
    /// Sky — Mid blue secondary.
    public static let sky = Color(.sRGB, red: 0.4157, green: 0.6078, blue: 0.8000, opacity: 1.0000)
    /// Heather — Pale lavender.
    public static let heather = Color(.sRGB, red: 0.7961, green: 0.7922, blue: 0.8588, opacity: 1.0000)
    /// Fig — Muted rose-magenta.
    public static let fig = Color(.sRGB, red: 0.7686, green: 0.4000, blue: 0.5255, opacity: 1.0000)
    /// Coral — Pale coral pink — pairs with clay.
    public static let coral = Color(.sRGB, red: 0.9216, green: 0.8078, blue: 0.8078, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.ivoryLight
    public static let surface = BrandSwatch.ivoryMedium
    public static let surfaceElevated = BrandSwatch.ivoryLight
    public static let textPrimary = BrandSwatch.slateDark
    public static let textSecondary = BrandSwatch.slateMedium
    public static let textTertiary = BrandSwatch.slateLight
    public static let primary = BrandSwatch.clay
    public static let primaryHover = BrandSwatch.accent
    public static let accent = BrandSwatch.clay
    public static let accentHover = BrandSwatch.accent
    public static let warning = BrandSwatch.kraft
    public static let warningHover = BrandSwatch.accent
    public static let error = BrandSwatch.fig
    public static let success = BrandSwatch.olive
    public static let border = BrandSwatch.ivoryDark
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.slateDark
    public static let surface = BrandSwatch.slateMedium
    public static let surfaceElevated = BrandSwatch.slateLight
    public static let textPrimary = BrandSwatch.ivoryLight
    public static let textSecondary = BrandSwatch.cloudMedium
    public static let textTertiary = BrandSwatch.cloudDark
    public static let primary = BrandSwatch.clay
    public static let primaryHover = BrandSwatch.accent
    public static let accent = BrandSwatch.clay
    public static let accentHover = BrandSwatch.accent
    public static let warning = BrandSwatch.manilla
    public static let warningHover = BrandSwatch.kraft
    public static let error = BrandSwatch.fig
    public static let success = BrandSwatch.cactus
    public static let border = BrandSwatch.slateLight
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.ivoryLight
    public static let onIdentity = BrandSwatch.slateDark
    public static let primary = BrandSwatch.clay
    public static let primaryHover = BrandSwatch.accent
    public static let accent = BrandSwatch.clay
    public static let accentHover = BrandSwatch.accent
    public static let mark = BrandSwatch.clay
    public static let success = BrandSwatch.olive
    public static let warning = BrandSwatch.kraft
    public static let error = BrandSwatch.fig
    public static let textPrimaryLight = BrandSwatch.slateDark
    public static let textPrimaryDark = BrandSwatch.ivoryLight
    public static let backgroundLight = BrandSwatch.ivoryLight
    public static let backgroundDark = BrandSwatch.slateDark
    public static let surfaceLight = BrandSwatch.ivoryMedium
    public static let surfaceDark = BrandSwatch.slateMedium
    public static let textSecondaryLight = BrandSwatch.slateMedium
    public static let textTertiaryLight = BrandSwatch.slateLight
    public static let borderLight = BrandSwatch.ivoryDark
}

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