// Auto-generated from bytelyst.tokens.json — do not edit manually
import SwiftUI

// MARK: - MindLyst Design Tokens (from shared KMP MindLystTokens)
// These values mirror MindLystTokens.kt exactly.

struct MindLystColors {
    // Dark
    static let darkBgCanvas = Color(hex: 0x06070A)
    static let darkBgElevated = Color(hex: 0x0E1118)
    static let darkSurfaceCard = Color(hex: 0x121725)
    static let darkSurfaceMuted = Color(hex: 0x1A2335)
    static let darkBorder  = Color.white.opacity(0.12)
    static let darkTextPrimary = Color(hex: 0xEFF4FF)
    static let darkTextSecondary = Color(hex: 0xA5B1C7)
    static let darkTextTertiary = Color(hex: 0x6C7C98)
    static let darkAccentPrimary = Color(hex: 0x5A8CFF)
    static let darkAccentSecondary = Color(hex: 0x2EE6D6)
    static let darkSuccess = Color(hex: 0x34D399)
    static let darkWarning = Color(hex: 0xF59E0B)
    static let darkDanger = Color(hex: 0xFF6E6E)

    // Light
    static let lightBgCanvas = Color(hex: 0xF6F8FC)
    static let lightBgElevated = Color(hex: 0xEEF2FA)
    static let lightSurfaceCard = Color.white
    static let lightSurfaceMuted = Color(hex: 0xF3F5FA)
    static let lightTextPrimary = Color(hex: 0x0E1320)
    static let lightTextSecondary = Color(hex: 0x55637A)
    static let lightTextTertiary = Color(hex: 0x6C7C98)
    static let lightAccentPrimary = Color(hex: 0x5A8CFF)
    static let lightAccentSecondary = Color(hex: 0x2EE6D6)
    static let lightSuccess = Color(hex: 0x13956A)
    static let lightWarning = Color(hex: 0xB87504)
    static let lightDanger = Color(hex: 0xD24242)

    // Brain Gradients
    static let brainWork = Gradient(colors: [Color(hex: 0x5A8CFF), Color(hex: 0x2EE6D6)])
    static let brainHome = Gradient(colors: [Color(hex: 0xFF6E6E), Color(hex: 0xFFD166)])
    static let brainMoney = Gradient(colors: [Color(hex: 0x34D399), Color(hex: 0x2EE6D6)])
    static let brainHealth = Gradient(colors: [Color(hex: 0x2EE6D6), Color(hex: 0x9FE870)])
    static let brainGlobal = Gradient(colors: [Color(hex: 0x7D8FB4), Color(hex: 0xA5B1C7)])
}

struct MindLystSpacing {
    static let x0:  CGFloat = 0
    static let x1:  CGFloat = 4
    static let x2:  CGFloat = 8
    static let x3:  CGFloat = 12
    static let x4:  CGFloat = 16
    static let x5:  CGFloat = 20
    static let x6:  CGFloat = 24
    static let x7:  CGFloat = 28
    static let x8:  CGFloat = 32
    static let x10: CGFloat = 40
    static let x12: CGFloat = 48
    static let x16: CGFloat = 64
}

struct MindLystRadius {
    static let xs:   CGFloat = 8
    static let sm:   CGFloat = 12
    static let md:   CGFloat = 16
    static let lg:   CGFloat = 20
    static let xl:   CGFloat = 24
    static let pill: CGFloat = 999
}

struct MindLystMotion {
    static let instant: Double = 0.07
    static let fast:    Double = 0.14
    static let base:    Double = 0.22
    static let slow:    Double = 0.32
}

// MARK: - Color Hex Extension

extension Color {
    init(hex: UInt, alpha: Double = 1.0) {
        self.init(
            .sRGB,
            red:   Double((hex >> 16) & 0xFF) / 255.0,
            green: Double((hex >> 8)  & 0xFF) / 255.0,
            blue:  Double(hex & 0xFF) / 255.0,
            opacity: alpha
        )
    }
}
