//
// Netflix (netflix@1.0.0)
// Palette: netflix@1.0.0
// Fonts:   heading=netflix-sans@1.0.0, body=netflix-sans@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 {
    /// Netflix Red — Primary brand red — the Netflix wordmark and mark color.
    public static let netflixRed = Color(.sRGB, red: 0.8980, green: 0.0353, blue: 0.0784, opacity: 1.0000)
    /// Netflix Red Dark — Darker red used historically on the "N" ribbon and for hover/pressed states on the primary red.
    public static let netflixRedDark = Color(.sRGB, red: 0.7216, green: 0.1137, blue: 0.1412, opacity: 1.0000)
    /// Netflix Black — Canonical canvas — the Netflix consumer surface is solid black.
    public static let netflixBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Netflix Near-Black — Surface color of the Netflix consumer app — rows, tiles, and modal backgrounds sit on this near-black.
    public static let netflixNearBlack = Color(.sRGB, red: 0.0784, green: 0.0784, blue: 0.0784, opacity: 1.0000)
    /// Netflix Charcoal — Elevated surface — used on hover states, expanded title cards, and modal headers in the Netflix app.
    public static let netflixCharcoal = Color(.sRGB, red: 0.1333, green: 0.1216, blue: 0.1216, opacity: 1.0000)
    /// Netflix Gray — Secondary text and divider color on the dark canvas.
    public static let netflixGray = Color(.sRGB, red: 0.3373, green: 0.3020, blue: 0.3020, opacity: 1.0000)
    /// Netflix White — Primary text on the dark canvas; reversed wordmark fill on light backgrounds.
    public static let netflixWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Netflix Off-White — Warm off-white used for light-mode marketing surfaces and editorial pages.
    public static let netflixOffWhite = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9451, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.netflixOffWhite
    public static let surface = BrandSwatch.netflixWhite
    public static let surfaceElevated = BrandSwatch.netflixWhite
    public static let textPrimary = BrandSwatch.netflixBlack
    public static let textSecondary = BrandSwatch.netflixCharcoal
    public static let textTertiary = BrandSwatch.netflixGray
    public static let primary = BrandSwatch.netflixRed
    public static let primaryHover = BrandSwatch.netflixRedDark
    public static let accent = BrandSwatch.netflixRed
    public static let accentHover = BrandSwatch.netflixRedDark
    public static let warning = BrandSwatch.netflixRed
    public static let warningHover = BrandSwatch.netflixRedDark
    public static let error = BrandSwatch.netflixRed
    public static let success = BrandSwatch.netflixGray
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.netflixBlack
    public static let surface = BrandSwatch.netflixNearBlack
    public static let surfaceElevated = BrandSwatch.netflixCharcoal
    public static let textPrimary = BrandSwatch.netflixWhite
    public static let textSecondary = BrandSwatch.netflixOffWhite
    public static let textTertiary = BrandSwatch.netflixGray
    public static let primary = BrandSwatch.netflixRed
    public static let primaryHover = BrandSwatch.netflixRedDark
    public static let accent = BrandSwatch.netflixRed
    public static let accentHover = BrandSwatch.netflixRedDark
    public static let warning = BrandSwatch.netflixRed
    public static let warningHover = BrandSwatch.netflixRedDark
    public static let error = BrandSwatch.netflixRed
    public static let success = BrandSwatch.netflixWhite
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.netflixBlack
    public static let onIdentity = BrandSwatch.netflixRed
    public static let background = BrandSwatch.netflixBlack
    public static let surface = BrandSwatch.netflixNearBlack
    public static let surfaceElevated = BrandSwatch.netflixCharcoal
    public static let textPrimary = BrandSwatch.netflixWhite
    public static let textSecondary = BrandSwatch.netflixOffWhite
    public static let textTertiary = BrandSwatch.netflixGray
    public static let primary = BrandSwatch.netflixRed
    public static let primaryHover = BrandSwatch.netflixRedDark
    public static let accent = BrandSwatch.netflixRed
    public static let accentHover = BrandSwatch.netflixRedDark
    public static let mark = BrandSwatch.netflixRed
    public static let textEmphasis = BrandSwatch.netflixWhite
    public static let textMuted = BrandSwatch.netflixGray
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Netflix Sans (netflix-sans@1.0.0)
    public static let heading = "Netflix Sans"
    /// Netflix Sans (netflix-sans@1.0.0)
    public static let body = "Netflix Sans"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
