import { motion } from 'framer-motion'; import { Minus, TrendingDown, TrendingUp } from 'lucide-react'; import type { DomainData } from '../types'; interface EcosystemPulseProps { domains: DomainData[]; compositeScore: number; compositeStatus: string; } function scoreToTrend(score: number): 'up' | 'down' | 'neutral' { if (score >= 80) return 'up'; if (score <= 65) return 'down'; return 'neutral'; } function scoreToColor(score: number): string { if (score >= 80) return 'var(--color-low)'; if (score >= 70) return 'var(--color-high)'; return 'var(--color-critical)'; } const GAUGE_CX = 70; const GAUGE_CY = 72; const GAUGE_R = 58; const GAUGE_PATH = `M ${GAUGE_CX - GAUGE_R} ${GAUGE_CY} A ${GAUGE_R} ${GAUGE_R} 0 0 1 ${GAUGE_CX + GAUGE_R} ${GAUGE_CY}`; function CompositeGauge({ score, status }: { score: number; status: string }) { const color = scoreToColor(score); return (