/* LUNOVA — LIGHT theme tokens. White canvas + violet accents. */
:root {
  /* Surfaces (light) */
  --ln-bg:           #FFFFFF;
  --ln-bg-soft:      #FAFAFB;
  --ln-bg-tint:      #F4F0FA;     /* very subtle violet wash */
  --ln-surface:      #FFFFFF;
  --ln-surface-2:    #F7F4FD;
  --ln-border:       rgba(13, 13, 30, 0.06);
  --ln-border-2:     rgba(13, 13, 30, 0.12);
  --ln-border-3:     rgba(143, 83, 255, 0.28);

  /* Brand violets */
  --ln-violet:        #8F53FF;
  --ln-violet-deep:   #6B3FA0;
  --ln-violet-darker: #4A1F8A;
  --ln-violet-brand:  #6B3FA0;
  --ln-violet-light:  #C8A8FF;
  --ln-violet-tint:   #E9DCFF;
  --ln-violet-soft:   rgba(143, 83, 255, 0.10);
  --ln-violet-faint:  rgba(143, 83, 255, 0.04);

  /* Dark counterpart for occasional dark bands */
  --ln-navy:          #0D0D1E;
  --ln-navy-1:        #161629;
  --ln-navy-2:        #1E1E35;

  /* Text */
  --ln-ink:           #0D0D1E;             /* primary text */
  --ln-ink-2:         #2A2A42;
  --ln-text:          rgba(13, 13, 30, 0.78);
  --ln-text-muted:    rgba(13, 13, 30, 0.55);
  --ln-text-faint:    rgba(13, 13, 30, 0.52);
  --ln-on-violet:     #FFFFFF;

  /* Semantic */
  --ln-success:       #16A085;
  --ln-warn:          #F5A524;
  --ln-error:         #E03A5C;

  /* Gradients */
  --ln-grad:          linear-gradient(135deg, #8F53FF 0%, #6B3FA0 60%, #4A1F8A 100%);
  --ln-grad-light:    linear-gradient(135deg, #C8A8FF 0%, #8F53FF 100%);
  --ln-grad-text:     linear-gradient(120deg, #6B3FA0 0%, #8F53FF 60%, #C8A8FF 100%);
  --ln-grad-soft:     linear-gradient(180deg, #FFFFFF, #F4F0FA);
  --ln-grad-line:     linear-gradient(90deg, transparent, rgba(143,83,255,0.45), transparent);
  --ln-grad-dark:     linear-gradient(160deg, #0D0D1E 0%, #1F0F3C 50%, #2A1450 100%);

  /* Radii */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-2xl: 36px;
  --r-pill: 9999px;

  /* Shadows (light) */
  --shadow-1: 0 1px 2px rgba(13,13,30,0.06), 0 1px 1px rgba(13,13,30,0.04);
  --shadow-2: 0 12px 30px rgba(107, 63, 160, 0.12), 0 4px 12px rgba(13,13,30,0.05);
  --shadow-3: 0 24px 60px rgba(107, 63, 160, 0.22), 0 8px 22px rgba(13,13,30,0.08);
  --shadow-violet: 0 18px 40px rgba(143, 83, 255, 0.30);
  --shadow-inset-hl: inset 0 1px 0 rgba(255,255,255,0.6);

  /* Type */
  --f-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --f-body:    'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --f-cn:      'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;

  --fs-12: 0.75rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-22: 1.375rem;
  --fs-28: 1.75rem;
  --fs-36: 2.25rem;
  --fs-48: 3rem;
  --fs-64: 4rem;
  --fs-88: 5.5rem;
  --fs-112: 7rem;

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

  /* Motion */
  --ease-out:   cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in:    cubic-bezier(0.6, 0, 0.8, 0.2);
  --dur-fast:   180ms;
  --dur-med:    280ms;
  --dur-slow:   480ms;

  /* Layout */
  --container: 1320px;
  --nav-h: 76px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur-med: 0ms; --dur-slow: 0ms; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}
