:root {
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  --background: 42 50% 96%;
  --foreground: 221 39% 13%;
  --card: 44 60% 99%;
  --card-foreground: 221 39% 13%;
  --popover: 44 60% 99%;
  --popover-foreground: 221 39% 13%;
  --primary: 148 66% 28%;
  --primary-foreground: 44 60% 98%;
  --secondary: 41 61% 88%;
  --secondary-foreground: 221 39% 18%;
  --muted: 43 37% 90%;
  --muted-foreground: 220 14% 38%;
  --accent: 31 90% 55%;
  --accent-foreground: 221 39% 13%;
  --destructive: 0 72% 45%;
  --destructive-foreground: 44 60% 98%;
  --success: 148 66% 28%;
  --success-foreground: 44 60% 98%;
  --warning: 36 92% 45%;
  --warning-foreground: 221 39% 13%;
  --info: 210 78% 40%;
  --info-foreground: 44 60% 98%;
  --border: 42 26% 78%;
  --input: 42 26% 78%;
  --ring: 148 66% 28%;
  --radius: 0.625rem;
  --shadow-sm: 0 1px 2px hsl(var(--foreground) / 0.05);
  --shadow-md: 0 4px 12px hsl(var(--foreground) / 0.08);
  --shadow-lg: 0 12px 32px hsl(var(--foreground) / 0.12);
  --shadow-elegant: 0 18px 50px hsl(var(--primary) / 0.22);
  --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
  --transition: 200ms cubic-bezier(0.4,0,0.2,1);
  --transition-smooth: 300ms cubic-bezier(0.4,0,0.2,1);
}
.dark {
  --background: 222 36% 9%;
  --foreground: 42 58% 94%;
  --card: 222 32% 13%;
  --card-foreground: 42 58% 94%;
  --popover: 222 32% 13%;
  --popover-foreground: 42 58% 94%;
  --primary: 147 63% 45%;
  --primary-foreground: 222 36% 8%;
  --secondary: 218 23% 20%;
  --secondary-foreground: 42 58% 94%;
  --muted: 221 24% 18%;
  --muted-foreground: 42 18% 72%;
  --accent: 36 94% 58%;
  --accent-foreground: 222 36% 8%;
  --destructive: 0 70% 52%;
  --destructive-foreground: 42 58% 94%;
  --success: 147 63% 45%;
  --success-foreground: 222 36% 8%;
  --warning: 39 94% 58%;
  --warning-foreground: 222 36% 8%;
  --info: 205 82% 62%;
  --info-foreground: 222 36% 8%;
  --border: 220 18% 28%;
  --input: 220 18% 28%;
  --ring: 147 63% 45%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-sans);
  color: hsl(var(--foreground));
  background:
    radial-gradient(circle at top left, hsl(var(--primary) / 0.14), transparent 32rem),
    linear-gradient(135deg, hsl(var(--background)), hsl(var(--secondary) / 0.52));
}
button, a, input { -webkit-tap-highlight-color: transparent; }
.pitch-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, hsl(var(--primary) / 0.18), hsl(var(--card)) 46%, hsl(var(--accent) / 0.14)),
    hsl(var(--card));
}
.pitch-card::before {
  content: '';
  position: absolute;
  inset: 1rem;
  border: 1px solid hsl(var(--primary) / 0.22);
  border-radius: calc(var(--radius) + 10px);
  pointer-events: none;
}
.pitch-card::after {
  content: '';
  position: absolute;
  width: 18rem;
  height: 18rem;
  right: -6rem;
  top: -6rem;
  border-radius: 999px;
  border: 1px solid hsl(var(--primary) / 0.18);
  box-shadow: inset 0 0 0 2rem hsl(var(--primary) / 0.04);
  pointer-events: none;
}
.trophy-glow { box-shadow: var(--shadow-elegant); }
.safe-bottom { padding-bottom: env(safe-area-inset-bottom); }