/**
 * Design Tokens — Contemporary Product Studio
 * A disciplined, restrained visual system tailored for Product Design portfolios.
 */

:root {
  /* ==========================================================================
     Color Palette (Deep Obsidian Dark & Vibrant Sunset Orange Accent)
     ========================================================================== */
  
  /* Canvas & Surfaces */
  --color-canvas: #0E0E0E;
  --color-surface: #141414;
  --color-surface-subtle: #1C1C1C;
  --color-surface-card: #181818;
  --color-surface-dark: #181818;
  --color-surface-dark-subtle: #222222;

  /* Ink & Typography */
  --color-ink-primary: #FFFFFF;
  --color-ink-secondary: #A3A3A3;
  --color-ink-muted: #737373;
  --color-ink-subtle: #525252;
  --color-ink-inverted: #0E0E0E;
  --color-ink-inverted-secondary: #525252;

  /* Hairlines & Borders */
  --color-border-subtle: #262626;
  --color-border-default: #333333;
  --color-border-strong: #454545;
  --color-border-dark: #2E2E2E;

  /* Vibrant Accent — Sunset Orange */
  --color-accent-cobalt: #FF5520;
  --color-accent-cobalt-hover: #FF6E40;
  --color-accent-cobalt-subtle: rgba(255, 85, 32, 0.12);
  --color-accent-cobalt-border: rgba(255, 85, 32, 0.35);
  --color-accent-ink: #FF6B3D;

  /* Semantic Feedback / Status */
  --color-status-active-bg: #1C1C1C;
  --color-status-active-text: #FFFFFF;
  --color-status-active-dot: #FF5520;
  --color-status-progress-bg: #1C1C1C;
  --color-status-progress-text: #FFFFFF;
  --color-status-progress-dot: #FF5520;

  /* Shadows — Deep dark elevation */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 8px 20px -4px rgba(0, 0, 0, 0.5), 0 4px 8px -2px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 18px 42px -6px rgba(0, 0, 0, 0.65), 0 6px 14px -3px rgba(0, 0, 0, 0.4);
  --shadow-focus: 0 0 0 3px rgba(255, 85, 32, 0.45);

  /* ==========================================================================
     Typography System
     ========================================================================== */
  
  /* Font Stacks */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Ubuntu', var(--font-sans);
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
  --font-serif-accent: 'Newsreader', Georgia, serif;

  /* Fluid Type Scale */
  --text-display: clamp(2.5rem, 5vw + 0.5rem, 4.25rem);      /* 40px -> 68px */
  --text-h1: clamp(2rem, 3.5vw + 0.25rem, 3rem);              /* 32px -> 48px */
  --text-h2: clamp(1.5rem, 2.5vw + 0.25rem, 2.125rem);        /* 24px -> 34px */
  --text-h3: clamp(1.25rem, 1.5vw + 0.25rem, 1.5rem);         /* 20px -> 24px */
  --text-h4: 1.125rem;                                        /* 18px */
  
  --text-body-lg: 1.125rem;                                   /* 18px / 28px */
  --text-body: 1rem;                                          /* 16px / 26px */
  --text-body-sm: 0.875rem;                                   /* 14px / 22px */
  --text-caption: 0.75rem;                                    /* 12px / 18px */
  --text-mono-tag: 0.8125rem;                                 /* 13px / 18px */

  /* Line Heights */
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  /* Letter Spacing */
  --tracking-tighter: -0.035em;
  --tracking-tight: -0.02em;
  --tracking-normal: 0em;
  --tracking-wide: 0.03em;
  --tracking-wider: 0.06em;

  /* Font Weights */
  --weight-thin: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ==========================================================================
     Layout & Spacing Scale (8pt Grid)
     ========================================================================== */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */
  --space-32: 8rem;     /* 128px */

  /* Containers & Padding */
  --container-max: 1220px;
  --container-narrow: 840px;
  --prose-max: 68ch;
  --page-pad: clamp(1.25rem, 4vw, 3rem);

  /* Border Radii (Crisp, not overly rounded) */
  --radius-xs: 3px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 9999px;

  /* Transitions */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
}
