:root {
    /* Color Palette - Navy Blue Theme (Style Guide) */
    --color-primary-50: #E7F0FA;
    --color-primary-100: #C8DCF2;
    --color-primary-200: #90B9E5;
    --color-primary-300: #5B93D4;
    --color-primary-400: #3A74C0;
    --color-primary-500: #2659A4;
    --color-primary-600: #1E4580;
    --color-primary-700: #15335F;
    --color-primary-800: #0D2240;
    --color-primary-900: #071221;
    --color-purple-light: #514EB7;
    /* Neutral Grays - Navy-tinted */
    --color-neutral-0: #FFFFFF;
    --color-neutral-50: #F0F4F8;
    --color-neutral-100: #D9E2EC;
    --color-neutral-200: #BCCCDC;
    --color-neutral-300: #9FB3C8;
    --color-neutral-400: #829AB1;
    --color-neutral-500: #627D98;
    --color-neutral-600: #486581;
    --color-neutral-700: #334E68;
    --color-neutral-800: #243B53;
    --color-neutral-900: #102A43;
    /* Accent - Rewards/CTA (Warm Yellow) */
    --color-accent: #FFD166; /* Accent */
    --color-accent-light: #FFF4D6; /* Accent Subtle */
    --color-accent-dark: #F4B400; /* Deep Yellow */
    /* Semantic Colors (Style Guide Alert & Status) */
    --color-success: #2DC653;
    --color-success-light: #D4F7DC;
    --color-warning: #FFB300;
    --color-warning-light: #FFF0CC;
    --color-error: #CC3333;
    --color-error-light: #FDDFDF;
    --color-info: #2659A4;
    --color-info-light: #D8E6F9;
    /* Typography */
    --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-display: 'Inter', var(--font-family-base);
    --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.8125rem);
    --font-size-sm: clamp(0.8125rem, 0.775rem + 0.19vw, 0.875rem);
    --font-size-base: clamp(0.875rem, 0.825rem + 0.25vw, 1rem);
    --font-size-md: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    --font-size-lg: clamp(1.125rem, 1.05rem + 0.38vw, 1.25rem);
    --font-size-xl: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
    --font-size-2xl: clamp(1.5rem, 1.35rem + 0.75vw, 1.875rem);
    --font-size-3xl: clamp(1.875rem, 1.65rem + 1.13vw, 2.25rem);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    /* Spacing (8px base grid) */
    --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;
    /* Shadows */
    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-primary: 0 4px 14px 0 rgba(38, 89, 164, 0.39);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
    /* Glassmorphism */
    --glass-blur-sm: blur(8px);
    --glass-blur-md: blur(12px);
    --glass-blur-lg: blur(20px);
    --glass-blur-xl: blur(40px);
    --glass-bg-light: rgba(255, 255, 255, 0.75);
    --glass-bg-medium: rgba(255, 255, 255, 0.5);
    --glass-bg-heavy: rgba(255, 255, 255, 0.3);
    --glass-bg-subtle: rgba(255, 255, 255, 0.88);
    --glass-border: rgba(255, 255, 255, 0.3);
    --glass-border-strong: rgba(255, 255, 255, 0.5);
    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    --radius-full: 9999px;
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
    --transition-colors: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
    --transition-transform: transform 200ms ease;
    --transition-all: all 200ms ease;
}