:root {
  /* Canva brand identity */
  --color-brand-start: #2785EC;
  --color-brand-end: #1A27D2;
  --gradient-brand: linear-gradient(135deg, #2785EC 0%, #1A27D2 100%);
  --color-accent: #A5D8FF;
  --color-text: #FFFDF8;
  --color-text-muted: rgba(255, 253, 248, 0.88);
  --color-glass: rgba(255, 253, 248, 0.12);
  --color-glass-strong: rgba(255, 253, 248, 0.18);
  --color-glass-border: rgba(255, 253, 248, 0.28);
  --color-cta-fill: #FFFDF8;
  --color-cta-label: #1A27D2;

  /* Legacy aliases mapped to Canva theme (homepage) */
  --color-primary: #A5D8FF;
  --color-primary-bg: rgba(165, 216, 255, 0.14);
  --color-primary-15: rgba(165, 216, 255, 0.15);
  --color-primary-30: rgba(165, 216, 255, 0.3);
  --color-primary-50: rgba(165, 216, 255, 0.5);
  --color-deep-blue: #1A27D2;
  --color-light-blue: #A5D8FF;
  --color-white: #FFFDF8;
  --color-light-gray: rgba(255, 253, 248, 0.08);
  --color-medium-gray: rgba(255, 253, 248, 0.28);
  --color-dark-gray: #FFFDF8;
  --color-soft-gray: rgba(255, 253, 248, 0.88);

  /* Semantic colors */
  --color-success: #22C55E;
  --color-success-bg: #F0FDF4;
  --color-warning: #F59E0B;
  --color-warning-bg: #FFFBEB;
  --color-error: #EF4444;
  --color-error-bg: #FEF2F2;
  --color-error-text: #991B1B;
  --color-success-text: #166534;
  --color-warning-text: #92400E;

  /* Spacing (8px grid) */
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-6: 48px;
  --space-8: 64px;
  --space-12: 96px;

  /* Typography */
  --font-family: 'League Spartan', system-ui, -apple-system, sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --font-size-3xl: 40px;
  --font-size-4xl: 48px;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.15;
  --line-height-snug: 1.4;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;

  /* Layout */
  --radius-soft: 12px;
  --radius-pill: 9999px;
  --content-max-width: 1200px;
  --breakpoint-sm: 768px;
  --breakpoint-lg: 1024px;

  /* Motion */
  --transition-fast: 0.15s ease;
  --transition-base: 0.25s cubic-bezier(0.16, 1, 0.3, 1);

  /* Focus */
  --focus-ring-width: 2px;
  --focus-ring-color: var(--color-accent);
  --focus-ring-offset: 2px;

  /* Component sizing */
  --control-min-height: 48px;
  --touch-target-min: 44px;
  --textarea-min-height: 120px;
  --icon-stroke-width: 1.5;
}
