import { Container } from '@/components/Container'
import { Eyebrow, SectionHeader, P, Small } from '@/components/Texts'

const steps = [
  {
    number: '01',
    title: 'Account Setup',
    description:
      'Create your Mycelium account and ensure GPU access is enabled.',
    bullets: [
      'Sign up and verify your account credentials.',
      'Enable GPU access or request it from the Mycelium team.',
      'Configure billing to align usage with your budget.',
    ],
  },
  {
    number: '02',
    title: 'Request GPU Resources',
    description: 'Use the Mycelium GPU API to allocate the acceleration you need.',
    bullets: [
      'Describe the GPU profile (memory, cores, region) your workload requires.',
      'Let smart contracts reserve and attest the selected hardware.',
      'Receive deterministic allocation details for orchestration.',
    ],
  },
  {
    number: '03',
    title: 'Deploy & Monitor',
    description:
      'Launch your workload, integrate storage, and monitor performance from the dashboard.',
    bullets: [
      'Deploy via Kubernetes, containers, or custom runtimes.',
      'Bind to Quantum-Safe Storage for datasets and checkpoints.',
      'Track GPU utilization, cost, and health in real time.',
    ],
  },
]

const workflow = 'Application → Mycelium GPU API → GPU Resource Allocation → Workload Execution'

export function GpuGettingStarted() {
  return (
    <section
      id="gpu-getting-started"
      className="relative overflow-hidden bg-gray-900 py-24 sm:py-32"
    >
      <div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(34,211,238,0.12),transparent_60%)]" />
      <Container className="relative">
        <div className="mx-auto max-w-3xl text-center">
          <Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
            Getting Started
          </Eyebrow>
          <SectionHeader as="h2" color="light" className="mt-6">
            Allocate, run, and observe in three moves.
          </SectionHeader>
          <P color="lightSecondary" className="mt-6">
            Mycelium GPU keeps onboarding simple—declare what you need, deploy
            your workload, and let the mesh guarantee performance with full
            transparency.
          </P>
        </div>
        <div className="mt-16 grid gap-10 lg:grid-cols-3">
          {steps.map((step) => (
            <div
              key={step.title}
              className="flex h-full flex-col rounded-3xl border border-white/10 bg-white/3 p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/6"
            >
              <div className="flex items-center justify-between">
                <Small className="text-xs uppercase tracking-[0.4em] text-cyan-300">
                  {step.number}
                </Small>
                <span className="inline-flex size-10 items-center justify-center rounded-full border border-cyan-300/40 text-sm font-semibold uppercase tracking-[0.25em] text-cyan-200">
                  Go
                </span>
              </div>
              <h3 className="mt-6 text-xl font-semibold text-white">{step.title}</h3>
              <p className="mt-4 text-sm leading-relaxed text-gray-300">
                {step.description}
              </p>
              <ul className="mt-6 space-y-3 text-sm text-gray-300">
                {step.bullets.map((bullet) => (
                  <li
                    key={bullet}
                    className="flex items-start gap-3 rounded-2xl border border-cyan-500/10 bg-cyan-500/5 p-3 leading-relaxed"
                  >
                    <span className="mt-1 inline-block size-2 rounded-full bg-cyan-300" />
                    <span>{bullet}</span>
                  </li>
                ))}
              </ul>
            </div>
          ))}
        </div>
        <div className="mt-16 rounded-3xl border border-white/10 bg-white/3 p-6 text-center backdrop-blur-sm">
          <p className="text-sm font-medium uppercase tracking-[0.3em] text-cyan-200">
            Basic Workflow
          </p>
          <p className="mt-4 text-base text-gray-100">{workflow}</p>
        </div>
      </Container>
    </section>
  )
}
