//
// MIT (mit@1.0.0)
// Palette: mit@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@1.0.0, serif=lora@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 {
    /// MIT Red — The institutional crimson — primary brand colour.
    public static let mitRed = Color(.sRGB, red: 0.4588, green: 0.0000, blue: 0.0784, opacity: 1.0000)
    /// Bright Red — Digital accent / activation red. Not a replacement for MIT Red.
    public static let brightRed = Color(.sRGB, red: 1.0000, green: 0.0784, blue: 0.1373, opacity: 1.0000)
    /// Silver Gray — Core neutral — cool silver used alongside MIT Red.
    public static let silverGray = Color(.sRGB, red: 0.5451, green: 0.5843, blue: 0.6196, opacity: 1.0000)
    /// Black — Body text and dark surfaces.
    public static let black = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// White — Primary canvas in light mode.
    public static let white = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Dark Gray 1 — Mid-dark text on light surfaces.
    public static let darkGray1 = Color(.sRGB, red: 0.2510, green: 0.2745, blue: 0.2980, opacity: 1.0000)
    /// Dark Gray 2 — Primary text / dark-mode canvas.
    public static let darkGray2 = Color(.sRGB, red: 0.1294, green: 0.1373, blue: 0.1490, opacity: 1.0000)
    /// Dark Silver Gray — Secondary text on light; deeper silver tone.
    public static let darkSilverGray = Color(.sRGB, red: 0.3843, green: 0.4157, blue: 0.4510, opacity: 1.0000)
    /// Light Silver Gray — Quiet text on dark; light divider.
    public static let lightSilverGray = Color(.sRGB, red: 0.7216, green: 0.7608, blue: 0.8000, opacity: 1.0000)
    /// Light Gray 1 — Soft surface tint on light canvas.
    public static let lightGray1 = Color(.sRGB, red: 0.9490, green: 0.9569, blue: 0.9725, opacity: 1.0000)
    /// Light Gray 2 — Border / divider on light canvas.
    public static let lightGray2 = Color(.sRGB, red: 0.8667, green: 0.8824, blue: 0.9020, opacity: 1.0000)
    /// Dark Pink — Deep magenta — expanded accent.
    public static let darkPink = Color(.sRGB, red: 0.4588, green: 0.0000, blue: 0.3843, opacity: 1.0000)
    /// Pink — Saturated digital pink.
    public static let pink = Color(.sRGB, red: 1.0000, green: 0.0784, blue: 0.9412, opacity: 1.0000)
    /// Light Pink — Pastel pink — illustration tint.
    public static let lightPink = Color(.sRGB, red: 1.0000, green: 0.7020, blue: 1.0000, opacity: 1.0000)
    /// Dark Purple — Deep violet — expanded accent.
    public static let darkPurple = Color(.sRGB, red: 0.2431, green: 0.0000, blue: 0.4196, opacity: 1.0000)
    /// Purple — Saturated digital purple.
    public static let purple = Color(.sRGB, red: 0.6000, green: 0.2000, blue: 1.0000, opacity: 1.0000)
    /// Light Purple — Pastel violet — illustration tint.
    public static let lightPurple = Color(.sRGB, red: 0.7490, green: 0.7020, blue: 1.0000, opacity: 1.0000)
    /// Dark Blue — Deep institutional blue — expanded accent.
    public static let darkBlue = Color(.sRGB, red: 0.0000, green: 0.1569, blue: 0.5882, opacity: 1.0000)
    /// Blue — Saturated digital blue.
    public static let blue = Color(.sRGB, red: 0.0980, green: 0.4000, blue: 1.0000, opacity: 1.0000)
    /// Light Blue — Pastel sky — illustration tint.
    public static let lightBlue = Color(.sRGB, red: 0.6000, green: 0.9216, blue: 1.0000, opacity: 1.0000)
    /// Dark Green — Deep forest green — expanded accent.
    public static let darkGreen = Color(.sRGB, red: 0.0000, green: 0.3020, blue: 0.1020, opacity: 1.0000)
    /// Green — Saturated digital green — success surface.
    public static let green = Color(.sRGB, red: 0.0000, green: 0.6784, blue: 0.0000, opacity: 1.0000)
    /// Light Green — Pastel lime — illustration tint.
    public static let lightGreen = Color(.sRGB, red: 0.6667, green: 1.0000, blue: 0.2000, opacity: 1.0000)
    /// Yellow — Saturated digital yellow — warning / highlight.
    public static let yellow = Color(.sRGB, red: 1.0000, green: 0.9216, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.white
    public static let surface = BrandSwatch.lightGray1
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.darkGray2
    public static let textSecondary = BrandSwatch.darkGray1
    public static let textTertiary = BrandSwatch.darkSilverGray
    public static let primary = BrandSwatch.mitRed
    public static let primaryHover = BrandSwatch.brightRed
    public static let accent = BrandSwatch.brightRed
    public static let accentHover = BrandSwatch.mitRed
    public static let warning = BrandSwatch.yellow
    public static let warningHover = BrandSwatch.yellow
    public static let error = BrandSwatch.brightRed
    public static let success = BrandSwatch.green
    public static let border = BrandSwatch.lightGray2
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.darkGray2
    public static let surface = BrandSwatch.darkGray1
    public static let surfaceElevated = BrandSwatch.darkSilverGray
    public static let textPrimary = BrandSwatch.white
    public static let textSecondary = BrandSwatch.lightSilverGray
    public static let textTertiary = BrandSwatch.silverGray
    public static let primary = BrandSwatch.brightRed
    public static let primaryHover = BrandSwatch.mitRed
    public static let accent = BrandSwatch.brightRed
    public static let accentHover = BrandSwatch.mitRed
    public static let warning = BrandSwatch.yellow
    public static let warningHover = BrandSwatch.yellow
    public static let error = BrandSwatch.brightRed
    public static let success = BrandSwatch.lightGreen
    public static let border = BrandSwatch.darkSilverGray
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.white
    public static let onIdentity = BrandSwatch.darkGray2
    public static let primary = BrandSwatch.mitRed
    public static let primaryHover = BrandSwatch.brightRed
    public static let accent = BrandSwatch.brightRed
    public static let accentHover = BrandSwatch.mitRed
    public static let mark = BrandSwatch.mitRed
    public static let success = BrandSwatch.green
    public static let warning = BrandSwatch.yellow
    public static let error = BrandSwatch.brightRed
    public static let textPrimaryLight = BrandSwatch.darkGray2
    public static let textPrimaryDark = BrandSwatch.white
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.darkGray2
    public static let surfaceLight = BrandSwatch.lightGray1
    public static let surfaceDark = BrandSwatch.darkGray1
    public static let textSecondaryLight = BrandSwatch.darkGray1
    public static let textTertiaryLight = BrandSwatch.darkSilverGray
    public static let borderLight = BrandSwatch.lightGray2
}

/// 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"
    /// Lora (lora@1.0.0)
    public static let serif = "Lora"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
