package dev.ulfrx.recipe.ui.theme

import androidx.compose.ui.graphics.Color

/**
 * Semantic color tokens (UI-SPEC § Color, CONTEXT D-14, D-15).
 * Values are locked; do not introduce raw hex in screen code.
 */
public data class RecipeColors(
    val background: Color,
    val surface: Color,
    val surfaceGlass: Color,
    val surfaceGlassOverlay: Color,
    val content: Color,
    val contentMuted: Color,
    val accent: Color,
    val chromeActive: Color,
    val separator: Color,
    val borderCard: Color,
    val destructive: Color,
)

public val LightRecipeColors: RecipeColors =
    RecipeColors(
        background = Color(0xFFEAE6DF),
        surface = Color(0xFFFFFFFF),
        surfaceGlass = Color(0xFFFFFFFF).copy(alpha = 0.42f),
        surfaceGlassOverlay = Color(0xFFFFFFFF).copy(alpha = 0.20f),
        content = Color(0xFF0F1113),
        contentMuted = Color(0xFF6B6E73),
        accent = Color(0xFFD97757),
        chromeActive = Color(0xFF0F1113).copy(alpha = 0.14f),
        separator = Color(0xFFE5E1DA),
        borderCard = Color(0xFFE5E1DA).copy(alpha = 0.60f),
        destructive = Color(0xFFC0392B),
    )

public val DarkRecipeColors: RecipeColors =
    RecipeColors(
        background = Color(0xFF0F1113),
        surface = Color(0xFF1A1D21),
        surfaceGlass = Color(0xFF3A3D42).copy(alpha = 0.55f),
        surfaceGlassOverlay = Color(0xFFFFFFFF).copy(alpha = 0.12f),
        content = Color(0xFFF1EFEA),
        contentMuted = Color(0xFF9AA0A6),
        accent = Color(0xFFE48A6E),
        chromeActive = Color(0xFFFFFFFF).copy(alpha = 0.16f),
        separator = Color(0xFF2A2D31),
        borderCard = Color(0xFFFFFFFF).copy(alpha = 0.08f),
        destructive = Color(0xFFE57368),
    )
