:root {
    /* ===== COLOR SYSTEM ===== */
    --color-primary: #0a0a2e;
    --color-primary-rgb: 10, 10, 46;
    --color-accent: #00d4ff;
    --color-accent-rgb: 0, 212, 255;
    --color-accent-hover: #33ddff;
    --color-secondary-accent: #7c3aed;
    --color-secondary-accent-rgb: 124, 58, 237;
    --color-success: #00ff88;
    --color-success-rgb: 0, 255, 136;
    --color-warning: #ffaa00;
    --color-warning-rgb: 255, 170, 0;
    --color-error: #ff4444;
    --color-error-rgb: 255, 68, 68;

    /* ===== FONT SIZES ===== */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;

    /* ===== LINE HEIGHTS ===== */
    --leading-tight: 1.25;
    --leading-normal: 1.6;
    --leading-relaxed: 1.75;

    /* ===== SPACING (4px base unit) ===== */
    --space-0: 0;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

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

    /* ===== SHADOWS ===== */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.12), 0 4px 6px rgba(0, 0, 0, 0.08);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.1);
    --shadow-glow: 0 0 20px rgba(0, 212, 255, 0.35);
    --shadow-glow-strong: 0 0 30px rgba(0, 212, 255, 0.6);

    /* ===== Z-INDEX SCALE ===== */
    --z-1: 1;
    --z-10: 10;
    --z-100: 100;
    --z-1000: 1000;
    --z-9999: 9999;

    /* ===== TRANSITIONS ===== */
    --transition-fast: 150ms;
    --transition-normal: 300ms;
    --transition-slow: 500ms;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in: cubic-bezier(0.4, 0, 1, 1);

    /* ===== FONT STACKS ===== */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: "SF Mono", "Monaco", "Cascadia Code", "Roboto Mono", "Fira Code", Consolas, "Courier New", monospace;

    /* ===== CONTAINER ===== */
    --container-max: 1200px;
    --container-padding: 1.5rem;

    /* ===== THEME VARIABLES (Default = Light) ===== */
    --bg-body: #f5f7fa;
    --bg-body-alt: #eef1f6;
    --bg-surface: #ffffff;
    --bg-surface-hover: #f8fafc;
    --bg-elevated: #ffffff;
    --text-primary: #0a0a2e;
    --text-secondary: #475569;
    --text-tertiary: #94a3b8;
    --text-inverse: #ffffff;
    --border-color: #e2e8f0;
    --border-color-hover: #cbd5e1;
    --border-color-strong: #94a3b8;
    --code-bg: #f1f5f9;
    --code-text: #0a0a2e;
    --selection-bg: rgba(0, 212, 255, 0.25);
    --selection-text: #0a0a2e;
    --focus-ring: rgba(0, 212, 255, 0.5);
    --scrollbar-track: #f1f5f9;
    --scrollbar-thumb: #cbd5e1;
    --scrollbar-thumb-hover: #94a3b8;
}

[data-theme="light"] {
    --bg-body: #f5f7fa;
    --bg-body-alt: #eef1f6;
    --bg-surface: #ffffff;
    --bg-surface-hover: #f8fafc;
    --bg-elevated: #ffffff;
    --text-primary: #0a0a2e;
    --text-secondary: #475569;
    --text-tertiary: #94a3b8;
    --text-inverse: #ffffff;
    --border-color: #e2e8f0;
    --border-color-hover: #cbd5e1;
    --border-color-strong: #94a3b8;
    --code-bg: #f1f5f9;
    --code-text: #0a0a2e;
    --selection-bg: rgba(0, 212, 255, 0.25);
    --selection-text: #0a0a2e;
    --focus-ring: rgba(0, 212, 255, 0.5);
    --scrollbar-track: #f1f5f9;
    --scrollbar-thumb: #cbd5e1;
    --scrollbar-thumb-hover: #94a3b8;
    --shadow-card: 0 1px 3px rgba(10, 10, 46, 0.05), 0 4px 12px rgba(10, 10, 46, 0.04);
    --shadow-card-hover: 0 4px 12px rgba(10, 10, 46, 0.08), 0 12px 24px rgba(10, 10, 46, 0.06);
}

[data-theme="dark"] {
    --bg-body: #0a0a2e;
    --bg-body-alt: #0f1040;
    --bg-surface: #131350;
    --bg-surface-hover: #1a1a60;
    --bg-elevated: #1e1e70;
    --text-primary: #e8eaed;
    --text-secondary: #a8b3c7;
    --text-tertiary: #6b7694;
    --text-inverse: #0a0a2e;
    --border-color: rgba(255, 255, 255, 0.08);
    --border-color-hover: rgba(255, 255, 255, 0.16);
    --border-color-strong: rgba(255, 255, 255, 0.24);
    --code-bg: rgba(255, 255, 255, 0.04);
    --code-text: #00d4ff;
    --selection-bg: rgba(0, 212, 255, 0.35);
    --selection-text: #ffffff;
    --focus-ring: rgba(0, 212, 255, 0.6);
    --scrollbar-track: #0f1040;
    --scrollbar-thumb: #2a2a80;
    --scrollbar-thumb-hover: #3a3a9a;
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3);
    --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.5), 0 12px 24px rgba(0, 212, 255, 0.1);
}