//
// TikTok (tiktok@1.0.0)
// Palette: tiktok@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 {
    /// TikTok Red — Signature warm red — the red-channel anchor of the chromatic mark and a primary brand accent.
    public static let tiktokRed = Color(.sRGB, red: 0.9961, green: 0.1725, blue: 0.3333, opacity: 1.0000)
    /// TikTok Cyan — Signature cyan — the cyan-channel anchor of the chromatic mark, offset against the red.
    public static let tiktokCyan = Color(.sRGB, red: 0.1451, green: 0.9569, blue: 0.9333, opacity: 1.0000)
    /// TikTok Red Deep — Authored deeper red used for hover/pressed states on the primary red.
    public static let tiktokRedDeep = Color(.sRGB, red: 0.8510, green: 0.1176, blue: 0.2706, opacity: 1.0000)
    /// TikTok Cyan Deep — Authored deeper cyan used for hover/pressed states on the cyan accent.
    public static let tiktokCyanDeep = Color(.sRGB, red: 0.0431, green: 0.7216, blue: 0.7020, opacity: 1.0000)
    /// TikTok Black — Canonical canvas — the TikTok consumer surface and wordmark frame is solid black.
    public static let tiktokBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// TikTok Near-Black — Elevated surface on the dark canvas — feed background, modal headers.
    public static let tiktokNearBlack = Color(.sRGB, red: 0.0706, green: 0.0706, blue: 0.0706, opacity: 1.0000)
    /// TikTok Charcoal — Hovered surface and elevated tiles on the dark mode.
    public static let tiktokCharcoal = Color(.sRGB, red: 0.1216, green: 0.1216, blue: 0.1216, opacity: 1.0000)
    /// TikTok White — Primary text on the dark canvas; the core "d" mark interior; reversed wordmark fill on light surfaces.
    public static let tiktokWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// TikTok Fog — Authored light-mode canvas; secondary surface for marketing.
    public static let tiktokFog = Color(.sRGB, red: 0.9451, green: 0.9451, blue: 0.9490, opacity: 1.0000)
    /// TikTok Gray — Secondary text and metadata across both modes.
    public static let tiktokGray = Color(.sRGB, red: 0.5255, green: 0.5294, blue: 0.5451, opacity: 1.0000)
    /// TikTok Gray Light — Tertiary text and inactive icons on the dark canvas.
    public static let tiktokGrayLight = Color(.sRGB, red: 0.7333, green: 0.7333, blue: 0.7373, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.tiktokFog
    public static let surface = BrandSwatch.tiktokWhite
    public static let surfaceElevated = BrandSwatch.tiktokWhite
    public static let textPrimary = BrandSwatch.tiktokBlack
    public static let textSecondary = BrandSwatch.tiktokGray
    public static let textTertiary = BrandSwatch.tiktokGrayLight
    public static let primary = BrandSwatch.tiktokRed
    public static let primaryHover = BrandSwatch.tiktokRedDeep
    public static let accent = BrandSwatch.tiktokCyan
    public static let accentHover = BrandSwatch.tiktokCyanDeep
    public static let warning = BrandSwatch.tiktokRedDeep
    public static let warningHover = BrandSwatch.tiktokRed
    public static let error = BrandSwatch.tiktokRedDeep
    public static let success = BrandSwatch.tiktokCyan
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.tiktokBlack
    public static let surface = BrandSwatch.tiktokNearBlack
    public static let surfaceElevated = BrandSwatch.tiktokCharcoal
    public static let textPrimary = BrandSwatch.tiktokWhite
    public static let textSecondary = BrandSwatch.tiktokGrayLight
    public static let textTertiary = BrandSwatch.tiktokGray
    public static let primary = BrandSwatch.tiktokRed
    public static let primaryHover = BrandSwatch.tiktokRedDeep
    public static let accent = BrandSwatch.tiktokCyan
    public static let accentHover = BrandSwatch.tiktokCyanDeep
    public static let warning = BrandSwatch.tiktokRed
    public static let warningHover = BrandSwatch.tiktokRedDeep
    public static let error = BrandSwatch.tiktokRed
    public static let success = BrandSwatch.tiktokCyan
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.tiktokBlack
    public static let onIdentity = BrandSwatch.tiktokWhite
    public static let background = BrandSwatch.tiktokBlack
    public static let surface = BrandSwatch.tiktokNearBlack
    public static let surfaceElevated = BrandSwatch.tiktokCharcoal
    public static let textPrimary = BrandSwatch.tiktokWhite
    public static let textSecondary = BrandSwatch.tiktokGrayLight
    public static let textTertiary = BrandSwatch.tiktokGray
    public static let primary = BrandSwatch.tiktokRed
    public static let primaryHover = BrandSwatch.tiktokRedDeep
    public static let accent = BrandSwatch.tiktokCyan
    public static let accentHover = BrandSwatch.tiktokCyanDeep
    public static let mark = BrandSwatch.tiktokWhite
    public static let markChannelRed = BrandSwatch.tiktokRed
    public static let markChannelCyan = BrandSwatch.tiktokCyan
    public static let textEmphasis = BrandSwatch.tiktokWhite
}

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