//
// Vue.js (vuejs@1.0.0)
// Palette: vuejs@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@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 {
    /// Vue Green — Primary brand color — the lighter top chevron of the Vue mark and the project's identity green.

    public static let vueGreen = Color(.sRGB, red: 0.3098, green: 0.7529, blue: 0.5529, opacity: 1.0000)
    /// Vue Green Dark — Secondary brand green — the darker bottom chevron of the mark; also the hover state on Vue Green.

    public static let vueGreenDark = Color(.sRGB, red: 0.2588, green: 0.7216, blue: 0.5137, opacity: 1.0000)
    /// Vue Navy — Companion dark color — used as body text on light surfaces and as the dark-mode canvas anchor.

    public static let vueNavy = Color(.sRGB, red: 0.2078, green: 0.2863, blue: 0.3686, opacity: 1.0000)
    /// Vue Navy Light — Lighter navy used for secondary text and dividers.
    public static let vueNavyLight = Color(.sRGB, red: 0.2784, green: 0.3961, blue: 0.5098, opacity: 1.0000)
    /// Vue Black — Deep canvas for dark-mode page background.
    public static let vueBlack = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1020, opacity: 1.0000)
    /// Vue Charcoal — Elevated dark surface.
    public static let vueCharcoal = Color(.sRGB, red: 0.1412, green: 0.1412, blue: 0.1412, opacity: 1.0000)
    /// Vue Gray — Mid neutral.
    public static let vueGray = Color(.sRGB, red: 0.4941, green: 0.4941, blue: 0.4941, opacity: 1.0000)
    /// Vue Light Gray — Hairline borders.
    public static let vueLightGray = Color(.sRGB, red: 0.8353, green: 0.8353, blue: 0.8353, opacity: 1.0000)
    /// Vue Off-White — Subtle layered surface.
    public static let vueOffWhite = Color(.sRGB, red: 0.9647, green: 0.9647, blue: 0.9686, opacity: 1.0000)
    /// Vue White — Page canvas in light mode.
    public static let vueWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.vueWhite
    public static let surface = BrandSwatch.vueOffWhite
    public static let surfaceElevated = BrandSwatch.vueWhite
    public static let textPrimary = BrandSwatch.vueNavy
    public static let textSecondary = BrandSwatch.vueNavyLight
    public static let textTertiary = BrandSwatch.vueGray
    public static let primary = BrandSwatch.vueGreen
    public static let primaryHover = BrandSwatch.vueGreenDark
    public static let accent = BrandSwatch.vueNavy
    public static let accentHover = BrandSwatch.vueNavyLight
    public static let warning = BrandSwatch.vueGreenDark
    public static let warningHover = BrandSwatch.vueGreen
    public static let error = BrandSwatch.vueGreenDark
    public static let success = BrandSwatch.vueGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.vueBlack
    public static let surface = BrandSwatch.vueCharcoal
    public static let surfaceElevated = BrandSwatch.vueNavy
    public static let textPrimary = BrandSwatch.vueWhite
    public static let textSecondary = BrandSwatch.vueLightGray
    public static let textTertiary = BrandSwatch.vueGray
    public static let primary = BrandSwatch.vueGreen
    public static let primaryHover = BrandSwatch.vueGreenDark
    public static let accent = BrandSwatch.vueNavyLight
    public static let accentHover = BrandSwatch.vueLightGray
    public static let warning = BrandSwatch.vueGreenDark
    public static let warningHover = BrandSwatch.vueGreen
    public static let error = BrandSwatch.vueGreenDark
    public static let success = BrandSwatch.vueGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.vueGreen
    public static let onIdentity = BrandSwatch.vueWhite
    public static let primary = BrandSwatch.vueGreen
    public static let primaryHover = BrandSwatch.vueGreenDark
    public static let accent = BrandSwatch.vueNavy
    public static let accentHover = BrandSwatch.vueNavyLight
    public static let background = BrandSwatch.vueWhite
    public static let surface = BrandSwatch.vueOffWhite
    public static let textPrimary = BrandSwatch.vueNavy
    public static let textSecondary = BrandSwatch.vueNavyLight
}

/// 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"
    /// Source Code Pro (source-code-pro@1.0.0)
    public static let mono = "Source Code Pro"
}
