package com.applemand.zmanim.core.design

import androidx.compose.ui.graphics.Color

// Ported from tailwind.config.js + src/index.css HSL tokens.
// Light
internal val LuachPrimaryLight = Color(0xFF1E2B4C)       // hsl(225 45% 22%)
internal val LuachOnPrimaryLight = Color(0xFFFAF9F6)
internal val LuachPrimaryContainerLight = Color(0xFFDDE3F2)
internal val LuachOnPrimaryContainerLight = Color(0xFF0A1327)
internal val LuachSecondaryLight = Color(0xFFF5EAD6)     // hsl(38 60% 92%)
internal val LuachOnSecondaryLight = Color(0xFF3A2E18)
internal val LuachSecondaryContainerLight = Color(0xFFEEDFC0)
internal val LuachOnSecondaryContainerLight = Color(0xFF2A2111)
internal val LuachTertiaryLight = Color(0xFFE2A233)      // hsl(38 75% 55%) accent
internal val LuachOnTertiaryLight = Color(0xFF2A1A00)
internal val LuachTertiaryContainerLight = Color(0xFFFBE3B2)
internal val LuachOnTertiaryContainerLight = Color(0xFF2A1A00)
internal val LuachBackgroundLight = Color(0xFFFAF9F6)    // hsl(40 20% 98%)
internal val LuachOnBackgroundLight = Color(0xFF161D2F)  // hsl(225 30% 12%)
internal val LuachSurfaceLight = Color(0xFFFCFBF8)
internal val LuachOnSurfaceLight = Color(0xFF161D2F)
internal val LuachSurfaceVariantLight = Color(0xFFEEEBE1)
internal val LuachOnSurfaceVariantLight = Color(0xFF595A64)
internal val LuachOutlineLight = Color(0xFF8A8B91)
internal val LuachErrorLight = Color(0xFFB3261E)
internal val LuachOnErrorLight = Color(0xFFFFFFFF)

// Dark
internal val LuachPrimaryDark = Color(0xFFE2A233)
internal val LuachOnPrimaryDark = Color(0xFF1A1000)
internal val LuachPrimaryContainerDark = Color(0xFF3A2A00)
internal val LuachOnPrimaryContainerDark = Color(0xFFFCE1B2)
internal val LuachSecondaryDark = Color(0xFFEEDFC0)
internal val LuachOnSecondaryDark = Color(0xFF2A2111)
internal val LuachSecondaryContainerDark = Color(0xFF3E341F)
internal val LuachOnSecondaryContainerDark = Color(0xFFEEDFC0)
internal val LuachTertiaryDark = Color(0xFFFBE3B2)
internal val LuachOnTertiaryDark = Color(0xFF2A1A00)
internal val LuachTertiaryContainerDark = Color(0xFF5A3A00)
internal val LuachOnTertiaryContainerDark = Color(0xFFFBE3B2)
internal val LuachBackgroundDark = Color(0xFF0F142A)     // hsl(225 30% 8%)
internal val LuachOnBackgroundDark = Color(0xFFF5F3EE)
internal val LuachSurfaceDark = Color(0xFF121833)
internal val LuachOnSurfaceDark = Color(0xFFF5F3EE)
internal val LuachSurfaceVariantDark = Color(0xFF2A3050)
internal val LuachOnSurfaceVariantDark = Color(0xFFBFC3CC)
internal val LuachOutlineDark = Color(0xFF6F7280)
internal val LuachErrorDark = Color(0xFFF2B8B5)
internal val LuachOnErrorDark = Color(0xFF601410)

/**
 * Zmanim semantic palette — locked against dynamic color recoloring, since each color
 * carries meaning (e.g., "candle lighting is amber"). Ported from webapp Tailwind classes.
 */
object ZmanimColors {
    val AlotHaShachar = Color(0xFF4338CA)      // indigo-700
    val ZmanTzitzit = Color(0xFF6366F1)        // indigo-500
    val Sunrise = Color(0xFFB45309)            // amber-700
    val SofShmaGRA = Color(0xFF0369A1)         // sky-700
    val SofShmaMA = Color(0xFF0284C7)          // sky-600
    val SofTfila = Color(0xFF0891B2)           // cyan-600
    val Midday = Color(0xFFA16207)             // yellow-700
    val MinchaGedolah = Color(0xFFEA580C)      // orange-600
    val PlagHaMincha = Color(0xFFC2410C)       // orange-700
    val Sunset = Color(0xFFB45309)             // amber-700
    val CandleLighting = Color(0xFFD97706)     // amber-600
    val TzeitKochavim = Color(0xFF3730A3)      // indigo-800
    val RabbeinuTam = Color(0xFF7E22CE)        // purple-700
}

/**
 * Holiday tier palette.
 */
object HolidayColors {
    // Yom Tov: red
    val YomTovBg = Color(0xFFFEE2E2)            // red-100
    val YomTovBgDark = Color(0xFF7F1D1D)
    val YomTovText = Color(0xFFB91C1C)          // red-700
    val YomTovBorder = Color(0xFFFCA5A5)        // red-300

    // Fast: slate
    val FastBg = Color(0xFFE2E8F0)              // slate-200
    val FastBgDark = Color(0xFF334155)
    val FastText = Color(0xFF334155)            // slate-700
    val FastBorder = Color(0xFF94A3B8)          // slate-400

    // Minor: blue
    val MinorBg = Color(0xFFDBEAFE)             // blue-100
    val MinorBgDark = Color(0xFF1E3A8A)
    val MinorText = Color(0xFF1D4ED8)           // blue-700
    val MinorBorder = Color(0xFF93C5FD)         // blue-300

    // Rosh Chodesh: teal
    val RoshChodeshBg = Color(0xFFCCFBF1)
    val RoshChodeshBgDark = Color(0xFF134E4A)
    val RoshChodeshText = Color(0xFF0F766E)
    val RoshChodeshBorder = Color(0xFF5EEAD4)

    // Shabbat: secondary container
    val Shabbat = Color(0xFFF5EAD6)
    val ShabbatDark = Color(0xFF3E341F)
}

