/* Design tokens */
:root {
    /* Colors */
    --color-bg: #ffffff;
    --color-surface: #fafafa;
    --color-surface-hover: #f3f4f6;
    --color-text: #0f172a;
    --color-muted: #64748b;
    --color-border: #e5e7eb;
    --color-accent: #111827;
    --color-accent-hover: #1f2937;
    --color-success: #22c55e;

    /* Spacing */
    --space-xs: 8px;
    --space-sm: 14px;
    --space-md: 20px;
    --space-lg: 32px;
    --space-xl: 48px;
    --space-2xl: 80px;
    --space-3xl: 120px;

    /* Layout */
    --max-width: 1200px;
    --nav-height: 72px;

    /* Typography */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-size-xs: 0.8rem;
    --font-size-sm: 0.85rem;
    --font-size-base: 0.95rem;
    --font-size-md: 1.05rem;
    --font-size-lg: 1.1rem;
    --font-size-xl: 1.2rem;
    --font-size-2xl: clamp(1.8rem, 4vw, 2.5rem);
    --font-size-hero: clamp(3rem, 7vw, 6.5rem);

    /* Borders */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-full: 999px;

    /* Transitions */
    --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s ease;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.06);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --color-bg: #050505;
        --color-surface: #0d0d0d;
        --color-surface-hover: #1a1a1a;
        --color-text: #f8fafc;
        --color-muted: #94a3b8;
        --color-border: #1f2937;
        --color-accent: #ffffff;
        --color-accent-hover: #e2e8f0;

        --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
        --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.3);
        --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.3);
    }
}
