/* ============================================================
   Choply — Design Tokens & CSS Custom Properties
   ============================================================ */

:root {
  /* ── Brand Colors ── */
  --primary:        #FF6B35;
  --primary-dark:   #E55A25;
  --primary-light:  #FF8C42;
  --primary-glow:   rgba(255, 107, 53, 0.25);
  --primary-subtle: rgba(255, 107, 53, 0.08);

  --secondary:      #1A1A2E;
  --secondary-mid:  #252540;

  --accent:         #06D6A0;
  --accent-dark:    #05B88A;
  --accent-subtle:  rgba(6, 214, 160, 0.12);

  --warning:        #FFB800;
  --warning-subtle: rgba(255, 184, 0, 0.12);
  --danger:         #FF4757;
  --danger-subtle:  rgba(255, 71, 87, 0.12);
  --success:        #2ED573;
  --success-subtle: rgba(46, 213, 115, 0.12);

  /* ── Backgrounds ── */
  --bg:             #FAFAF8;
  --bg-card:        #FFFFFF;
  --bg-elevated:    #F3F3F0;
  --bg-overlay:     rgba(0, 0, 0, 0.5);

  /* ── Text ── */
  --text-primary:   #1A1A2E;
  --text-secondary: #6B7280;
  --text-muted:     #9CA3AF;
  --text-inverse:   #FFFFFF;

  /* ── Borders ── */
  --border:         rgba(0, 0, 0, 0.08);
  --border-focus:   var(--primary);

  /* ── Glass ── */
  --glass-bg:       rgba(255, 255, 255, 0.72);
  --glass-bg-dark:  rgba(26, 26, 46, 0.72);
  --glass-border:   rgba(255, 255, 255, 0.25);
  --glass-blur:     blur(20px);

  /* ── Shadows ── */
  --shadow-xs:  0 1px 3px rgba(0,0,0,0.06);
  --shadow-sm:  0 2px 8px rgba(0,0,0,0.08);
  --shadow-md:  0 8px 24px rgba(0,0,0,0.10);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.14);
  --shadow-xl:  0 32px 80px rgba(0,0,0,0.18);
  --shadow-glow: 0 0 40px rgba(255,107,53,0.30);
  --shadow-card: 0 4px 20px rgba(0,0,0,0.08);

  /* ── Radii ── */
  --radius-xs:   4px;
  --radius-sm:   8px;
  --radius-md:   16px;
  --radius-lg:   24px;
  --radius-xl:   32px;
  --radius-2xl:  48px;
  --radius-full: 9999px;

  /* ── Spacing scale ── */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;

  /* ── Typography ── */
  --font-sans:    'Inter', system-ui, -apple-system, sans-serif;
  --font-display: 'Syne', 'Inter', sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;
  --text-6xl:  3.75rem;
  --text-7xl:  4.5rem;

  --font-light:    300;
  --font-regular:  400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;
  --font-black:    800;

  --leading-tight:  1.2;
  --leading-snug:   1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* ── Transitions ── */
  --ease-default: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out:     cubic-bezier(0.0, 0.0, 0.2, 1);
  --ease-in:      cubic-bezier(0.4, 0.0, 1, 1);
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-bounce:  cubic-bezier(0.68, -0.55, 0.265, 1.55);

  --duration-fast:   150ms;
  --duration-base:   250ms;
  --duration-slow:   400ms;
  --duration-slower: 600ms;

  --transition-fast:   var(--duration-fast) var(--ease-default);
  --transition-base:   var(--duration-base) var(--ease-default);
  --transition-slow:   var(--duration-slow) var(--ease-default);
  --transition-spring: var(--duration-slow) var(--ease-spring);

  /* ── Z-index layers ── */
  --z-base:    0;
  --z-raised:  10;
  --z-sticky:  100;
  --z-overlay: 200;
  --z-drawer:  300;
  --z-modal:   400;
  --z-toast:   500;
  --z-top:     999;

  /* ── Layout ── */
  --navbar-h:     72px;
  --sidebar-w:    260px;
  --container-max: 1280px;
  --content-max:  800px;
}

/* ── Dark Theme ── */
[data-theme="dark"] {
  --bg:             #0D0D1A;
  --bg-card:        #161628;
  --bg-elevated:    #1E1E35;
  --bg-overlay:     rgba(0, 0, 0, 0.7);

  --text-primary:   #F0F0F8;
  --text-secondary: #9CA3AF;
  --text-muted:     #6B7280;

  --border:         rgba(255, 255, 255, 0.08);

  --glass-bg:       rgba(22, 22, 40, 0.72);
  --glass-border:   rgba(255, 255, 255, 0.10);

  --shadow-sm:  0 2px 8px rgba(0,0,0,0.24);
  --shadow-md:  0 8px 24px rgba(0,0,0,0.32);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.44);
  --shadow-card: 0 4px 20px rgba(0,0,0,0.28);
}
