//
// Nintendo (nintendo@1.0.0)
// Palette: nintendo@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 {
    /// Nintendo Red — The iconic Nintendo Red — --theme-color-primary. Used for the wordmark, primary CTA fills, inline links (--theme- colors-text-link), and the red description-tag accent.

    public static let nintendoRed = Color(.sRGB, red: 0.9020, green: 0.0000, blue: 0.0706, opacity: 1.0000)
    /// Nintendo Red Hover — Pressed / active variant of Nintendo Red — --theme-color- primaryHover. Used on hover and active states of the primary action.

    public static let nintendoRedHover = Color(.sRGB, red: 0.6745, green: 0.0000, blue: 0.0510, opacity: 1.0000)
    /// Nintendo Red Light — Pale red surface — --theme-color-primaryLight. Subtle branded background tint behind alerts and selected states.

    public static let nintendoRedLight = Color(.sRGB, red: 0.9922, green: 0.9020, blue: 0.9059, opacity: 1.0000)
    /// Nintendo Navy — Secondary brand color — --theme-color-secondary. Used for secondary CTAs (button-background-secondary), focus rings (--theme-color-focus), and the blue description-tag accent.

    public static let nintendoNavy = Color(.sRGB, red: 0.2235, green: 0.2745, blue: 0.6275, opacity: 1.0000)
    /// Nintendo Navy Hover — Pressed / active variant of Nintendo Navy — --theme-color- secondaryHover.

    public static let nintendoNavyHover = Color(.sRGB, red: 0.1647, green: 0.2039, blue: 0.4667, opacity: 1.0000)
    /// Nintendo Navy Light — Pale navy surface — --theme-color-secondaryLight. Quiet branded background tint.

    public static let nintendoNavyLight = Color(.sRGB, red: 0.7412, green: 0.7647, blue: 0.9098, opacity: 1.0000)
    /// Charcoal — Primary body text — --theme-color-darkGray2 and --theme- colors-text-standard. Nintendo's body-text ink across the light-first design system.

    public static let charcoal = Color(.sRGB, red: 0.2824, green: 0.2824, blue: 0.2824, opacity: 1.0000)
    /// Charcoal Dark — Deepest neutral — --theme-color-darkGray1. Headlines and high-emphasis text.

    public static let charcoalDark = Color(.sRGB, red: 0.1412, green: 0.1412, blue: 0.1412, opacity: 1.0000)
    /// Charcoal Mid — Secondary text — --theme-color-darkGray3.

    public static let charcoalMid = Color(.sRGB, red: 0.4471, green: 0.4471, blue: 0.4471, opacity: 1.0000)
    /// Charcoal Light — Tertiary text and quiet icon fills — --theme-color- darkGray4.

    public static let charcoalLight = Color(.sRGB, red: 0.5882, green: 0.5882, blue: 0.5882, opacity: 1.0000)
    /// Cloud Dark — Border / divider — --theme-color-lightGray1.

    public static let cloudDark = Color(.sRGB, red: 0.7843, green: 0.7843, blue: 0.7843, opacity: 1.0000)
    /// Cloud — Default UI line — --theme-color-lightGray2 and --theme- colors-ui-line. Disabled-button background.

    public static let cloud = Color(.sRGB, red: 0.8549, green: 0.8549, blue: 0.8549, opacity: 1.0000)
    /// Cloud Light — Quaternary surface — --theme-color-lightGray3. Hover state for quaternary buttons.

    public static let cloudLight = Color(.sRGB, red: 0.9373, green: 0.9373, blue: 0.9373, opacity: 1.0000)
    /// Cloud Lightest — Lightest neutral surface — --theme-color-lightGray4 and --theme-colors-ui-bgAccent. Alternate row backgrounds and search-input fill.

    public static let cloudLightest = Color(.sRGB, red: 0.9725, green: 0.9725, blue: 0.9725, opacity: 1.0000)
    /// Paper — Primary canvas — --theme-color-white and --theme-colors- ui-bgMain.

    public static let paper = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Tag Green — Documented green description-tag accent and success-state icon color — --theme-colors-descriptionTag-green and --theme-colors-alert-successIcon.

    public static let tagGreen = Color(.sRGB, red: 0.1765, green: 0.5216, blue: 0.0745, opacity: 1.0000)
    /// Tag Violet — Documented violet description-tag accent — --theme-colors- descriptionTag-violet.

    public static let tagViolet = Color(.sRGB, red: 0.5843, green: 0.1922, blue: 0.7255, opacity: 1.0000)
    /// Tag Blue — Documented blue description-tag accent — --theme-colors- descriptionTag-blue.

    public static let tagBlue = Color(.sRGB, red: 0.2941, green: 0.3608, blue: 0.8078, opacity: 1.0000)
    /// Tag Yellow — Warning icon color — --theme-colors-alert-warningIcon. Used on caution banners and maintenance notices.

    public static let tagYellow = Color(.sRGB, red: 0.7451, green: 0.6275, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.paper
    public static let surface = BrandSwatch.cloudLightest
    public static let surfaceElevated = BrandSwatch.paper
    public static let textPrimary = BrandSwatch.charcoal
    public static let textSecondary = BrandSwatch.charcoalMid
    public static let textTertiary = BrandSwatch.charcoalLight
    public static let primary = BrandSwatch.nintendoRed
    public static let primaryHover = BrandSwatch.nintendoRedHover
    public static let accent = BrandSwatch.nintendoNavy
    public static let accentHover = BrandSwatch.nintendoNavyHover
    public static let warning = BrandSwatch.tagYellow
    public static let warningHover = BrandSwatch.tagYellow
    public static let error = BrandSwatch.nintendoRed
    public static let success = BrandSwatch.tagGreen
    public static let border = BrandSwatch.cloud
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.charcoalDark
    public static let surface = BrandSwatch.charcoal
    public static let surfaceElevated = BrandSwatch.charcoalMid
    public static let textPrimary = BrandSwatch.paper
    public static let textSecondary = BrandSwatch.cloud
    public static let textTertiary = BrandSwatch.cloudDark
    public static let primary = BrandSwatch.nintendoRed
    public static let primaryHover = BrandSwatch.nintendoRedLight
    public static let accent = BrandSwatch.nintendoNavyLight
    public static let accentHover = BrandSwatch.nintendoNavy
    public static let warning = BrandSwatch.tagYellow
    public static let warningHover = BrandSwatch.tagYellow
    public static let error = BrandSwatch.nintendoRed
    public static let success = BrandSwatch.tagGreen
    public static let border = BrandSwatch.charcoalMid
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.paper
    public static let onIdentity = BrandSwatch.nintendoRed
    public static let primary = BrandSwatch.nintendoRed
    public static let primaryHover = BrandSwatch.nintendoRedHover
    public static let accent = BrandSwatch.nintendoNavy
    public static let accentHover = BrandSwatch.nintendoNavyHover
    public static let mark = BrandSwatch.nintendoRed
    public static let success = BrandSwatch.tagGreen
    public static let warning = BrandSwatch.tagYellow
    public static let error = BrandSwatch.nintendoRed
    public static let textPrimaryLight = BrandSwatch.charcoal
    public static let textPrimaryDark = BrandSwatch.paper
    public static let backgroundLight = BrandSwatch.paper
    public static let backgroundDark = BrandSwatch.charcoalDark
    public static let surfaceLight = BrandSwatch.cloudLightest
    public static let surfaceDark = BrandSwatch.charcoal
    public static let textSecondaryLight = BrandSwatch.charcoalMid
    public static let textTertiaryLight = BrandSwatch.charcoalLight
    public static let borderLight = BrandSwatch.cloud
}

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