// ===== THEME & MOODS ===== // Brand colors are constant across light/dark. Surface colors switch with theme. const BRAND = { navy: '#0a1f44', blue: '#1a3a6e', mid: '#2556a8', accent: '#ff6b2b', gold: '#f5a623', success: '#00c48c', danger: '#ff4757', warn: '#ffa502', muted: '#8896b3', }; function getTheme(dark) { if (dark) { return { ...BRAND, dark: true, bg: '#0d1117', surface: '#161b22', card: '#1c2333', border: '#30363d', text: '#e6edf3', subtext: '#8b949e', headerBg: '#0d1117', navBg: 'rgba(13,17,23,0.92)', inputBg: '#0d1117', shadow: '0 4px 20px rgba(0,0,0,0.45)', // translucent tint helper tint: (hex, light, darkA) => hex + (darkA || '33'), }; } return { ...BRAND, dark: false, bg: '#f4f6fb', surface: '#ffffff', card: '#ffffff', border: '#e6eaf2', text: '#0a1f44', subtext: '#8896b3', headerBg: '#0a1f44', navBg: 'rgba(255,255,255,0.94)', inputBg: '#f4f6fb', shadow: '0 6px 22px rgba(10,31,68,0.08)', tint: (hex, light, darkA) => hex + (light || '22'), }; } // 6 driving moods — change the phone frame outer glow color const MOODS = [ { id: 'focused', label: 'Focused', emoji: '🎯', glow: '#2556a8' }, { id: 'alert', label: 'Alert', emoji: '⚠️', glow: '#ffa502' }, { id: 'relaxed', label: 'Relaxed', emoji: '😌', glow: '#00c48c' }, { id: 'urgent', label: 'Urgent', emoji: '🚨', glow: '#ff4757' }, { id: 'night', label: 'Night', emoji: '🌙', glow: '#7b2d8b' }, { id: 'energized', label: 'Energized', emoji: '⚡', glow: '#f5a623' }, ]; // translucent helper: color + alpha hex function alpha(hex, a) { return hex + a; } Object.assign(window, { BRAND, getTheme, MOODS, alpha });