//
// Outlook (outlook@1.0.0)
// Palette: outlook@1.0.0
// Fonts:   heading=segoe-ui@1.0.0, body=segoe-ui@1.0.0, mono=cascadiacode-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 {
    /// Outlook Deep Blue — The outer-envelope navy. Captured from the SVG fill on the Outlook logo on outlook.live.com. The dominant identity hue of the Outlook mark.

    public static let outlookDeepBlue = Color(.sRGB, red: 0.1647, green: 0.2667, blue: 0.4353, opacity: 1.0000)
    /// Outlook Action Blue — The "O" ring on the Outlook envelope and the brand's vibrant mid-blue. Used on the live product surface for the logo letter-mark fill.

    public static let outlookActionBlue = Color(.sRGB, red: 0.0000, green: 0.4000, blue: 1.0000, opacity: 1.0000)
    /// Outlook Sky — The pale-blue envelope flap on the Outlook mark. A light-tint accent that softens the deep-navy outer fill.

    public static let outlookSky = Color(.sRGB, red: 0.7020, green: 0.8549, blue: 0.9412, opacity: 1.0000)
    /// Communications Blue — Microsoft's Fluent system primary, inherited from the Microsoft parent. The canonical CTA / link affordance across Outlook product chrome.

    public static let communicationsBlue = Color(.sRGB, red: 0.0000, green: 0.4706, blue: 0.8314, opacity: 1.0000)
    /// Outlook Link Blue — The action-text blue captured from outlook.live.com — Fluent's darker brand variant used for links and primary buttons on light surfaces, where #0078D4 would lose AA contrast on small type.

    public static let outlookLinkBlue = Color(.sRGB, red: 0.0000, green: 0.4039, blue: 0.7216, opacity: 1.0000)
    /// Outlook Ink — Primary text and heading color, captured from the live product. A deep navy-tinged near-black that pairs with the envelope-deep-blue identity hue.

    public static let outlookInk = Color(.sRGB, red: 0.0902, green: 0.1451, blue: 0.2392, opacity: 1.0000)
    /// Outlook Near-Black — Fluent's soft near-black for body text on light surfaces.
    public static let outlookNearBlack = Color(.sRGB, red: 0.1216, green: 0.1216, blue: 0.1216, opacity: 1.0000)
    /// Outlook Gray 160 — Secondary text and inactive UI (Fluent Neutral Foreground 2), inherited from the Microsoft parent.

    public static let outlookGray160 = Color(.sRGB, red: 0.3765, green: 0.3686, blue: 0.3608, opacity: 1.0000)
    /// Outlook Gray 30 — Subtle surface tint (Fluent Neutral Background 3).
    public static let outlookGray30 = Color(.sRGB, red: 0.9294, green: 0.9216, blue: 0.9137, opacity: 1.0000)
    /// Outlook Canvas — The warm-white inbox canvas captured from outlook.live.com. A barely-off-white surface that reduces eye-strain on long reading sessions.

    public static let outlookCanvas = Color(.sRGB, red: 1.0000, green: 0.9922, blue: 0.9843, opacity: 1.0000)
    /// Outlook White — Base background and reversed text on chromatic surfaces.
    public static let outlookWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.outlookCanvas
    public static let surface = BrandSwatch.outlookGray30
    public static let surfaceElevated = BrandSwatch.outlookWhite
    public static let textPrimary = BrandSwatch.outlookInk
    public static let textSecondary = BrandSwatch.outlookGray160
    public static let primary = BrandSwatch.outlookLinkBlue
    public static let primaryHover = BrandSwatch.communicationsBlue
    public static let accent = BrandSwatch.outlookActionBlue
    public static let accentHover = BrandSwatch.outlookLinkBlue
    public static let error = BrandSwatch.outlookActionBlue
    public static let success = BrandSwatch.outlookActionBlue
    public static let border = BrandSwatch.outlookGray30
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.outlookInk
    public static let surface = BrandSwatch.outlookDeepBlue
    public static let surfaceElevated = BrandSwatch.outlookGray160
    public static let textPrimary = BrandSwatch.outlookWhite
    public static let textSecondary = BrandSwatch.outlookSky
    public static let primary = BrandSwatch.outlookSky
    public static let primaryHover = BrandSwatch.outlookActionBlue
    public static let accent = BrandSwatch.outlookActionBlue
    public static let accentHover = BrandSwatch.outlookSky
    public static let border = BrandSwatch.outlookGray160
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.outlookDeepBlue
    public static let onIdentity = BrandSwatch.outlookWhite
    public static let primary = BrandSwatch.outlookLinkBlue
    public static let primaryHover = BrandSwatch.communicationsBlue
    public static let accent = BrandSwatch.outlookActionBlue
    public static let accentHover = BrandSwatch.outlookLinkBlue
    public static let markEnvelopeOuter = BrandSwatch.outlookDeepBlue
    public static let markEnvelopeFlap = BrandSwatch.outlookSky
    public static let markLetterO = BrandSwatch.outlookActionBlue
    public static let background = BrandSwatch.outlookCanvas
    public static let surface = BrandSwatch.outlookGray30
    public static let textPrimary = BrandSwatch.outlookInk
    public static let textSecondary = BrandSwatch.outlookGray160
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Segoe UI (segoe-ui@1.0.0)
    public static let heading = "Segoe UI"
    /// Segoe UI (segoe-ui@1.0.0)
    public static let body = "Segoe UI"
    /// CascadiaCode Nerd Font (cascadiacode-nerdfont@1.0.0)
    public static let mono = "CaskaydiaCove Nerd Font"
}
