@import "tailwindcss" source(none);
@source "../src";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

/* Right On Gloss design system — palette taken from the brand logo:
   hot magenta gloss swatch, deep royal purple wordmark, black caps, rosewood tubes. */

@theme inline {
  --font-display: "Fraunces", Georgia, serif;
  --font-sans: "Outfit", system-ui, sans-serif;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-star: var(--star);
}

:root {
  --radius: 1rem;
  --background: oklch(0.965 0.018 340);
  --foreground: oklch(0.24 0.08 320);
  --card: oklch(0.995 0.006 340);
  --card-foreground: oklch(0.24 0.08 320);
  --primary: oklch(0.58 0.25 350);
  --primary-foreground: oklch(0.99 0.005 340);
  --secondary: oklch(0.92 0.04 330);
  --secondary-foreground: oklch(0.32 0.12 315);
  --muted: oklch(0.93 0.025 335);
  --muted-foreground: oklch(0.46 0.07 320);
  --accent: oklch(0.38 0.14 315);
  --accent-foreground: oklch(0.99 0.005 340);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.87 0.05 335);
  --input: oklch(0.87 0.05 335);
  --ring: oklch(0.58 0.25 350);
  --star: oklch(0.78 0.15 75);
  --gradient-gloss: linear-gradient(135deg, oklch(0.6 0.26 352), oklch(0.4 0.15 315));
  --shadow-glow: 0 18px 40px -16px color-mix(in oklab, var(--primary) 55%, transparent);
}

@layer base {
  * { border-color: var(--color-border); }
  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-sans);
  }
  h1, h2, h3 { font-family: var(--font-display); }
}

@utility btn-gloss {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  background: var(--gradient-gloss);
  color: var(--primary-foreground);
  box-shadow: var(--shadow-glow);
  transition: transform 0.2s;
  &:hover { transform: translateY(-2px); }
  &:disabled { opacity: 0.6; transform: none; }
}

@utility btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border: 1.5px solid var(--primary);
  color: var(--primary);
  &:hover { background: var(--secondary); }
}

@utility field {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid var(--input);
  background: var(--card);
  padding: 0.65rem 0.9rem;
  &:focus { outline: 2px solid var(--ring); outline-offset: 1px; }
}
