:root {
    /* Brand */
    --brand-black: #000000;
    --brand-nearblack: #080808;
    --brand-dark: #111111;
    --brand-graydark: #1a1a1a;
    --brand-gray: #7a7a7a;
    --brand-graylight: #d8d8d8;
    --brand-offwhite: #f5f5f5;
    --brand-white: #ffffff;

    /* Accent (aliases for consistency) */
    --color-accent: #ea580c;
    --color-accent-hover: #c2410c;
    --color-accent-light: #fb923c;
    --color-accent-400: #fb923c;
    --color-accent-500: #f97316;
    --color-accent-600: #ea580c;
    --brand-orange: var(--color-accent);
    --brand-orange-400: var(--color-accent-400);
    --brand-orange-500: var(--color-accent-500);

    /* Grays */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;

    /* Surfaces */
    --color-surface: #ffffff;
    --color-surface-alt: var(--gray-50);
    --color-surface-muted: var(--gray-100);
    --color-surface-elevated: #ffffff;
    --color-surface-input: var(--gray-50);
    --surface-light: #ffffff;
    --surface-dark: #0a0a0a;
    --surface-muted-light: var(--gray-50);
    --surface-muted-dark: #111111;
    --page-light: #f3f4f6;
    --page-dark: #050505;

    /* Borders — subtle, low-contrast */
    --color-border: #eceef2;
    --color-border-strong: #e2e5ea;
    --color-border-dark: #1a1a1a;
    --color-border-input: #e2e5ea;
    --color-border-input-dark: #2a2a2a;
    --border-light: #eceef2;
    --border-dark: #1a1a1a;
    --border-subtle-light: #f3f4f6;
    --border-subtle-dark: #141414;

    /* Text */
    --color-text: var(--brand-black);
    --color-text-inverse: var(--brand-white);
    --color-text-body: var(--gray-600);
    --color-text-muted: var(--gray-500);
    --color-text-subtle: var(--gray-400);

    /* Semantic colors */
    --color-emerald: #10b981;
    --color-emerald-400: #34d399;
    --color-emerald-500: #10b981;
    --emerald-500: #10b981;
    --emerald-600: #059669;
    --color-purple: #a855f7;
    --color-purple-400: #c084fc;
    --color-purple-500: #a855f7;
    --color-purple-600: #9333ea;
    --purple-500: #a855f7;
    --purple-600: #9333ea;
    --color-amber: #f59e0b;
    --color-amber-400: #fbbf24;
    --color-amber-500: #f59e0b;
    --color-amber-600: #d97706;
    --amber-500: #f59e0b;
    --color-rose: #f43f5e;
    --color-rose-500: #f43f5e;
    --color-sky: #0ea5e9;
    --color-sky-500: #0ea5e9;
    --sky-500: #0ea5e9;
    --color-blue: #2563eb;
    --color-blue-400: #60a5fa;
    --color-blue-600: #2563eb;

    /* Typography */
    --font-sans: 'Inter', sans-serif;
    --font-mono: 'Space Mono', monospace;
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --leading-display: 1.05;

    /* Layout */
    --container-max: 1440px;
    --container-padding: 1rem;
    --section-padding-y: 6rem;
    --section-padding-y-lg: 8rem;
    --sidebar-width: 280px;
    --topbar-height: 72px;

    /* Radii */
    --radius-sm: 0.75rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --radius-xl: 2rem;
    --radius-2xl: 1.875rem;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    --shadow-form: 0 20px 25px -5px rgba(0, 0, 0, 0.05);
    --shadow-accent: 0 10px 15px -3px rgba(234, 88, 12, 0.3);

    /* Motion */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
    --transition-slow: 500ms ease;
    --transition-reveal: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.dark {
    color-scheme: dark;

    --color-surface: var(--brand-nearblack);
    --color-surface-alt: #050505;
    --color-surface-muted: var(--brand-dark);
    --color-surface-elevated: #0a0a0a;
    --color-surface-input: var(--brand-dark);

    --color-border: var(--color-border-dark);
    --color-border-strong: var(--color-border-input-dark);

    --color-text: var(--brand-offwhite);
    --color-text-body: var(--brand-graylight);
    --color-text-muted: var(--brand-gray);
    --color-text-subtle: var(--gray-500);

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
    --shadow-form: none;
    --shadow-accent: 0 10px 15px -3px rgba(234, 88, 12, 0.2);
}

@media (min-width: 768px) {
    :root {
        --container-padding: 1.5rem;
    }
}
