//
// Roblox (roblox@1.0.0)
// Palette: roblox@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 {
    /// Emphasis Blue — Primary brand action — --color-system-emphasis and --color-extended-blue-700. The Foundation system's identifying action color across both modes.

    public static let emphasisBlue = Color(.sRGB, red: 0.2000, green: 0.3725, blue: 1.0000, opacity: 1.0000)
    /// Emphasis Blue Link — Inline-link variant for light mode — --light-mode-content- link and --color-extended-blue-800.

    public static let emphasisBlueLink = Color(.sRGB, red: 0.0784, green: 0.2745, blue: 1.0000, opacity: 1.0000)
    /// Emphasis Blue Bright — Link variant for dark mode — --dark-mode-content-link and --color-extended-blue-600.

    public static let emphasisBlueBright = Color(.sRGB, red: 0.3216, green: 0.5451, blue: 1.0000, opacity: 1.0000)
    /// Emphasis Blue Pale — Pale link / tertiary blue — --color-extended-blue-400.

    public static let emphasisBluePale = Color(.sRGB, red: 0.5608, green: 0.7059, blue: 1.0000, opacity: 1.0000)
    /// Emphasis Blue Light — Lightest blue surface — --color-extended-blue-100. Soft branded background tint.

    public static let emphasisBlueLight = Color(.sRGB, red: 0.9216, green: 0.9451, blue: 1.0000, opacity: 1.0000)
    /// Emphasis Blue Deep — Deep blue — --color-extended-blue-1000. Pressed-state brand action.

    public static let emphasisBlueDeep = Color(.sRGB, red: 0.0000, green: 0.1765, blue: 0.8392, opacity: 1.0000)
    /// Emphasis Blue Deepest — Deepest blue — --color-extended-blue-1400. The "soft emphasis foreground" color (--color-action-soft-emphasis- foreground).

    public static let emphasisBlueDeepest = Color(.sRGB, red: 0.0000, green: 0.0784, blue: 0.3608, opacity: 1.0000)
    /// Ink — Primary dark canvas — --dark-mode-surface-0 and --color-extended-gray-1200. The deepest Foundation surface.

    public static let ink = Color(.sRGB, red: 0.0706, green: 0.0706, blue: 0.0824, opacity: 1.0000)
    /// Ink Elevated — Dark elevated surface — --dark-mode-surface-100 and --color-extended-gray-1100. The body background on the consumer site (observed as the live body backgroundColor).

    public static let inkElevated = Color(.sRGB, red: 0.0980, green: 0.1020, blue: 0.1216, opacity: 1.0000)
    /// Ink Surface — Mid dark surface — --dark-mode-surface-200 and --color-extended-gray-1000.

    public static let inkSurface = Color(.sRGB, red: 0.1255, green: 0.1333, blue: 0.1529, opacity: 1.0000)
    /// Ink Card — Elevated card on dark — --dark-mode-surface-300 and --color-extended-gray-900.

    public static let inkCard = Color(.sRGB, red: 0.1529, green: 0.1608, blue: 0.1882, opacity: 1.0000)
    /// Paper — Primary light canvas — --light-mode-surface-0 and --color-surface-0.

    public static let paper = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Paper Elevated — Light elevated surface — --light-mode-surface-100 and --color-extended-gray-100.

    public static let paperElevated = Color(.sRGB, red: 0.9686, green: 0.9686, blue: 0.9725, opacity: 1.0000)
    /// Paper Divider — Quiet divider — --color-extended-gray-200.

    public static let paperDivider = Color(.sRGB, red: 0.9333, green: 0.9373, blue: 0.9451, opacity: 1.0000)
    /// Paper Line — UI line — --color-extended-gray-300.

    public static let paperLine = Color(.sRGB, red: 0.9020, green: 0.9059, blue: 0.9176, opacity: 1.0000)
    /// Content Emphasis — Primary text on light — --light-mode-content-emphasis and --color-extended-gray-1000.

    public static let contentEmphasis = Color(.sRGB, red: 0.1255, green: 0.1333, blue: 0.1529, opacity: 1.0000)
    /// Content Default — Secondary text on light — --color-content-default and --color-extended-gray-700.

    public static let contentDefault = Color(.sRGB, red: 0.2863, green: 0.3020, blue: 0.3529, opacity: 1.0000)
    /// Content Muted — Tertiary text — --color-content-muted and --color- extended-gray-600.

    public static let contentMuted = Color(.sRGB, red: 0.4157, green: 0.4353, blue: 0.5059, opacity: 1.0000)
    /// Content Soft — Quiet text on dark / quaternary text — --color-extended- gray-500 and --dark-mode-content-muted.

    public static let contentSoft = Color(.sRGB, red: 0.7373, green: 0.7451, blue: 0.7843, opacity: 1.0000)
    /// Content Soft Light — Pale text on dark — --dark-mode-content-default and --color-extended-gray-400.

    public static let contentSoftLight = Color(.sRGB, red: 0.8353, green: 0.8431, blue: 0.8667, opacity: 1.0000)
    /// System Success — Success green — --color-system-success and --color- extended-green-500.

    public static let systemSuccess = Color(.sRGB, red: 0.2235, green: 0.7725, blue: 0.5098, opacity: 1.0000)
    /// System Warning — Warning amber — --color-system-warning and --color- extended-yellow-400.

    public static let systemWarning = Color(.sRGB, red: 0.9490, green: 0.7294, blue: 0.1647, opacity: 1.0000)
    /// System Alert — Alert / error red — --color-system-alert and --color- extended-red-800.

    public static let systemAlert = Color(.sRGB, red: 0.8745, green: 0.1569, blue: 0.1216, opacity: 1.0000)
    /// System Alert Dark — Alert text on dark — --dark-mode-action-alert-foreground.

    public static let systemAlertDark = Color(.sRGB, red: 0.9412, green: 0.2667, blue: 0.2000, opacity: 1.0000)
    /// Accent Magenta — Magenta accent — --color-extended-magenta-800. Used for sub-brand and creator-tag accents.

    public static let accentMagenta = Color(.sRGB, red: 0.7529, green: 0.0392, blue: 0.9098, opacity: 1.0000)
    /// Accent Purple — Purple accent — --color-extended-purple-800.

    public static let accentPurple = Color(.sRGB, red: 0.5765, green: 0.2824, blue: 0.9412, opacity: 1.0000)
    /// Accent Turquoise — Turquoise accent — --color-extended-turquoise-800.

    public static let accentTurquoise = Color(.sRGB, red: 0.0706, green: 0.4902, blue: 0.5961, opacity: 1.0000)
    /// Accent Orange — Orange accent — --color-extended-orange-800.

    public static let accentOrange = Color(.sRGB, red: 0.7529, green: 0.3137, blue: 0.0784, opacity: 1.0000)
    /// Accent Pink — Pink accent — --color-extended-pink-800.

    public static let accentPink = Color(.sRGB, red: 0.8039, green: 0.2157, blue: 0.4824, 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.contentEmphasis
    public static let textSecondary = BrandSwatch.contentDefault
    public static let textTertiary = BrandSwatch.contentMuted
    public static let primary = BrandSwatch.emphasisBlue
    public static let primaryHover = BrandSwatch.emphasisBlueDeep
    public static let accent = BrandSwatch.emphasisBlueLink
    public static let accentHover = BrandSwatch.emphasisBlueDeep
    public static let warning = BrandSwatch.systemWarning
    public static let warningHover = BrandSwatch.accentOrange
    public static let error = BrandSwatch.systemAlert
    public static let success = BrandSwatch.systemSuccess
    public static let border = BrandSwatch.paperLine
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.inkElevated
    public static let surface = BrandSwatch.inkSurface
    public static let surfaceElevated = BrandSwatch.inkCard
    public static let textPrimary = BrandSwatch.paperElevated
    public static let textSecondary = BrandSwatch.contentSoftLight
    public static let textTertiary = BrandSwatch.contentSoft
    public static let primary = BrandSwatch.emphasisBlue
    public static let primaryHover = BrandSwatch.emphasisBlueBright
    public static let accent = BrandSwatch.emphasisBlueBright
    public static let accentHover = BrandSwatch.emphasisBluePale
    public static let warning = BrandSwatch.systemWarning
    public static let warningHover = BrandSwatch.accentOrange
    public static let error = BrandSwatch.systemAlertDark
    public static let success = BrandSwatch.systemSuccess
    public static let border = BrandSwatch.inkCard
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.inkElevated
    public static let onIdentity = BrandSwatch.emphasisBlue
    public static let primary = BrandSwatch.emphasisBlue
    public static let primaryHover = BrandSwatch.emphasisBlueDeep
    public static let accent = BrandSwatch.emphasisBlueLink
    public static let accentHover = BrandSwatch.emphasisBlueDeep
    public static let mark = BrandSwatch.paperElevated
    public static let success = BrandSwatch.systemSuccess
    public static let warning = BrandSwatch.systemWarning
    public static let error = BrandSwatch.systemAlert
    public static let textPrimaryLight = BrandSwatch.contentEmphasis
    public static let textPrimaryDark = BrandSwatch.paperElevated
    public static let backgroundLight = BrandSwatch.paper
    public static let backgroundDark = BrandSwatch.inkElevated
    public static let surfaceLight = BrandSwatch.paperElevated
    public static let surfaceDark = BrandSwatch.inkSurface
    public static let textSecondaryLight = BrandSwatch.contentDefault
    public static let textTertiaryLight = BrandSwatch.contentMuted
    public static let borderLight = BrandSwatch.paperLine
}

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