package com.jishisongfu.duobibi.ui.theme

import androidx.compose.ui.graphics.Color

/**
 * 多比比 蓝青科技风配色 token(明显区别于傻瓜比价的暖红 Coral)。
 * 主色青绿 Teal,辅以天蓝 Sky;价格语义:便宜=绿,贵/涨=红,参考=靛蓝;评分=金。
 */
object DbbColors {
    // 主色
    val Teal = Color(0xFF0EA5A4)
    val TealDark = Color(0xFF0F766E)
    val TealBg = Color(0xFFD7F4F2)
    val Sky = Color(0xFF0284C7)
    val SkyBg = Color(0xFFE0F2FE)

    // 价格语义
    val Save = Color(0xFF059669)     // 便宜 / 最低
    val SaveBg = Color(0xFFD1FAE5)
    val Up = Color(0xFFDC2626)        // 贵 / 涨
    val UpBg = Color(0xFFFEE2E2)
    val Ref = Color(0xFF6366F1)       // 市场常见价参考
    val RefBg = Color(0xFFEEF2FF)
    val Gold = Color(0xFFF59E0B)      // 评分 / 榜单
    val GoldBg = Color(0xFFFEF3C7)

    // 中性
    val Ink = Color(0xFF0F172A)
    val InkSec = Color(0xFF475569)
    val InkTer = Color(0xFF94A3B8)
    val Bg = Color(0xFFF8FAFC)        // 冷调温白整页背景
    val BgWarm = Color(0xFFEEF6F6)    // 顶部 hero 下方过渡用的微 teal 暖白
    val Card = Color(0xFFFFFFFF)
    val Fill = Color(0xFFF1F5F9)      // 浅填充
    val Border = Color(0xFFE2E8F0)

    // === v1.1 hero 视觉补色:每个 Tab 一套品牌渐变,给视觉层次 ===
    val Emerald = Color(0xFF10B981)   // 决策绿(Worth Hero,搭 Save)
    val Amber = Color(0xFFF59E0B)     // 警示橘(Alert Hero,搭 Up)
    val Orange = Color(0xFFEA580C)
    val Indigo = Color(0xFF6366F1)    // 复用 Ref,显式命名给 hero 渐变用
    val Slate = Color(0xFF475569)
    val SlateDeep = Color(0xFF1E293B)
    val Rose = Color(0xFFE11D48)      // 关注/收藏(❤️)
    val RoseDeep = Color(0xFFBE123C)
    val RoseBg = Color(0xFFFFE4E6)
}

/**
 * 5 个 Tab 各一套品牌 hero 渐变 + 关键 CTA 的渐变。
 * 切 Tab 时视觉上会有"换了个世界"的辨识感,而不是"换张白卡"。
 * 端点为 (top, bottom) 用于 [Brush.linearGradient]。
 */
object DbbGradients {
    val Discover = listOf(DbbColors.Teal, DbbColors.TealDark)        // 主品牌 → 深品牌
    val Arena    = listOf(DbbColors.Teal, DbbColors.Sky)              // 跨平台冷调
    val Alert    = listOf(DbbColors.Amber, DbbColors.Orange)          // 警示提醒
    val Worth    = listOf(DbbColors.Emerald, DbbColors.Save)          // 决策绿
    val Mine     = listOf(DbbColors.Slate, DbbColors.SlateDeep)       // 沉稳墨色
    val Watched  = listOf(DbbColors.Rose, DbbColors.RoseDeep)         // 关注/收藏
    /** 强调 CTA 用 — Teal→Indigo 偏冷,跟 Alert/Worth 的暖/绿 hero 区隔 */
    val CtaAccent = listOf(DbbColors.Teal, DbbColors.Indigo)
}
