/* Modern Design Tokens - Portfolio Dzakri Phalosa Nugroho */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

:root {
    /* Colors - Modern Gradient Palette */
    --color-primary: #8b5cf6;
    --color-primary-dark: #7c3aed;
    --color-primary-light: #a78bfa;
    --color-secondary: #06b6d4;
    --color-secondary-dark: #0891b2;
    --color-accent: #f472b6;
    --color-accent-alt: #fb7185;

    /* Gradient Definitions */
    --gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%);
    --gradient-accent: linear-gradient(135deg, #f472b6 0%, #8b5cf6 100%);
    --gradient-hero: linear-gradient(135deg, #0f0f23 0%, #1a1a3e 50%, #0f172a 100%);
    --gradient-text: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 50%, #f472b6 100%);
    --gradient-glow: linear-gradient(135deg, rgba(139, 92, 246, 0.5), rgba(6, 182, 212, 0.5));

    /* Light Mode Colors */
    --color-text: #1e293b;
    --color-text-light: #64748b;
    --color-text-muted: #94a3b8;
    --color-background: #ffffff;
    --color-background-alt: #f8fafc;
    --color-surface: #f1f5f9;
    --color-surface-elevated: #ffffff;
    --color-border: #e2e8f0;
    --color-border-light: #f1f5f9;

    /* Glassmorphism */
    --glass-background: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(255, 255, 255, 0.3);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);

    /* Typography */
    --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Courier New', monospace;

    --font-size-xs: 0.75rem;
    /* 12px */
    --font-size-sm: 0.875rem;
    /* 14px */
    --font-size-base: 1rem;
    /* 16px */
    --font-size-lg: 1.125rem;
    /* 18px */
    --font-size-xl: 1.25rem;
    /* 20px */
    --font-size-2xl: 1.5rem;
    /* 24px */
    --font-size-3xl: 2rem;
    /* 32px */
    --font-size-4xl: 2.5rem;
    /* 40px */
    --font-size-5xl: 3.5rem;
    /* 56px */
    --font-size-6xl: 4.5rem;
    /* 72px */

    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;

    --line-height-tight: 1.2;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    --letter-spacing-tight: -0.02em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.02em;

    /* Spacing (8px base) */
    --spacing-xs: 0.5rem;
    /* 8px */
    --spacing-sm: 0.75rem;
    /* 12px */
    --spacing-md: 1rem;
    /* 16px */
    --spacing-lg: 1.5rem;
    /* 24px */
    --spacing-xl: 2rem;
    /* 32px */
    --spacing-2xl: 3rem;
    /* 48px */
    --spacing-3xl: 4rem;
    /* 64px */
    --spacing-4xl: 6rem;
    /* 96px */
    --spacing-5xl: 8rem;
    /* 128px */

    /* Layout */
    --container-max: 1200px;
    --container-padding: var(--spacing-lg);
    --section-gap: var(--spacing-5xl);

    /* Border Radius */
    --radius-sm: 0.5rem;
    /* 8px */
    --radius-md: 0.75rem;
    /* 12px */
    --radius-lg: 1rem;
    /* 16px */
    --radius-xl: 1.5rem;
    /* 24px */
    --radius-2xl: 2rem;
    /* 32px */
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.15);
    --shadow-glow: 0 0 40px rgba(139, 92, 246, 0.3);
    --shadow-glow-accent: 0 0 40px rgba(6, 182, 212, 0.3);

    /* Transitions */
    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);

    /* Z-index */
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-tooltip: 600;
}

/* Dark Mode Variables */
[data-theme="dark"] {
    --color-text: #f1f5f9;
    --color-text-light: #cbd5e1;
    --color-text-muted: #94a3b8;
    --color-background: #0a0a1a;
    --color-background-alt: #0f0f23;
    --color-surface: #1a1a2e;
    --color-surface-elevated: #252542;
    --color-border: #2d2d4a;
    --color-border-light: #1a1a2e;

    /* Dark Mode Glassmorphism */
    --glass-background: rgba(15, 15, 35, 0.8);
    --glass-border: rgba(139, 92, 246, 0.2);
    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);

    /* Enhanced Shadows for Dark Mode */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 0 60px rgba(139, 92, 246, 0.4);
    --shadow-glow-accent: 0 0 60px rgba(6, 182, 212, 0.4);
}