//
// Perplexity (perplexity@1.0.0)
// Palette: perplexity@1.0.0
// Fonts:   heading=space-grotesk@1.0.0, body=space-grotesk@1.0.0, serif=pt-serif@1.0.0, mono=geist-mono@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 {
    /// Inky — Primary dark canvas — Perplexity's documented dark theme-color meta.
    public static let inky = Color(.sRGB, red: 0.0627, green: 0.0549, blue: 0.0706, opacity: 1.0000)
    /// Inky Deep — Deepest near-black accent with cool cyan undertone.
    public static let inkyDeep = Color(.sRGB, red: 0.0314, green: 0.1294, blue: 0.1451, opacity: 1.0000)
    /// Inky Elevated — Elevated surface on dark canvas.
    public static let inkyElevated = Color(.sRGB, red: 0.1216, green: 0.1294, blue: 0.1294, opacity: 1.0000)
    /// Inky Quiet — Subtle surface accent on dark canvas.
    public static let inkyQuiet = Color(.sRGB, red: 0.1294, green: 0.1059, blue: 0.1020, opacity: 1.0000)
    /// Paper — Light canvas — Perplexity's documented light theme-color meta.
    public static let paper = Color(.sRGB, red: 0.9882, green: 0.9882, blue: 0.9765, opacity: 1.0000)
    /// Paper Elevated — Subtle elevated surface on Paper canvas.
    public static let paperElevated = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// Paper Warm — Off-white text on dark canvas; warm fallback.
    public static let paperWarm = Color(.sRGB, red: 0.9686, green: 0.9686, blue: 0.9725, opacity: 1.0000)
    /// Peacock — Perplexity's signature peacock teal — the primary brand accent.
    public static let peacock = Color(.sRGB, red: 0.1216, green: 0.7216, blue: 0.8039, opacity: 1.0000)
    /// Peacock Bright — Bright peacock variant — primary action button.
    public static let peacockBright = Color(.sRGB, red: 0.1961, green: 0.7216, blue: 0.7765, opacity: 1.0000)
    /// Peacock Deep — Pressed-peacock variant for hover state.
    public static let peacockDeep = Color(.sRGB, red: 0.0745, green: 0.6235, blue: 0.6980, opacity: 1.0000)
    /// Peacock Soft — Soft peacock for tinted backgrounds and hover states.
    public static let peacockSoft = Color(.sRGB, red: 0.5725, green: 0.8627, blue: 0.8863, opacity: 1.0000)
    /// Peacock Button — Bright teal as rendered on docs primary buttons.
    public static let peacockButton = Color(.sRGB, red: 0.2078, green: 0.7412, blue: 0.7843, opacity: 1.0000)
    /// Peacock Banner — Deep peacock — banner / dark-mode primary surface.
    public static let peacockBanner = Color(.sRGB, red: 0.1020, green: 0.4078, blue: 0.4471, opacity: 1.0000)
    /// Peacock Pale — Pale peacock — soft tint variant.
    public static let peacockPale = Color(.sRGB, red: 0.1529, green: 0.7922, blue: 0.8784, opacity: 1.0000)
    /// Marigold — Marigold gold — editorial accent (Pro / Max indicators).
    public static let marigold = Color(.sRGB, red: 0.9412, green: 0.7059, blue: 0.2078, opacity: 1.0000)
    /// Marigold Soft — Soft marigold tint.
    public static let marigoldSoft = Color(.sRGB, red: 1.0000, green: 0.6706, blue: 0.2667, opacity: 1.0000)
    /// Marigold Pale — Pale marigold tint.
    public static let marigoldPale = Color(.sRGB, red: 0.9961, green: 0.9412, blue: 0.5412, opacity: 1.0000)
    /// Rust — Rust orange — editorial accent.
    public static let rust = Color(.sRGB, red: 0.9020, green: 0.5059, blue: 0.3804, opacity: 1.0000)
    /// Ember — Ember red — destructive action.
    public static let ember = Color(.sRGB, red: 0.8824, green: 0.0235, blue: 0.0000, opacity: 1.0000)
    /// Violet Soft — Soft violet — data-viz accent.
    public static let violetSoft = Color(.sRGB, red: 0.7686, green: 0.5569, blue: 0.8471, opacity: 1.0000)
    /// Text on Paper — Body text on the Paper canvas — deep ink.
    public static let textOnPaper = Color(.sRGB, red: 0.0706, green: 0.0824, blue: 0.0863, opacity: 1.0000)
    /// Text on Inky — Body text on the Inky canvas — soft warm white.
    public static let textOnInky = Color(.sRGB, red: 0.8784, green: 0.8784, blue: 0.8784, opacity: 1.0000)
    /// Text Secondary — Secondary text on either canvas.
    public static let textSecondary = Color(.sRGB, red: 0.3647, green: 0.3725, blue: 0.3725, opacity: 1.0000)
    /// Border Quiet — Quiet border — captured in dark-mode dot-bg literals.
    public static let borderQuiet = Color(.sRGB, red: 0.5176, green: 0.4588, blue: 0.3059, 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.textOnPaper
    public static let textSecondary = BrandSwatch.textSecondary
    public static let textTertiary = BrandSwatch.borderQuiet
    public static let primary = BrandSwatch.peacockDeep
    public static let primaryHover = BrandSwatch.peacockBanner
    public static let accent = BrandSwatch.peacock
    public static let accentHover = BrandSwatch.peacockDeep
    public static let warning = BrandSwatch.marigold
    public static let warningHover = BrandSwatch.marigoldSoft
    public static let error = BrandSwatch.ember
    public static let success = BrandSwatch.peacock
    public static let border = BrandSwatch.paperElevated
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.inky
    public static let surface = BrandSwatch.inkyElevated
    public static let surfaceElevated = BrandSwatch.inkyQuiet
    public static let textPrimary = BrandSwatch.textOnInky
    public static let textSecondary = BrandSwatch.paperWarm
    public static let textTertiary = BrandSwatch.textSecondary
    public static let primary = BrandSwatch.peacockBright
    public static let primaryHover = BrandSwatch.peacockSoft
    public static let accent = BrandSwatch.peacock
    public static let accentHover = BrandSwatch.peacockSoft
    public static let warning = BrandSwatch.marigold
    public static let warningHover = BrandSwatch.marigoldSoft
    public static let error = BrandSwatch.ember
    public static let success = BrandSwatch.peacockPale
    public static let border = BrandSwatch.inkyQuiet
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.inky
    public static let onIdentity = BrandSwatch.textOnInky
    public static let primary = BrandSwatch.peacockBright
    public static let primaryHover = BrandSwatch.peacockSoft
    public static let accent = BrandSwatch.peacock
    public static let accentHover = BrandSwatch.peacockDeep
    public static let mark = BrandSwatch.peacock
    public static let success = BrandSwatch.peacockPale
    public static let warning = BrandSwatch.marigold
    public static let error = BrandSwatch.ember
    public static let textPrimaryLight = BrandSwatch.textOnPaper
    public static let textPrimaryDark = BrandSwatch.textOnInky
    public static let backgroundLight = BrandSwatch.paper
    public static let backgroundDark = BrandSwatch.inky
    public static let surfaceLight = BrandSwatch.paperElevated
    public static let surfaceDark = BrandSwatch.inkyElevated
    public static let textSecondaryLight = BrandSwatch.textSecondary
    public static let textTertiaryLight = BrandSwatch.borderQuiet
    public static let borderLight = BrandSwatch.paperElevated
    public static let borderDark = BrandSwatch.inkyQuiet
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Space Grotesk (space-grotesk@1.0.0)
    public static let heading = "Space Grotesk"
    /// Space Grotesk (space-grotesk@1.0.0)
    public static let body = "Space Grotesk"
    /// PT Serif (pt-serif@1.0.0)
    public static let serif = "PT Serif"
    /// Geist Mono (geist-mono@1.0.0)
    public static let mono = "Geist Mono"
}
