import { useState, useEffect } from "react"; const glitchKeyframes = ` @import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&display=swap'); @keyframes flicker { 0%, 100% { opacity: 1; } 92% { opacity: 1; } 93% { opacity: 0.4; } 94% { opacity: 1; } 96% { opacity: 0.6; } 97% { opacity: 1; } } @keyframes scanline { 0% { transform: translateY(-100%); } 100% { transform: translateY(100vh); } } @keyframes inkBleed { 0% { opacity: 0; transform: scale(0.95) translateY(8px); filter: blur(6px); } 100% { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); } } @keyframes orbPulse { 0%, 100% { box-shadow: 0 0 20px #8b2fc9, 0 0 60px #8b2fc940, inset 0 0 20px #8b2fc930; } 50% { box-shadow: 0 0 40px #c77dff, 0 0 100px #8b2fc960, inset 0 0 40px #8b2fc960; } } @keyframes borderGlow { 0%, 100% { border-color: #8b2fc950; } 50% { border-color: #c77dff90; } } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } } @keyframes reveal { from { width: 0%; } to { width: 100%; } } @keyframes statFill { from { transform: scaleX(0); } to { transform: scaleX(1); } } @keyframes particleDrift { 0% { transform: translateY(0) translateX(0) scale(1); opacity: 0.6; } 50% { opacity: 1; } 100% { transform: translateY(-60px) translateX(20px) scale(0); opacity: 0; } } `; const stats = [ { label: "Visual Perception", value: 95, icon: "◈" }, { label: "Shadow Manipulation", value: 88, icon: "◆" }, { label: "Form Conjuring", value: 92, icon: "◉" }, { label: "Ink Sorcery", value: 79, icon: "✦" }, { label: "Dimensional Sight", value: 85, icon: "⬡" }, ]; const abilities = [ { name: "Void Canvas", desc: "Summons a tear in reality and paints what lies beyond.", cost: "★★★", }, { name: "Penumbra Stroke", desc: "A single line that drinks light, casting areas into permanent shadow.", cost: "★★", }, { name: "Ink Wraith", desc: "Breathes life into drawn figures, commanding them as shadowed scouts.", cost: "★★★★", }, { name: "The Unseen Eye", desc: "Perceives hidden layers of reality invisible to ordinary sight.", cost: "★", }, ]; const Particle = ({ style }) => (
); export default function CharacterProfile() { const [activeAbility, setActiveAbility] = useState(null); const [statsVisible, setStatsVisible] = useState(false); const [hovered, setHovered] = useState(false); useEffect(() => { const timer = setTimeout(() => setStatsVisible(true), 800); return () => clearTimeout(timer); }, []); const particles = Array.from({ length: 12 }, (_, i) => ({ left: `${10 + i * 7}%`, top: `${20 + (i % 4) * 20}%`, animationDelay: `${i * 0.4}s`, })); return ( <>