/* theme.css — design tokens */

:root {
  /* Color palette */
  --color-bg:          #f8f4ff;
  --color-surface:     #ffffff;
  --color-surface-2:   #f0eafa;

  --color-primary:     #6c5ce7;
  --color-primary-lt:  #a29bfe;
  --color-primary-dk:  #4b3cb7;

  --color-accent:      #fd79a8;
  --color-accent-lt:   #fab8d0;

  --color-success:     #00b894;
  --color-success-lt:  #55efc4;
  --color-error:       #d63031;
  --color-error-lt:    #ff7675;
  --color-warning:     #fdcb6e;

  --color-blue:        #74b9ff;
  --color-blue-dk:     #0984e3;
  --color-green:       #55efc4;
  --color-green-dk:    #00b894;
  --color-orange:      #fab1a0;
  --color-orange-dk:   #e17055;
  --color-purple:      #a29bfe;
  --color-purple-dk:   #6c5ce7;
  --color-pink:        #fd79a8;
  --color-pink-dk:     #e84393;

  --color-text:        #2d3436;
  --color-text-muted:  #636e72;
  --color-text-light:  #b2bec3;

  /* Typography */
  --font-main: 'Nunito', 'Noto Sans TC', system-ui, sans-serif;
  --font-size-xs:   1.2rem;
  --font-size-sm:   1.4rem;
  --font-size-md:   1.6rem;
  --font-size-lg:   2.0rem;
  --font-size-xl:   2.4rem;
  --font-size-2xl:  3.2rem;
  --font-size-3xl:  4.8rem;

  /* Spacing */
  --space-xs:   0.4rem;
  --space-sm:   0.8rem;
  --space-md:   1.6rem;
  --space-lg:   2.4rem;
  --space-xl:   3.2rem;
  --space-2xl:  4.8rem;

  /* Radius */
  --radius-sm:   0.8rem;
  --radius-md:   1.6rem;
  --radius-lg:   2.4rem;
  --radius-full: 99rem;

  /* Shadows */
  --shadow-sm:  0 2px 8px rgba(108, 92, 231, 0.12);
  --shadow-md:  0 4px 20px rgba(108, 92, 231, 0.18);
  --shadow-lg:  0 8px 40px rgba(108, 92, 231, 0.24);

  /* Transitions */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow:   400ms ease;
}
