//
// TIDAL (tidal@1.0.0)
// Palette: tidal@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 {
    /// TIDAL Black — Canonical canvas — the TIDAL consumer surface is solid black.
    public static let tidalBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// TIDAL Near Black — Elevated surface on the dark canvas — main panel chrome.
    public static let tidalNearBlack = Color(.sRGB, red: 0.0392, green: 0.0392, blue: 0.0392, opacity: 1.0000)
    /// TIDAL Surface Elevated — Cards, hovered rows, and elevated tiles on the dark canvas.
    public static let tidalSurfaceElevated = Color(.sRGB, red: 0.0941, green: 0.0941, blue: 0.0941, opacity: 1.0000)
    /// TIDAL Cyan — The signature TIDAL cyan / oxide-blue accent — the brand's only chromatic note.
    public static let tidalCyan = Color(.sRGB, red: 0.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// TIDAL Cyan Pressed — Pressed / active state for the primary action — a darker step from the cyan.
    public static let tidalCyanPressed = Color(.sRGB, red: 0.0000, green: 0.8000, blue: 0.8000, opacity: 1.0000)
    /// TIDAL Cyan Deep — Deeper cyan reserved for hover and selected states on the player chrome.
    public static let tidalCyanDeep = Color(.sRGB, red: 0.0000, green: 0.5451, blue: 0.5804, opacity: 1.0000)
    /// TIDAL White — Primary text on the dark canvas; reversed wordmark fill on light marketing surfaces.
    public static let tidalWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// TIDAL Gray Light — Secondary text and divider color on the dark canvas.
    public static let tidalGrayLight = Color(.sRGB, red: 0.8000, green: 0.8000, blue: 0.8000, opacity: 1.0000)
    /// TIDAL Gray — Tertiary text, captions, and metadata in the player UI.
    public static let tidalGray = Color(.sRGB, red: 0.4510, green: 0.4510, blue: 0.4510, opacity: 1.0000)
    /// TIDAL Gray Dark — Quiet dividers, disabled state, and the unplayed seek-bar fill.
    public static let tidalGrayDark = Color(.sRGB, red: 0.2510, green: 0.2510, blue: 0.2510, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.tidalWhite
    public static let surface = BrandSwatch.tidalWhite
    public static let surfaceElevated = BrandSwatch.tidalWhite
    public static let textPrimary = BrandSwatch.tidalBlack
    public static let textSecondary = BrandSwatch.tidalGray
    public static let textTertiary = BrandSwatch.tidalGrayLight
    public static let primary = BrandSwatch.tidalCyanDeep
    public static let primaryHover = BrandSwatch.tidalCyanPressed
    public static let accent = BrandSwatch.tidalCyanDeep
    public static let accentHover = BrandSwatch.tidalCyanPressed
    public static let error = BrandSwatch.tidalBlack
    public static let success = BrandSwatch.tidalCyanDeep
    public static let border = BrandSwatch.tidalGrayLight
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.tidalBlack
    public static let surface = BrandSwatch.tidalNearBlack
    public static let surfaceElevated = BrandSwatch.tidalSurfaceElevated
    public static let textPrimary = BrandSwatch.tidalWhite
    public static let textSecondary = BrandSwatch.tidalGrayLight
    public static let textTertiary = BrandSwatch.tidalGray
    public static let primary = BrandSwatch.tidalCyan
    public static let primaryHover = BrandSwatch.tidalCyanPressed
    public static let accent = BrandSwatch.tidalCyan
    public static let accentHover = BrandSwatch.tidalCyanPressed
    public static let error = BrandSwatch.tidalWhite
    public static let success = BrandSwatch.tidalCyan
    public static let border = BrandSwatch.tidalGrayDark
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.tidalBlack
    public static let onIdentity = BrandSwatch.tidalCyan
    public static let background = BrandSwatch.tidalBlack
    public static let surface = BrandSwatch.tidalNearBlack
    public static let surfaceElevated = BrandSwatch.tidalSurfaceElevated
    public static let textPrimary = BrandSwatch.tidalWhite
    public static let textSecondary = BrandSwatch.tidalGrayLight
    public static let textTertiary = BrandSwatch.tidalGray
    public static let primary = BrandSwatch.tidalCyan
    public static let primaryHover = BrandSwatch.tidalCyanPressed
    public static let accent = BrandSwatch.tidalCyan
    public static let accentHover = BrandSwatch.tidalCyanPressed
    public static let mark = BrandSwatch.tidalCyan
    public static let border = BrandSwatch.tidalGrayDark
}

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