/*
 * Design tokens — SintaxyLearning (subconjunto do sistema global)
 * Espelhado de /src/styles/tokens.css — OKLCH throughout.
 */

:root {
  /* Color — Primary (Violeta) */
  --color-primary: oklch(54.1% 0.222 314.9);
  --color-primary-deep: oklch(45.0% 0.200 314.9);
  --color-primary-soft: oklch(96.0% 0.020 314.9);
  --color-primary-contrast: oklch(100% 0 0);

  /* Color — Secondary (Lilás) */
  --color-secondary: oklch(65.1% 0.228 323.0);

  /* Color — Accent (Âmbar) */
  --color-accent: oklch(77.2% 0.122 59.3);
  --color-accent-deep: oklch(65.0% 0.140 50.0);

  /* Color — Neutral */
  --color-ink: oklch(16.1% 0.037 291.9);
  --color-ink-muted: oklch(48.0% 0.020 314.9);
  --color-bg: oklch(100% 0 0);
  --color-surface: oklch(98.0% 0.004 314.9);
  --color-border: oklch(92.0% 0.008 314.9);

  /* Color — Semantic */
  --color-focus-ring: oklch(54.1% 0.222 314.9 / 0.25);
  --color-text-on-primary: oklch(100% 0 0);

  /* Color — Course extras (moedas, sucesso) */
  --color-coin: oklch(80% 0.14 70);
  --color-success: oklch(62% 0.13 160);
  --color-locked: oklch(55% 0.015 290);

  /* Typography — families */
  --font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-body: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', 'Source Code Pro', monospace;

  /* Typography — fluid scale */
  --fs-display: clamp(2.75rem, 6vw, 4.5rem);
  --fs-headline: clamp(1.75rem, 3.5vw, 2.5rem);
  --fs-title: 1.25rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-label: 0.75rem;

  /* Typography — line-height & tracking */
  --lh-display: 1.05;
  --lh-headline: 1.15;
  --lh-title: 1.3;
  --lh-body: 1.6;
  --ls-display: -0.02em;
  --ls-headline: -0.01em;
  --ls-label: 0.04em;

  /* Spacing scale (px) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-focus: 0 0 0 3px var(--color-focus-ring);
  --shadow-dialog: 0 24px 48px -12px oklch(0% 0 0 / 0.18);
  --shadow-card-hover: 0 8px 24px -8px oklch(54.1% 0.222 314.9 / 0.20);

  /* Motion */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 240ms;
  --duration-slow: 400ms;
  --duration-hero: 700ms;

  /* Layout */
  --container-max: 1200px;
  --container-prose: 720px;
  --container-narrow: 600px;

  /* z-index scale (semantic, nunca arbitrário) */
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-modal-backdrop: 30;
  --z-modal: 40;
  --z-toast: 50;
  --z-tooltip: 60;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
