:root {
  --background: 0 0% 100%;
  --foreground: 222 47% 11%;
  --primary: 45 93% 47%;
  --primary-foreground: 222 47% 7%;
  --secondary: 210 40% 96.1%;
  --secondary-foreground: 222 47% 11.2%;
  --muted: 210 40% 96.1%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 210 40% 96.1%;
  --accent-foreground: 222 47% 11.2%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 91.4%;
  --input: 214.3 31.8% 91.4%;
  --ring: 222 47% 11%;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.dark {
  --background: 222 47% 7%;
  --foreground: 210 40% 98%;
  --primary: 45 93% 47%;
  --primary-foreground: 222 47% 7%;
  --secondary: 217.2 32.6% 17.5%;
  --secondary-foreground: 210 40% 98%;
  --muted: 217.2 32.6% 17.5%;
  --muted-foreground: 215 20.2% 65.1%;
  --accent: 217.2 32.6% 17.5%;
  --accent-foreground: 210 40% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;
  --border: 217.2 32.6% 17.5%;
  --input: 217.2 32.6% 17.5%;
  --ring: 212.7 26.8% 83.9%;
}

* {
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: 200ms;
}

body {
  overflow: hidden;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

.skill-button {
  transition: transform 0.1s active;
}

.skill-button:active {
  transform: scale(0.9);
}

.hero-avatar-gradient {
  background: linear-gradient(135deg, hsl(var(--secondary)), hsl(var(--background)));
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.shake { animation: shake 0.2s ease-in-out; }