//
// Oracle (oracle@1.0.0)
// Palette: oracle@1.0.0
// Fonts:   heading=public-sans@1.0.0, body=public-sans@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 {
    /// Oracle Red — Modern Oracle Red — the brand mark color sampled from live feature modules.
    public static let oracleRed = Color(.sRGB, red: 0.7529, green: 0.3255, blue: 0.2471, opacity: 1.0000)
    /// Oracle Red Deep — Pressed / hover variant of Oracle Red for interactive surfaces.
    public static let oracleRedDeep = Color(.sRGB, red: 0.6275, green: 0.2392, blue: 0.1725, opacity: 1.0000)
    /// Oracle Canvas — Page canvas — the bright neutral surface oracle.com reads against.
    public static let oracleCanvas = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Oracle Stone — Warm light theme base; the section-fill surface on light modules.
    public static let oracleStone = Color(.sRGB, red: 0.9451, green: 0.9373, blue: 0.9294, opacity: 1.0000)
    /// Oracle Stone Disabled — Disabled-state surface tint; a step lighter than oracle-stone.
    public static let oracleStoneDisabled = Color(.sRGB, red: 0.9843, green: 0.9765, blue: 0.9725, opacity: 1.0000)
    /// Oracle Border — Quiet divider on the oracle-stone canvas.
    public static let oracleBorder = Color(.sRGB, red: 0.8941, green: 0.8824, blue: 0.8667, opacity: 1.0000)
    /// Oracle Ink — Primary text on oracle-canvas — deep near-black.
    public static let oracleInk = Color(.sRGB, red: 0.0863, green: 0.0824, blue: 0.0745, opacity: 1.0000)
    /// Oracle Ink Secondary — Secondary text; muted graphite for body copy de-emphasis.
    public static let oracleInkSecondary = Color(.sRGB, red: 0.2745, green: 0.3098, blue: 0.3098, opacity: 1.0000)
    /// Oracle Ink Tertiary — Tertiary text / caption tone — quiet metadata.
    public static let oracleInkTertiary = Color(.sRGB, red: 0.4118, green: 0.4667, blue: 0.4706, opacity: 1.0000)
    /// Oracle Ink Disabled — Disabled-state text tone.
    public static let oracleInkDisabled = Color(.sRGB, red: 0.6824, green: 0.6588, blue: 0.6353, opacity: 1.0000)
    /// Oracle Graphite — Primary CTA button fill — deep warm graphite for one-step-darker action surfaces.
    public static let oracleGraphite = Color(.sRGB, red: 0.1922, green: 0.1765, blue: 0.1647, opacity: 1.0000)
    /// Oracle Graphite Hover — Hover variant of oracle-graphite.
    public static let oracleGraphiteHover = Color(.sRGB, red: 0.2275, green: 0.2118, blue: 0.1961, opacity: 1.0000)
    /// Oracle Coal — Dark-mode canvas — the near-black product chrome surface.
    public static let oracleCoal = Color(.sRGB, red: 0.1255, green: 0.1176, blue: 0.1098, opacity: 1.0000)
    /// Oracle Coal Elevated — Elevated surface in dark mode.
    public static let oracleCoalElevated = Color(.sRGB, red: 0.1922, green: 0.1765, blue: 0.1647, opacity: 1.0000)
    /// Oracle Mist — Pale teal-gray secondary accent; the calm chrome wash on light modules.
    public static let oracleMist = Color(.sRGB, red: 0.7608, green: 0.8314, blue: 0.8314, opacity: 1.0000)
    /// Oracle Mist Deep — Mid teal-gray; supporting alt-accent.
    public static let oracleMistDeep = Color(.sRGB, red: 0.5451, green: 0.6157, blue: 0.6196, opacity: 1.0000)
    /// Oracle Link — Trust-blue link color used across long-form documentation.
    public static let oracleLink = Color(.sRGB, red: 0.0000, green: 0.4196, blue: 0.5608, opacity: 1.0000)
    /// Oracle Focus — Focus-ring color on form inputs (light + dark).
    public static let oracleFocus = Color(.sRGB, red: 0.1333, green: 0.4941, blue: 0.6196, opacity: 1.0000)
    /// Oracle Error — Form-error red — distinct from the brand Oracle Red mark color.
    public static let oracleError = Color(.sRGB, red: 0.8392, green: 0.2314, blue: 0.1451, opacity: 1.0000)
    /// Oracle Link Invert — Inverted link color used on dark backgrounds.
    public static let oracleLinkInvert = Color(.sRGB, red: 0.9412, green: 0.8000, blue: 0.4431, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.oracleCanvas
    public static let surface = BrandSwatch.oracleStone
    public static let surfaceElevated = BrandSwatch.oracleCanvas
    public static let textPrimary = BrandSwatch.oracleInk
    public static let textSecondary = BrandSwatch.oracleInkSecondary
    public static let textTertiary = BrandSwatch.oracleInkTertiary
    public static let primary = BrandSwatch.oracleGraphite
    public static let primaryHover = BrandSwatch.oracleGraphiteHover
    public static let accent = BrandSwatch.oracleRed
    public static let accentHover = BrandSwatch.oracleRedDeep
    public static let success = BrandSwatch.oracleLink
    public static let warning = BrandSwatch.oracleRed
    public static let error = BrandSwatch.oracleError
    public static let border = BrandSwatch.oracleBorder
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.oracleCoal
    public static let surface = BrandSwatch.oracleCoalElevated
    public static let surfaceElevated = BrandSwatch.oracleInkSecondary
    public static let textPrimary = BrandSwatch.oracleCanvas
    public static let textSecondary = BrandSwatch.oracleStone
    public static let textTertiary = BrandSwatch.oracleInkTertiary
    public static let primary = BrandSwatch.oracleCanvas
    public static let primaryHover = BrandSwatch.oracleStone
    public static let accent = BrandSwatch.oracleRed
    public static let accentHover = BrandSwatch.oracleRedDeep
    public static let success = BrandSwatch.oracleMist
    public static let warning = BrandSwatch.oracleRed
    public static let error = BrandSwatch.oracleError
    public static let border = BrandSwatch.oracleInkSecondary
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.oracleStone
    public static let onIdentity = BrandSwatch.oracleInk
    public static let primary = BrandSwatch.oracleGraphite
    public static let primaryHover = BrandSwatch.oracleGraphiteHover
    public static let accent = BrandSwatch.oracleRed
    public static let accentHover = BrandSwatch.oracleRedDeep
    public static let mark = BrandSwatch.oracleRed
    public static let success = BrandSwatch.oracleLink
    public static let warning = BrandSwatch.oracleRed
    public static let error = BrandSwatch.oracleError
    public static let textPrimaryLight = BrandSwatch.oracleInk
    public static let textPrimaryDark = BrandSwatch.oracleCanvas
    public static let backgroundLight = BrandSwatch.oracleCanvas
    public static let backgroundDark = BrandSwatch.oracleCoal
    public static let surfaceLight = BrandSwatch.oracleStone
    public static let surfaceDark = BrandSwatch.oracleCoalElevated
    public static let textSecondaryLight = BrandSwatch.oracleInkSecondary
    public static let textTertiaryLight = BrandSwatch.oracleInkTertiary
    public static let borderLight = BrandSwatch.oracleBorder
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Public Sans (public-sans@1.0.0)
    public static let heading = "Public Sans"
    /// Public Sans (public-sans@1.0.0)
    public static let body = "Public Sans"
    /// Source Code Pro (source-code-pro@1.0.0)
    public static let mono = "Source Code Pro"
}
