"use client"; import { motion, useReducedMotion } from "framer-motion"; import clsx from "clsx"; type Props = { className?: string; accent?: string; // cyan highlight gridStroke?: string; // grid color (default #2b2a2a as requested) }; const W = 760; const H = 420; const Server = ({ x, y, w = 140, h = 90, rows = 3, }: { x: number; y: number; w?: number; h?: number; rows?: number; }) => { const rowH = (h - 24) / rows; return ( {/* chassis */} {/* bays */} {Array.from({ length: rows }).map((_, i) => ( {/* bay indicators */} ))} {/* subtle top highlight */} ); }; export default function SovereignCompute({ className, accent = "#00b8db", gridStroke = "#2b2a2a", }: Props) { const prefers = useReducedMotion(); // Positions const left = { x: 140, y: 120 }; const mid = { x: 310, y: 150 }; const right= { x: 500, y: 120 }; // Shield position (trust boundary) const shield = { cx: 600, cy: 250, r: 38 }; // Attestation paths from racks to shield const pathFromLeft = `M ${left.x + 140} ${left.y + 45} C 330 150, 470 200, ${shield.cx - 50} ${shield.cy}`; const pathFromMid = `M ${mid.x + 140} ${mid.y + 45} C 420 190, 500 215, ${shield.cx - 50} ${shield.cy}`; const pathFromRight = `M ${right.x + 140} ${right.y + 45} C 520 180, 560 220, ${shield.cx - 50} ${shield.cy}`; return ( ); }