@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400&display=swap');

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    /* --- COLOR PALETTE --- */
    /* Primary (Canadian Red) */
    --color-primary: #D72B2B;
    --color-primary-hover: #B91C1C;
    --color-primary-light: #FEF2F2;
    --color-primary-50: #FEE2E2;

    /* Neutrals */
    --color-neutral-950: #0A0A0A;
    --color-neutral-900: #171717;
    --color-neutral-800: #1F2937; /* Darker charcoal */
    --color-neutral-700: #374151; /* Dark gray */
    --color-neutral-600: #4B5563; /* Medium dark gray */
    --color-neutral-500: #6B7280; /* Safe gray */
    --color-neutral-400: #9CA3AF; /* Safe light gray for icons/borders */
    --color-neutral-300: #D1D5DB; /* Borders */
    --color-neutral-200: #E5E7EB; /* Light borders */
    --color-neutral-100: #F3F4F6; /* Light background */
    --color-neutral-50: #F9FAFB;  /* Page background */
    --color-white: #FFFFFF;

    /* Semantic */
    --color-success: #16A34A;
    --color-success-light: #F0FDF4;
    --color-warning: #EAB308;
    --color-warning-light: #FEFCE8;
    --color-info: #2563EB;
    --color-info-light: #EFF6FF;
    --color-danger: #DC2626;

    /* --- SHADOWS --- */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.04);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.05), 0 4px 6px rgba(0, 0, 0, 0.03);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.06), 0 8px 10px rgba(0, 0, 0, 0.04);

    /* --- BORDER RADIUS --- */
    --radius-none: 0;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;

    /* --- MOTION / TRANSITIONS --- */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-normal: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);

    /* --- FONTS --- */
    --font-headings: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-mono: 'JetBrains Mono', "SF Mono", "Cascadia Code", monospace;

    /* --- TYPOGRAPHY SCALE (rem bases on 16px) --- */
    --text-xs: 0.75rem;     /* 12px */
    --text-sm: 0.875rem;    /* 14px */
    --text-base: 1rem;      /* 16px */
    --text-lg: 1.125rem;    /* 18px */
    --text-xl: 1.25rem;     /* 20px */
    --text-2xl: 1.5rem;     /* 24px */
    --text-3xl: 1.875rem;   /* 30px */
    --text-4xl: 2.25rem;    /* 36px */
    --text-5xl: 3rem;       /* 48px */
    --text-6xl: 3.75rem;    /* 60px */

    /* --- SPACING SCALE --- */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;
    --space-32: 128px;
}

/* Dark Mode Custom Property overrides */
[data-theme="dark"] {
    --color-neutral-950: #FAFAFA;
    --color-neutral-900: #F5F5F5;
    --color-neutral-800: #E5E5E5;
    --color-neutral-700: #D4D4D4;
    --color-neutral-600: #A3A3A3;
    --color-neutral-500: #737373;
    --color-neutral-400: #525252;
    --color-neutral-300: #404040;
    --color-neutral-200: #262626;
    --color-neutral-100: #171717;
    --color-neutral-50: #0A0A0A;
    --color-white: #171717;
    
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.2);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.25), 0 4px 6px rgba(0, 0, 0, 0.15);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.3), 0 8px 10px rgba(0, 0, 0, 0.2);
}
