/* ==========================================================================
   VIUCraft Design Tokens
   ========================================================================== */

:root {
  /* Color palette - Slate Scale (HSL for transparency) */
  --slate-50: 210 40% 98%;
  --slate-100: 210 40% 96.1%;
  --slate-200: 214.3 31.8% 91.4%;
  --slate-300: 212.7 26.8% 83.9%;
  --slate-400: 215 20.2% 65.1%;
  --slate-500: 215.4 16.3% 46.9%;
  --slate-600: 215.3 19.3% 34.5%;
  --slate-700: 215.3 25% 26.7%;
  --slate-800: 217.2 32.6% 17.5%;
  --slate-900: 222.2 47.4% 11.2%;
  --slate-950: 222.2 84% 4.9%;

  /* Semantic Neutrals */
  --neutral-50: hsl(var(--slate-50));
  --neutral-100: hsl(var(--slate-100));
  --neutral-200: hsl(var(--slate-200));
  --neutral-300: hsl(var(--slate-300));
  --neutral-400: hsl(var(--slate-400));
  --neutral-500: hsl(var(--slate-500));
  --neutral-600: hsl(var(--slate-600));
  --neutral-700: hsl(var(--slate-700));
  --neutral-800: hsl(var(--slate-800));
  --neutral-900: hsl(var(--slate-900));
  --neutral-950: hsl(var(--slate-950));

  /* Brand Colors - Upgraded for Premium Feel */
  --primary-blue: #0ea5e9; /* Sky-500: Brighter, more modern */
  --primary-purple: #8b5cf6; /* Violet-500: Deeper, dynamic purple */
  --primary-indigo: #6366f1; /* Indigo-500: Main brand accent */
  --primary-indigo-dark: #4f46e5; /* Indigo-600: Hover state */
  --primary-green: #10b981; /* Emerald-500 */
  --primary-red: #ef4444; /* Red-500 */
  --primary-orange: #f59e0b; /* Amber-500 */

  /* Semantic Colors */
  --bg-body: #f1f5f9; /* Slate-100: Better contrast for white surfaces */
  --bg-surface: #ffffff;
  --bg-surface-subtle: hsl(var(--slate-50));
  --text-main: #0f172a; /* Slate-900: Deep off-black */
  --text-muted: #475569; /* Slate-600: Sufficient contrast on white surfaces */
  --border-subtle: rgba(15, 23, 42, 0.06); /* Soft, premium borders */
  --border-default: rgba(15, 23, 42, 0.1);

  /* Status colors */
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --info: #0ea5e9;

  /* Semantic Text colors (accessible on light backgrounds) */
  --success-text: #065f46; /* Emerald-800 */
  --warning-text: #78350f; /* Amber-900 */
  --danger-text: #7f1d1d; /* Red-900 */
  --info-text: #0c4a6e; /* Sky-900 */

  /* Spacing (8pt Grid) */
  --space-2: 0.125rem;
  --space-4: 0.25rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-20: 1.25rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --space-80: 5rem;
  --space-96: 6rem;

  /* Typography */
  --font-family:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --font-size-xs: 0.75rem; /* 12px */
  --font-size-sm: 0.875rem; /* 14px */
  --font-size-base: 1rem; /* 16px */
  --font-size-lg: 1.125rem; /* 18px */
  --font-size-xl: 1.25rem; /* 20px */
  --font-size-2xl: 1.5rem; /* 24px */
  --font-size-3xl: 2rem; /* 32px */
  --font-size-4xl: 2.5rem; /* 40px */
  --font-size-5xl: 3rem; /* 48px */

  --line-height-tight: 1.1;
  --line-height-snug: 1.3;
  --line-height-normal: 1.6; /* Bumped to 1.6 for breathability */
  --line-height-relaxed: 1.75;

  /* Shadows (Deep, Diffused, Physically Accurate) */
  --shadow-sm:
    0 1px 2px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.06);
  --shadow-md:
    0 4px 6px rgba(15, 23, 42, 0.08), 0 8px 16px rgba(15, 23, 42, 0.1);
  --shadow-lg:
    0 10px 15px rgba(15, 23, 42, 0.08), 0 16px 32px rgba(15, 23, 42, 0.12);
  --shadow-xl:
    0 20px 25px rgba(15, 23, 42, 0.08), 0 32px 64px rgba(15, 23, 42, 0.15);
  --shadow-2xl:
    0 25px 50px rgba(15, 23, 42, 0.1), 0 40px 80px rgba(15, 23, 42, 0.2);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* Colored Shadows for Micro-interactions */
  --shadow-primary-glow: 0 4px 14px 0 rgba(99, 102, 241, 0.39);
  --shadow-primary-glow-hover: 0 6px 20px rgba(99, 102, 241, 0.23);

  /* Border radius */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px; /* Increased for softer look */
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* Z-index scale */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-navbar: 300;
  --z-sidebar: 400;
  --z-modal: 500;
  --z-tooltip: 600;

  /* Dynamic Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.16, 1, 0.3, 1); /* Smoother curve */
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1); /* Smoother curve */

  /* Gradients */
  --gradient-brand: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --gradient-dark: linear-gradient(145deg, #0f172a 0%, #1e293b 100%);
  --gradient-hero: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%);
  --gradient-surface: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0.8)
  );
}
