/* ================================================================
   TOKENS.CSS — Design Tokens for iamteshan.com
   Premium Dark Theme — Music Producer Portfolio
   ================================================================ */

:root {
    /* ── Color Palette (HSL — Green/Teal Music Aesthetic) ── */
    --color-primary-h: 158;
    --color-primary-s: 81%;
    --color-primary-l: 54%;
    --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l));
    --color-primary-light: hsl(var(--color-primary-h), 85%, 68%);
    --color-primary-dark: hsl(var(--color-primary-h), 80%, 38%);
    --color-primary-subtle: hsla(var(--color-primary-h), 80%, 54%, 0.12);

    --color-secondary-h: 170;
    --color-secondary-s: 70%;
    --color-secondary-l: 50%;
    --color-secondary: hsl(var(--color-secondary-h), var(--color-secondary-s), var(--color-secondary-l));

    --color-accent-h: 140;
    --color-accent-s: 72%;
    --color-accent-l: 52%;
    --color-accent: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l));

    /* ── Dark-First Neutrals ── */
    --color-bg: hsl(160, 15%, 5%);
    --color-bg-alt: hsl(160, 12%, 8%);
    --color-surface: hsl(160, 10%, 11%);
    --color-surface-elevated: hsl(160, 8%, 15%);
    --color-text: hsl(0, 0%, 95%);
    --color-text-muted: hsl(160, 5%, 55%);
    --color-text-secondary: hsl(160, 8%, 70%);
    --color-border: hsla(158, 20%, 50%, 0.15);
    --color-border-light: hsla(158, 20%, 60%, 0.08);

    /* ── Gradients ── */
    --gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    --gradient-accent: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);
    --gradient-hero: linear-gradient(135deg, hsl(158, 40%, 6%) 0%, hsl(160, 15%, 5%) 40%, hsl(170, 30%, 7%) 100%);
    --gradient-surface: linear-gradient(135deg, hsla(158, 60%, 30%, 0.1) 0%, hsla(170, 60%, 30%, 0.05) 100%);
    --gradient-text: linear-gradient(135deg, var(--color-primary-light), var(--color-secondary), var(--color-accent));

    /* ── Typography ── */
    --font-heading: 'Outfit', system-ui, -apple-system, sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.75rem;
    --font-size-5xl: 3.5rem;
    --font-size-6xl: 4.5rem;

    /* Fluid Typography */
    --fluid-heading-xl: clamp(2.5rem, 5vw + 1rem, 5rem);
    --fluid-heading-lg: clamp(2rem, 3vw + 0.75rem, 3.5rem);
    --fluid-heading-md: clamp(1.5rem, 2vw + 0.5rem, 2.5rem);

    --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.15;
    --line-height-snug: 1.3;
    --line-height-base: 1.7;
    --line-height-relaxed: 1.9;

    --letter-spacing-tight: -0.03em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.08em;
    --letter-spacing-wider: 0.12em;

    /* ── Spacing Scale ── */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    /* ── Border Radius ── */
    --radius-sm: 0.375rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --radius-2xl: 2rem;
    --radius-full: 9999px;

    /* ── Shadows (dark-mode optimized) ── */
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.35);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.4);
    --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.5);
    --shadow-2xl: 0 25px 60px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 0 30px hsla(var(--color-primary-h), 80%, 55%, 0.3);
    --shadow-glow-lg: 0 0 60px hsla(var(--color-primary-h), 80%, 55%, 0.25);
    --shadow-primary: 0 8px 30px hsla(var(--color-primary-h), 80%, 50%, 0.4);

    /* ── Transitions ── */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

    --duration-fast: 150ms;
    --duration-base: 250ms;
    --duration-slow: 400ms;
    --duration-slower: 600ms;

    --transition-fast: var(--duration-fast) ease;
    --transition-base: var(--duration-base) var(--ease-out);
    --transition-slow: var(--duration-slow) var(--ease-out);

    /* ── Z-Index Scale ── */
    --z-behind: -1;
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-tooltip: 600;

    /* ── Glass Tokens ── */
    --glass-bg: rgba(15, 12, 25, 0.65);
    --glass-bg-light: rgba(25, 20, 40, 0.5);
    --glass-border: rgba(255, 255, 255, 0.06);
    --glass-border-hover: rgba(255, 255, 255, 0.12);
    --glass-blur: blur(20px) saturate(180%);
}