//
// Zoom (zoom@1.0.0)
// Palette: zoom@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 {
    /// Zoom Blue — Signature communications blue. Primary brand color — used on the wordmark, primary CTAs, and key interactive surfaces.

    public static let zoomBlue = Color(.sRGB, red: 0.1765, green: 0.5490, blue: 1.0000, opacity: 1.0000)
    /// Zoom White — Canvas on light surfaces; reversed wordmark fill on dark surfaces.
    public static let zoomWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Zoom Black — Wordmark on light backgrounds; near-black body text.
    public static let zoomBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Zoom Canvas Dark — Authored dark-mode canvas — neutral near-black.
    public static let zoomCanvasDark = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1020, opacity: 1.0000)
    /// Zoom Surface Light — Authored panel surface for light mode.
    public static let zoomSurfaceLight = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// Zoom Surface Dark — Authored elevated surface on dark mode.
    public static let zoomSurfaceDark = Color(.sRGB, red: 0.1725, green: 0.1725, blue: 0.1725, opacity: 1.0000)
    /// Zoom Text Secondary — Authored secondary text — neutral mid-gray on light canvas.
    public static let zoomTextSecondary = Color(.sRGB, red: 0.4549, green: 0.4549, blue: 0.5294, opacity: 1.0000)
    /// Zoom Text Tertiary — Authored tertiary / muted text.
    public static let zoomTextTertiary = Color(.sRGB, red: 0.6275, green: 0.6275, blue: 0.6706, opacity: 1.0000)
    /// Zoom Blue Hover — Authored softer Zoom Blue for hover / active states.
    public static let zoomBlueHover = Color(.sRGB, red: 0.3529, green: 0.6431, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.zoomWhite
    public static let surface = BrandSwatch.zoomSurfaceLight
    public static let surfaceElevated = BrandSwatch.zoomWhite
    public static let textPrimary = BrandSwatch.zoomBlack
    public static let textSecondary = BrandSwatch.zoomTextSecondary
    public static let textTertiary = BrandSwatch.zoomTextTertiary
    public static let primary = BrandSwatch.zoomBlue
    public static let primaryHover = BrandSwatch.zoomBlueHover
    public static let accent = BrandSwatch.zoomBlue
    public static let accentHover = BrandSwatch.zoomBlueHover
    public static let warning = BrandSwatch.zoomBlue
    public static let warningHover = BrandSwatch.zoomBlueHover
    public static let error = BrandSwatch.zoomBlue
    public static let success = BrandSwatch.zoomBlue
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.zoomCanvasDark
    public static let surface = BrandSwatch.zoomSurfaceDark
    public static let surfaceElevated = BrandSwatch.zoomSurfaceDark
    public static let textPrimary = BrandSwatch.zoomWhite
    public static let textSecondary = BrandSwatch.zoomTextTertiary
    public static let textTertiary = BrandSwatch.zoomTextSecondary
    public static let primary = BrandSwatch.zoomBlue
    public static let primaryHover = BrandSwatch.zoomBlueHover
    public static let accent = BrandSwatch.zoomBlue
    public static let accentHover = BrandSwatch.zoomBlueHover
    public static let warning = BrandSwatch.zoomBlue
    public static let warningHover = BrandSwatch.zoomBlueHover
    public static let error = BrandSwatch.zoomBlue
    public static let success = BrandSwatch.zoomBlue
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.zoomBlue
    public static let onIdentity = BrandSwatch.zoomWhite
    public static let primary = BrandSwatch.zoomBlue
    public static let primaryHover = BrandSwatch.zoomBlueHover
    public static let accent = BrandSwatch.zoomBlue
    public static let accentHover = BrandSwatch.zoomBlueHover
    public static let success = BrandSwatch.zoomBlue
    public static let warning = BrandSwatch.zoomBlue
    public static let error = BrandSwatch.zoomBlue
    public static let backgroundLight = BrandSwatch.zoomWhite
    public static let backgroundDark = BrandSwatch.zoomCanvasDark
    public static let surfaceLight = BrandSwatch.zoomSurfaceLight
    public static let surfaceDark = BrandSwatch.zoomSurfaceDark
    public static let textPrimaryLight = BrandSwatch.zoomBlack
    public static let textPrimaryDark = BrandSwatch.zoomWhite
}

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