//
// Convergent Systems (convergent-systems@1.0.0)
// Palette: convergent-deep-space@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@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 {
    /// Deep Space 0 (canvas) — Primary canvas — the deepest base.
    public static let deepSpace0 = Color(.sRGB, red: 0.0275, green: 0.0353, blue: 0.0588, opacity: 1.0000)
    /// Deep Space 1 — Slightly elevated surface above canvas.
    public static let deepSpace1 = Color(.sRGB, red: 0.0431, green: 0.0627, blue: 0.1255, opacity: 1.0000)
    /// Deep Space 2 — Elevated surface for cards, modals, panels.
    public static let deepSpace2 = Color(.sRGB, red: 0.0667, green: 0.0941, blue: 0.1725, opacity: 1.0000)
    /// Snow 0 (foreground) — Primary text on deep-space canvas.
    public static let snow0 = Color(.sRGB, red: 0.9333, green: 0.9451, blue: 0.9686, opacity: 1.0000)
    /// Snow 1 (muted) — Secondary text, descriptions, captions.
    public static let snow1 = Color(.sRGB, red: 0.6431, green: 0.6784, blue: 0.7490, opacity: 1.0000)
    /// Snow 2 (muted-soft) — Tertiary text, disabled states, micro-copy.
    public static let snow2 = Color(.sRGB, red: 0.4902, green: 0.5255, blue: 0.6000, opacity: 1.0000)
    /// Frost Cyan — Primary accent. Links, interactive elements, focus ring.
    public static let frostCyan = Color(.sRGB, red: 0.3608, green: 0.8392, blue: 1.0000, opacity: 1.0000)
    /// Frost Cyan Soft (hover) — Hover/active state of the primary accent.
    public static let frostCyanSoft = Color(.sRGB, red: 0.5529, green: 0.8941, blue: 1.0000, opacity: 1.0000)
    /// Solar Gold — Brand mark color. The hexagonal-spiral logo, key wordmark accents.
    public static let solarGold = Color(.sRGB, red: 0.9569, green: 0.7804, blue: 0.3686, opacity: 1.0000)
    /// Solar Gold Soft — Soft gold for backgrounds, hover states, secondary emphasis.
    public static let solarGoldSoft = Color(.sRGB, red: 1.0000, green: 0.8510, blue: 0.5098, opacity: 1.0000)
    /// Ember Orange — Tertiary accent. Ambient warmth, secondary calls-to-action.
    public static let emberOrange = Color(.sRGB, red: 1.0000, green: 0.5412, blue: 0.2392, opacity: 1.0000)
    /// Ember Orange Soft — Soft orange for backgrounds, hover states.
    public static let emberOrangeSoft = Color(.sRGB, red: 1.0000, green: 0.6902, blue: 0.4392, opacity: 1.0000)
    /// Hairline Faint — Subtle borders, dividers (white at ~8% alpha).
    public static let hairlineFaint = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 0.0784)
    /// Hairline Strong — Stronger borders for emphasized separations (~14% alpha).
    public static let hairlineStrong = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 0.1412)
    /// Pure White
    public static let pureWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Pure Black
    public static let pureBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Parchment Canvas (light bg) — Warm cream canvas for light mode — complements gold accent.
    public static let parchmentCanvas = Color(.sRGB, red: 0.9765, green: 0.9686, blue: 0.9412, opacity: 1.0000)
    /// Parchment Surface — Elevated surface above the parchment canvas.
    public static let parchmentSurface = Color(.sRGB, red: 0.9922, green: 0.9882, blue: 0.9686, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.parchmentCanvas
    public static let surface = BrandSwatch.parchmentSurface
    public static let surfaceElevated = BrandSwatch.pureWhite
    public static let textPrimary = BrandSwatch.deepSpace0
    public static let textSecondary = BrandSwatch.deepSpace1
    public static let textTertiary = BrandSwatch.snow2
    public static let primary = BrandSwatch.frostCyan
    public static let primaryHover = BrandSwatch.frostCyanSoft
    public static let accent = BrandSwatch.solarGold
    public static let accentHover = BrandSwatch.solarGoldSoft
    public static let warning = BrandSwatch.emberOrange
    public static let warningHover = BrandSwatch.emberOrangeSoft
    public static let mark = BrandSwatch.solarGold
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.deepSpace0
    public static let surface = BrandSwatch.deepSpace1
    public static let surfaceElevated = BrandSwatch.deepSpace2
    public static let textPrimary = BrandSwatch.snow0
    public static let textSecondary = BrandSwatch.snow1
    public static let textTertiary = BrandSwatch.snow2
    public static let primary = BrandSwatch.frostCyan
    public static let primaryHover = BrandSwatch.frostCyanSoft
    public static let accent = BrandSwatch.solarGold
    public static let accentHover = BrandSwatch.solarGoldSoft
    public static let warning = BrandSwatch.emberOrange
    public static let warningHover = BrandSwatch.emberOrangeSoft
    public static let mark = BrandSwatch.solarGold
    public static let hairline = BrandSwatch.hairlineFaint
    public static let hairlineStrong = BrandSwatch.hairlineStrong
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.deepSpace0
    public static let onIdentity = BrandSwatch.snow0
    public static let background = BrandSwatch.deepSpace0
    public static let surface = BrandSwatch.deepSpace1
    public static let surfaceElevated = BrandSwatch.deepSpace2
    public static let textPrimary = BrandSwatch.snow0
    public static let textSecondary = BrandSwatch.snow1
    public static let textTertiary = BrandSwatch.snow2
    public static let primary = BrandSwatch.frostCyan
    public static let primaryHover = BrandSwatch.frostCyanSoft
    public static let accent = BrandSwatch.solarGold
    public static let accentHover = BrandSwatch.solarGoldSoft
    public static let mark = BrandSwatch.solarGold
    public static let warmth = BrandSwatch.emberOrange
    public static let textEmphasis = BrandSwatch.snow0
    public static let textMuted = BrandSwatch.snow1
}

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