//
// Asana (asana@1.0.0)
// Palette: asana@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 {
    /// Asana Coral — Signature warm coral — the three-dot mark color. Primary brand accent used on the wordmark, the mark, and key brand surfaces.

    public static let asanaCoral = Color(.sRGB, red: 0.9412, green: 0.4157, blue: 0.4157, opacity: 1.0000)
    /// Asana White — Canvas on light surfaces; reversed wordmark fill.
    public static let asanaWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Asana Black — Near-black body text on light backgrounds — Asana's marketing-page text tone.
    public static let asanaBlack = Color(.sRGB, red: 0.1176, green: 0.1216, blue: 0.1294, opacity: 1.0000)
    /// Asana Canvas Dark — Authored dark-mode canvas — neutral near-black aligned with body-text tone.
    public static let asanaCanvasDark = Color(.sRGB, red: 0.1176, green: 0.1216, blue: 0.1294, opacity: 1.0000)
    /// Asana Surface Light — Authored warm panel surface for light mode.
    public static let asanaSurfaceLight = Color(.sRGB, red: 0.9647, green: 0.9569, blue: 0.9490, opacity: 1.0000)
    /// Asana Surface Dark — Authored elevated surface on dark mode.
    public static let asanaSurfaceDark = Color(.sRGB, red: 0.1765, green: 0.1804, blue: 0.1882, opacity: 1.0000)
    /// Asana Text Secondary — Authored secondary text — neutral mid-gray on light canvas.
    public static let asanaTextSecondary = Color(.sRGB, red: 0.4275, green: 0.4314, blue: 0.4353, opacity: 1.0000)
    /// Asana Text Tertiary — Authored tertiary / muted text.
    public static let asanaTextTertiary = Color(.sRGB, red: 0.6118, green: 0.6510, blue: 0.6863, opacity: 1.0000)
    /// Asana Coral Hover — Authored softer coral for hover / active states.
    public static let asanaCoralHover = Color(.sRGB, red: 0.9608, green: 0.5412, blue: 0.5412, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.asanaWhite
    public static let surface = BrandSwatch.asanaSurfaceLight
    public static let surfaceElevated = BrandSwatch.asanaWhite
    public static let textPrimary = BrandSwatch.asanaBlack
    public static let textSecondary = BrandSwatch.asanaTextSecondary
    public static let textTertiary = BrandSwatch.asanaTextTertiary
    public static let primary = BrandSwatch.asanaCoral
    public static let primaryHover = BrandSwatch.asanaCoralHover
    public static let accent = BrandSwatch.asanaCoral
    public static let accentHover = BrandSwatch.asanaCoralHover
    public static let warning = BrandSwatch.asanaCoral
    public static let warningHover = BrandSwatch.asanaCoralHover
    public static let error = BrandSwatch.asanaCoral
    public static let success = BrandSwatch.asanaCoral
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.asanaCanvasDark
    public static let surface = BrandSwatch.asanaSurfaceDark
    public static let surfaceElevated = BrandSwatch.asanaSurfaceDark
    public static let textPrimary = BrandSwatch.asanaWhite
    public static let textSecondary = BrandSwatch.asanaTextTertiary
    public static let textTertiary = BrandSwatch.asanaTextSecondary
    public static let primary = BrandSwatch.asanaCoral
    public static let primaryHover = BrandSwatch.asanaCoralHover
    public static let accent = BrandSwatch.asanaCoral
    public static let accentHover = BrandSwatch.asanaCoralHover
    public static let warning = BrandSwatch.asanaCoral
    public static let warningHover = BrandSwatch.asanaCoralHover
    public static let error = BrandSwatch.asanaCoral
    public static let success = BrandSwatch.asanaCoral
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.asanaCoral
    public static let onIdentity = BrandSwatch.asanaWhite
    public static let primary = BrandSwatch.asanaCoral
    public static let primaryHover = BrandSwatch.asanaCoralHover
    public static let accent = BrandSwatch.asanaCoral
    public static let accentHover = BrandSwatch.asanaCoralHover
    public static let success = BrandSwatch.asanaCoral
    public static let warning = BrandSwatch.asanaCoral
    public static let error = BrandSwatch.asanaCoral
    public static let backgroundLight = BrandSwatch.asanaWhite
    public static let backgroundDark = BrandSwatch.asanaCanvasDark
    public static let surfaceLight = BrandSwatch.asanaSurfaceLight
    public static let surfaceDark = BrandSwatch.asanaSurfaceDark
    public static let textPrimaryLight = BrandSwatch.asanaBlack
    public static let textPrimaryDark = BrandSwatch.asanaWhite
}

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