/* styles.css */

/* Reset & Base */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg-primary: #0a0a0f;
  --bg-secondary: #111118;
  --bg-card: #161622;
  --border: #252538;
  --text-primary: #e8e8f0;
  --text-secondary: #9898b0;
  --accent: #c084fc;
  --accent-glow: rgba(192, 132, 252, 0.3);
  --green: #4ade80;
  --green-glow: rgba(74, 222, 128, 0.3);
  --cyan: #22d3ee;
  --cyan-glow: rgba(34, 211, 238, 0.3);
  --gradient-1: linear-gradient(135deg, #c084fc, #7c3aed);
  --gradient-2: linear-gradient(135deg, #4ade80, #22d3ee);
  --font-mono: 'SF Mono', 'Fira Code', 'JetBrains Mono', 'Cascadia Code', monospace;
  --font-sans: 'Inter', 'SF Pro Display', -apple-system, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Animated background */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(192, 132, 252, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(74, 222, 128, 0.04) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(34, 211, 238, 0.04) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* Grid overlay */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}

.PageIndex {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
