:root {
  --background: #ffffff;
  --foreground: #0b1220;
  --card: #ffffff;
  --card-foreground: #0b1220;
  --primary: #111827;
  --primary-foreground: #f8fafc;
  --secondary: #f1f5f9;
  --secondary-foreground: #0b1220;
  --muted: #f1f5f9;
  --muted-foreground: #64748b;
  --border: #e2e8f0;
}

/* Map to Tailwind CDN utility colors via arbitrary properties */
.bg-background { background-color: var(--background); }
.text-foreground { color: var(--foreground); }
.bg-card { background-color: var(--card); }
.text-card-foreground { color: var(--card-foreground); }
.bg-primary { background-color: var(--primary); }
.text-primary { color: var(--primary); }
.bg-primary-foreground { background-color: var(--primary-foreground); }
.text-primary-foreground { color: var(--primary-foreground); }
.border-primary-foreground { border-color: var(--primary-foreground); }
.bg-secondary { background-color: var(--secondary); }
.text-secondary-foreground { color: var(--secondary-foreground); }
.bg-muted { background-color: var(--muted); }
.text-muted-foreground { color: var(--muted-foreground); }
.border-border { border-color: var(--border); }
.divide-border > :not([hidden]) ~ :not([hidden]) { border-color: var(--border); }

/* Opacity helpers used inline */
.text-primary-foreground\/70 { color: color-mix(in oklab, var(--primary-foreground) 70%, transparent); }
.text-primary-foreground\/60 { color: color-mix(in oklab, var(--primary-foreground) 60%, transparent); }
.text-primary-foreground\/50 { color: color-mix(in oklab, var(--primary-foreground) 50%, transparent); }
.border-primary-foreground\/20 { border-color: color-mix(in oklab, var(--primary-foreground) 20%, transparent); }

html { scroll-behavior: smooth; }
body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
