package dev.kaizen.app.ui.theme.themes

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.colorspace.ColorSpaces

private fun p3(r: Float, g: Float, b: Float): Color =
    Color(red = r, green = g, blue = b, colorSpace = ColorSpaces.DisplayP3)

// Derived from kaizen/app/themes/mono.css — achromatic, zero chroma, subtle warm blob4 accent
val MonoTheme = KaizenThemeSpec(
    id = KaizenThemeId.MONO,
    label = "Mono",
    light = KaizenAccentScheme(
        primary     = p3(0.104f, 0.104f, 0.104f),  // oklch(0.22 0 255)  near-black
        primaryDeep = p3(0.050f, 0.050f, 0.050f),  // oklch(0.14 0 255)  deeper black
        onPrimary   = p3(0.987f, 0.987f, 0.987f),  // oklch(0.99 0 255)  near-white
        ring        = p3(0.104f, 0.104f, 0.104f),
        blob1       = p3(0.806f, 0.806f, 0.806f),  // oklch(0.85 0 255) light gray
        blob2       = p3(0.681f, 0.681f, 0.681f),  // oklch(0.75 0 255) mid gray
        blob3       = p3(0.896f, 0.896f, 0.896f),  // oklch(0.92 0 255) off-white
        blob4       = p3(0.796f, 0.765f, 0.714f),  // oklch(0.82 0.02 80) subtle warm
    ),
    dark = KaizenAccentScheme(
        primary     = p3(0.896f, 0.896f, 0.896f),  // oklch(0.92 0 255)  near-white
        primaryDeep = p3(0.806f, 0.806f, 0.806f),
        onPrimary   = p3(0.022f, 0.022f, 0.022f),  // oklch(0.12 0 255)  near-black
        ring        = p3(0.896f, 0.896f, 0.896f),
        blob1       = p3(0.229f, 0.229f, 0.229f),  // oklch(0.35 0 255) dark gray
        blob2       = p3(0.334f, 0.334f, 0.334f),  // oklch(0.45 0 255) mid-dark gray
        blob3       = p3(0.179f, 0.179f, 0.179f),  // oklch(0.30 0 255) charcoal
        blob4       = p3(0.304f, 0.277f, 0.234f),  // oklch(0.40 0.02 80) subtle warm
    ),
)
