//
// Cohere (cohere@1.0.0)
// Palette: cohere@1.0.0
// Fonts:   heading=space-grotesk@1.0.0, body=space-grotesk@1.0.0, mono=geist-mono@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 {
    /// Ink Deep — Deepest near-black accent — gradient ground.
    public static let inkDeep = Color(.sRGB, red: 0.0627, green: 0.0627, blue: 0.0627, opacity: 1.0000)
    /// Ink — Primary dark canvas — Cohere Command surface ground.
    public static let ink = Color(.sRGB, red: 0.0902, green: 0.0902, blue: 0.1098, opacity: 1.0000)
    /// Ink Elevated — Elevated surface on dark canvas.
    public static let inkElevated = Color(.sRGB, red: 0.1294, green: 0.1294, blue: 0.1294, opacity: 1.0000)
    /// Ink Quiet — Subtle border on dark canvas.
    public static let inkQuiet = Color(.sRGB, red: 0.1804, green: 0.1804, blue: 0.1804, opacity: 1.0000)
    /// Paper — Light canvas — near-white marketing surface.
    public static let paper = Color(.sRGB, red: 0.9804, green: 0.9804, blue: 0.9804, opacity: 1.0000)
    /// Paper Elevated — Subtle elevated surface on paper canvas.
    public static let paperElevated = Color(.sRGB, red: 0.9490, green: 0.9490, blue: 0.9490, opacity: 1.0000)
    /// Paper Quiet — Border / quiet divider on paper canvas.
    public static let paperQuiet = Color(.sRGB, red: 0.8784, green: 0.8784, blue: 0.8784, opacity: 1.0000)
    /// Coral — Coral — the signature gradient origin stop.
    public static let coral = Color(.sRGB, red: 1.0000, green: 0.4667, blue: 0.3490, opacity: 1.0000)
    /// Coral Soft — Pale coral — tinted backgrounds and quiet accents.
    public static let coralSoft = Color(.sRGB, red: 1.0000, green: 0.8510, blue: 0.8157, opacity: 1.0000)
    /// Coral Deep — Pressed-coral variant for hover state.
    public static let coralDeep = Color(.sRGB, red: 0.7922, green: 0.2863, blue: 0.1765, opacity: 1.0000)
    /// Mauve — Mid gradient stop — mauve violet.
    public static let mauve = Color(.sRGB, red: 0.4627, green: 0.4392, blue: 0.7725, opacity: 1.0000)
    /// Cobalt — Cobalt — the signature gradient endpoint.
    public static let cobalt = Color(.sRGB, red: 0.2980, green: 0.4314, blue: 0.9020, opacity: 1.0000)
    /// Cobalt Soft — Soft cobalt for tinted surfaces.
    public static let cobaltSoft = Color(.sRGB, red: 0.5608, green: 0.6510, blue: 0.9765, opacity: 1.0000)
    /// Cobalt Pale — Pale cobalt — tinted background.
    public static let cobaltPale = Color(.sRGB, red: 0.8980, green: 0.9216, blue: 1.0000, opacity: 1.0000)
    /// Violet — Magenta-violet secondary accent.
    public static let violet = Color(.sRGB, red: 0.6078, green: 0.3765, blue: 0.6667, opacity: 1.0000)
    /// Violet Soft — Soft violet for tinted backgrounds.
    public static let violetSoft = Color(.sRGB, red: 0.8196, green: 0.5569, blue: 0.8863, opacity: 1.0000)
    /// Violet Pale — Pale violet tint.
    public static let violetPale = Color(.sRGB, red: 0.9294, green: 0.8549, blue: 0.9569, opacity: 1.0000)
    /// Jade — Deep jade — editorial and data-viz accent.
    public static let jade = Color(.sRGB, red: 0.2078, green: 0.3176, blue: 0.2745, opacity: 1.0000)
    /// Jade Soft — Soft jade for borders and quiet accents.
    public static let jadeSoft = Color(.sRGB, red: 0.4431, green: 0.5255, blue: 0.4941, opacity: 1.0000)
    /// Navy — Deep navy — editorial accent.
    public static let navy = Color(.sRGB, red: 0.0784, green: 0.1333, blue: 0.3255, opacity: 1.0000)
    /// Navy Mid — Mid navy — link / focus state.
    public static let navyMid = Color(.sRGB, red: 0.1765, green: 0.2980, blue: 0.7255, opacity: 1.0000)
    /// Ember — Ember-red — destructive action.
    public static let ember = Color(.sRGB, red: 0.7020, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Text on Paper — Body text on the Paper canvas.
    public static let textOnPaper = Color(.sRGB, red: 0.0902, green: 0.0902, blue: 0.1098, opacity: 1.0000)
    /// Text Secondary — Secondary text on Paper canvas.
    public static let textSecondary = Color(.sRGB, red: 0.3804, green: 0.3804, blue: 0.3804, opacity: 1.0000)
    /// Text Tertiary — Tertiary text on Paper canvas.
    public static let textTertiary = Color(.sRGB, red: 0.6118, green: 0.6392, blue: 0.6863, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.paper
    public static let surface = BrandSwatch.paperElevated
    public static let surfaceElevated = BrandSwatch.paper
    public static let textPrimary = BrandSwatch.textOnPaper
    public static let textSecondary = BrandSwatch.textSecondary
    public static let textTertiary = BrandSwatch.textTertiary
    public static let primary = BrandSwatch.coral
    public static let primaryHover = BrandSwatch.coralDeep
    public static let accent = BrandSwatch.cobalt
    public static let accentHover = BrandSwatch.navyMid
    public static let warning = BrandSwatch.coralSoft
    public static let warningHover = BrandSwatch.coral
    public static let error = BrandSwatch.ember
    public static let success = BrandSwatch.jade
    public static let border = BrandSwatch.paperQuiet
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.ink
    public static let surface = BrandSwatch.inkElevated
    public static let surfaceElevated = BrandSwatch.inkQuiet
    public static let textPrimary = BrandSwatch.paper
    public static let textSecondary = BrandSwatch.paperQuiet
    public static let textTertiary = BrandSwatch.textTertiary
    public static let primary = BrandSwatch.coral
    public static let primaryHover = BrandSwatch.coralDeep
    public static let accent = BrandSwatch.cobaltSoft
    public static let accentHover = BrandSwatch.cobalt
    public static let warning = BrandSwatch.coralSoft
    public static let warningHover = BrandSwatch.coral
    public static let error = BrandSwatch.ember
    public static let success = BrandSwatch.jadeSoft
    public static let border = BrandSwatch.inkQuiet
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.ink
    public static let onIdentity = BrandSwatch.paper
    public static let primary = BrandSwatch.coral
    public static let primaryHover = BrandSwatch.coralDeep
    public static let accent = BrandSwatch.cobalt
    public static let accentHover = BrandSwatch.navyMid
    public static let mark = BrandSwatch.coral
    public static let success = BrandSwatch.jade
    public static let warning = BrandSwatch.coralSoft
    public static let error = BrandSwatch.ember
    public static let textPrimaryLight = BrandSwatch.textOnPaper
    public static let textPrimaryDark = BrandSwatch.paper
    public static let backgroundLight = BrandSwatch.paper
    public static let backgroundDark = BrandSwatch.ink
    public static let surfaceLight = BrandSwatch.paperElevated
    public static let surfaceDark = BrandSwatch.inkElevated
    public static let textSecondaryLight = BrandSwatch.textSecondary
    public static let textTertiaryLight = BrandSwatch.textTertiary
    public static let borderLight = BrandSwatch.paperQuiet
    public static let borderDark = BrandSwatch.inkQuiet
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Space Grotesk (space-grotesk@1.0.0)
    public static let heading = "Space Grotesk"
    /// Space Grotesk (space-grotesk@1.0.0)
    public static let body = "Space Grotesk"
    /// Geist Mono (geist-mono@1.0.0)
    public static let mono = "Geist Mono"
}
