// Cadence Design System — tokens.kt · v1.1 // Generated from tokens.json — do not edit by hand. // Usage: CadenceColor.brand(isDark) or wire into a MaterialTheme-free custom theme. package ai.cadencework.design import androidx.compose.ui.graphics.Color object CadenceLight { val bg = Color(0xFFF7F4ED) // Page background val bgCard = Color(0xFFFFFFFF) // Cards, tables, inputs val bgTint = Color(0xFFF1EDE3) // Hover fill, tracks, wells val ink1 = Color(0xFF1A1612) // Primary text, primary buttons val ink2 = Color(0xFF46413A) // Body text val ink3 = Color(0xFF6B655C) // Secondary, meta val ink4 = Color(0xFFB8B1A2) // Placeholders, disabled text val line = Color(0xFFE6E1D4) // Card borders, dividers val line2 = Color(0xFFEFEAE0) // Inner dividers val brand = Color(0xFF2F8F68) // Jade — commits, live, focus val brandHover = Color(0xFF267655) // Jade pressed / hover val brandText = Color(0xFF267655) // Jade as text on soft val brandSoft = Color(0xFFE0F1EA) // Jade surfaces, focus ring val ai = Color(0xFF6B4FE0) // Agent accent val aiDark = Color(0xFF4A2FB0) // Agent text / pressed val aiSoft = Color(0xFFEEE9FB) // Agent surfaces val aiBorder = Color(0xFFD8CCF5) // Agent borders, rails val info = Color(0xFF2C5BB0) // Informational, internal staff val infoSoft = Color(0xFFE5EBF5) // Info surfaces val warn = Color(0xFF9A6717) // Warning, drift val warnSoft = Color(0xFFF4EEDC) // Warning surfaces val danger = Color(0xFFB0392A) // Urgent, unfilled, destructive val dangerSoft = Color(0xFFF4E4DF) // Danger surfaces val plum = Color(0xFF5B3F7A) // Premium, EOR val plumSoft = Color(0xFFEFE9F5) // Premium surfaces } object CadenceDark { val bg = Color(0xFF16130F) // Page background val bgCard = Color(0xFF1E1A15) // Cards, tables, inputs val bgTint = Color(0xFF28231B) // Hover fill, tracks, wells val ink1 = Color(0xFFF3EFE6) // Primary text, primary buttons val ink2 = Color(0xFFB8B1A2) // Body text val ink3 = Color(0xFF8B857A) // Secondary, meta val ink4 = Color(0xFF6B655C) // Placeholders, disabled text val line = Color(0xFF2E2921) // Card borders, dividers val line2 = Color(0xFF3A342B) // Inner dividers val brand = Color(0xFF48B389) // Jade — commits, live, focus val brandHover = Color(0xFF5FC49B) // Jade pressed / hover val brandText = Color(0xFF7FD4AE) // Jade as text on soft val brandSoft = Color(0xFF1E4534) // Jade surfaces, focus ring val ai = Color(0xFF9B85F2) // Agent accent val aiDark = Color(0xFFC9BBF7) // Agent text / pressed val aiSoft = Color(0xFF2B2347) // Agent surfaces val aiBorder = Color(0xFF453A6E) // Agent borders, rails val info = Color(0xFF7FA8E8) // Informational, internal staff val infoSoft = Color(0xFF1C2740) // Info surfaces val warn = Color(0xFFD9A96A) // Warning, drift val warnSoft = Color(0xFF3A2D14) // Warning surfaces val danger = Color(0xFFF2917F) // Urgent, unfilled, destructive val dangerSoft = Color(0xFF47201B) // Danger surfaces val plum = Color(0xFFB79BD6) // Premium, EOR val plumSoft = Color(0xFF322244) // Premium surfaces } object CadenceSpace { const val s1 = 4; const val s2 = 8; const val s3 = 12; const val s4 = 16; const val s5 = 24; const val s6 = 32; const val s7 = 48; const val s8 = 64 } object CadenceRadius { const val control = 8; const val card = 14; const val large = 20; const val pill = 999 } object CadenceMotion { const val hoverMs = 140; const val toggleMs = 180; const val enterMs = 240 } // ease-out // Type: Fraunces (display/H1/H2, never body) · Inter (body 15sp/1.6) · JetBrains Mono (times, money, counts, tags) // Touch targets: 44dp minimum. One jade committing action per surface. Purple only when the agent acts.