/* Override lemonade theme with fresh lime green */
[data-theme="lemonade"] {
  --p: 0.83 0.20 127;          /* primary: #a2de2a lime green */
  --pf: 0.73 0.18 127;         /* primary focus: darker lime */
  --pc: 0.20 0.05 127;         /* primary content: dark on lime */
  --s: 0.70 0.18 160;          /* secondary: teal-green */
  --sf: 0.60 0.16 160;
  --sc: 0.98 0.01 160;
  --a: 0.75 0.20 130;          /* accent: yellow-green */
  --af: 0.65 0.18 130;
  --ac: 0.20 0.05 130;
  --b1: 0.99 0.005 140;        /* base-100: very faint green-white */
  --b2: 0.96 0.015 140;        /* base-200: subtle green tint */
  --b3: 0.92 0.025 140;        /* base-300: light green */
  --bc: 0.25 0.04 150;         /* base content: dark green-gray */
  --n: 0.35 0.05 150;          /* neutral */
  --nf: 0.25 0.04 150;
  --nc: 0.98 0.005 140;
}

* {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
}

/* Fade-in animation */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Nav link active state */
.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: oklch(var(--p));
  transition: width 0.3s ease, left 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
  left: 0;
}

/* Hero gradient text effect */
.hero h1 {
  background: linear-gradient(135deg, oklch(var(--bc)) 0%, oklch(var(--p)) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Card hover lift */
.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transform: translateY(-2px);
}

/* Portfolio card */
.portfolio-card .badge {
  font-size: 0.7rem;
}
