//
// Cambridge (cambridge@1.0.0)
// Palette: cambridge@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 {
    /// Cambridge Blue — The contemporary Cambridge Blue — primary brand colour.
    public static let cambridgeBlue = Color(.sRGB, red: 0.5569, green: 0.9098, blue: 0.8471, opacity: 1.0000)
    /// Cambridge Light Blue — Light tint of Cambridge Blue — surface accents.
    public static let cambridgeLightBlue = Color(.sRGB, red: 0.8196, green: 0.9765, blue: 0.9451, opacity: 1.0000)
    /// Cambridge Warm Blue — Saturated teal — digital accent / hover.
    public static let cambridgeWarmBlue = Color(.sRGB, red: 0.0000, green: 0.7412, blue: 0.7137, opacity: 1.0000)
    /// Cambridge Dark Blue — Deep teal-navy — primary text / dark canvas.
    public static let cambridgeDarkBlue = Color(.sRGB, red: 0.0745, green: 0.2196, blue: 0.2667, opacity: 1.0000)
    /// Heritage Cambridge Blue — Traditional Cambridge Blue (closer to muted sage-green).
    public static let heritageCambridgeBlue = Color(.sRGB, red: 0.5216, green: 0.6902, blue: 0.6039, opacity: 1.0000)
    /// Light Crest — Pale crest — pastel accent.
    public static let lightCrest = Color(.sRGB, red: 1.0000, green: 0.8863, blue: 0.7843, opacity: 1.0000)
    /// Warm Crest — Warm crest — soft accent.
    public static let warmCrest = Color(.sRGB, red: 1.0000, green: 0.7647, blue: 0.5725, opacity: 1.0000)
    /// Crest — Crest orange — saturated accent.
    public static let crest = Color(.sRGB, red: 0.9922, green: 0.5059, blue: 0.3255, opacity: 1.0000)
    /// Dark Crest — Deep crest red — strong accent / warning.
    public static let darkCrest = Color(.sRGB, red: 0.8667, green: 0.1882, blue: 0.1451, opacity: 1.0000)
    /// Light Cherry — Pale cherry — pastel accent.
    public static let lightCherry = Color(.sRGB, red: 0.9490, green: 0.7922, blue: 0.8471, opacity: 1.0000)
    /// Warm Cherry — Mid pink — accent.
    public static let warmCherry = Color(.sRGB, red: 0.8824, green: 0.5412, blue: 0.6745, opacity: 1.0000)
    /// Cherry — Saturated cherry — accent.
    public static let cherry = Color(.sRGB, red: 0.8039, green: 0.2078, blue: 0.4471, opacity: 1.0000)
    /// Dark Cherry — Deep cherry — strong accent / error.
    public static let darkCherry = Color(.sRGB, red: 0.5686, green: 0.0784, blue: 0.2863, opacity: 1.0000)
    /// Light Purple — Pale purple — pastel accent.
    public static let lightPurple = Color(.sRGB, red: 0.9490, green: 0.9255, blue: 0.9725, opacity: 1.0000)
    /// Warm Purple — Mid purple — accent.
    public static let warmPurple = Color(.sRGB, red: 0.8196, green: 0.7176, blue: 0.9216, opacity: 1.0000)
    /// Purple — Saturated purple — accent.
    public static let purple = Color(.sRGB, red: 0.6392, green: 0.4078, blue: 0.8745, opacity: 1.0000)
    /// Dark Purple — Deep purple — strong accent.
    public static let darkPurple = Color(.sRGB, red: 0.4078, green: 0.1216, blue: 0.6941, opacity: 1.0000)
    /// Light Indigo — Pale indigo — pastel accent.
    public static let lightIndigo = Color(.sRGB, red: 0.9216, green: 0.9294, blue: 0.9843, opacity: 1.0000)
    /// Warm Indigo — Mid indigo — accent.
    public static let warmIndigo = Color(.sRGB, red: 0.6902, green: 0.7255, blue: 0.9451, opacity: 1.0000)
    /// Indigo — Saturated indigo — accent / link.
    public static let indigo = Color(.sRGB, red: 0.3255, green: 0.4000, blue: 0.8784, opacity: 1.0000)
    /// Dark Indigo — Deep indigo — strong accent.
    public static let darkIndigo = Color(.sRGB, red: 0.1608, green: 0.2039, blue: 0.4784, opacity: 1.0000)
    /// Light Green — Pale green — pastel accent.
    public static let lightGreen = Color(.sRGB, red: 0.8745, green: 0.9490, blue: 0.9176, opacity: 1.0000)
    /// Warm Green — Mid green — accent.
    public static let warmGreen = Color(.sRGB, red: 0.6863, green: 0.8745, blue: 0.7961, opacity: 1.0000)
    /// Green — Saturated green — success.
    public static let green = Color(.sRGB, red: 0.3020, green: 0.7176, blue: 0.5490, opacity: 1.0000)
    /// Dark Green — Deep green — strong accent.
    public static let darkGreen = Color(.sRGB, red: 0.0745, green: 0.3333, blue: 0.2275, opacity: 1.0000)
    /// Cambridge Judge Yellow — Cambridge Judge heritage yellow — warm institutional accent.
    public static let cambridgeJudgeYellow = Color(.sRGB, red: 1.0000, green: 0.7216, blue: 0.1098, 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)
    /// Slate 1 — Soft slate — surface tint.
    public static let slate1 = Color(.sRGB, red: 0.9255, green: 0.9333, blue: 0.9451, opacity: 1.0000)
    /// Slate 2 — Mid slate — border / divider.
    public static let slate2 = Color(.sRGB, red: 0.7098, green: 0.7412, blue: 0.7843, opacity: 1.0000)
    /// Slate 3 — Deep slate — secondary text.
    public static let slate3 = Color(.sRGB, red: 0.3294, green: 0.3765, blue: 0.4471, opacity: 1.0000)
    /// Slate 4 — Near-black slate — primary text on light.
    public static let slate4 = Color(.sRGB, red: 0.1373, green: 0.1569, blue: 0.1882, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.white
    public static let surface = BrandSwatch.slate1
    public static let surfaceElevated = BrandSwatch.white
    public static let textPrimary = BrandSwatch.slate4
    public static let textSecondary = BrandSwatch.slate3
    public static let textTertiary = BrandSwatch.slate2
    public static let primary = BrandSwatch.cambridgeBlue
    public static let primaryHover = BrandSwatch.cambridgeWarmBlue
    public static let accent = BrandSwatch.cambridgeWarmBlue
    public static let accentHover = BrandSwatch.cambridgeDarkBlue
    public static let link = BrandSwatch.indigo
    public static let linkHover = BrandSwatch.darkIndigo
    public static let warning = BrandSwatch.cambridgeJudgeYellow
    public static let warningHover = BrandSwatch.crest
    public static let error = BrandSwatch.darkCherry
    public static let success = BrandSwatch.green
    public static let border = BrandSwatch.slate2
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.cambridgeDarkBlue
    public static let surface = BrandSwatch.slate4
    public static let surfaceElevated = BrandSwatch.slate3
    public static let textPrimary = BrandSwatch.white
    public static let textSecondary = BrandSwatch.cambridgeLightBlue
    public static let textTertiary = BrandSwatch.slate2
    public static let primary = BrandSwatch.cambridgeBlue
    public static let primaryHover = BrandSwatch.cambridgeWarmBlue
    public static let accent = BrandSwatch.cambridgeLightBlue
    public static let accentHover = BrandSwatch.cambridgeWarmBlue
    public static let link = BrandSwatch.warmIndigo
    public static let linkHover = BrandSwatch.indigo
    public static let warning = BrandSwatch.cambridgeJudgeYellow
    public static let warningHover = BrandSwatch.crest
    public static let error = BrandSwatch.warmCherry
    public static let success = BrandSwatch.warmGreen
    public static let border = BrandSwatch.slate3
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.white
    public static let onIdentity = BrandSwatch.slate4
    public static let primary = BrandSwatch.cambridgeBlue
    public static let primaryHover = BrandSwatch.cambridgeWarmBlue
    public static let accent = BrandSwatch.cambridgeWarmBlue
    public static let accentHover = BrandSwatch.cambridgeDarkBlue
    public static let mark = BrandSwatch.cambridgeDarkBlue
    public static let success = BrandSwatch.green
    public static let warning = BrandSwatch.cambridgeJudgeYellow
    public static let error = BrandSwatch.darkCherry
    public static let textPrimaryLight = BrandSwatch.slate4
    public static let textPrimaryDark = BrandSwatch.white
    public static let backgroundLight = BrandSwatch.white
    public static let backgroundDark = BrandSwatch.cambridgeDarkBlue
    public static let surfaceLight = BrandSwatch.slate1
    public static let surfaceDark = BrandSwatch.slate4
    public static let textSecondaryLight = BrandSwatch.slate3
    public static let textTertiaryLight = BrandSwatch.slate2
    public static let borderLight = BrandSwatch.slate2
}

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