/**
 * 01 - CSS Custom Properties — Premium Design System v3.0
 * @package Stratos_One_Portfolio
 * 
 * Source: robert-portfolio/assets/css/bundle.css (lines 1-130)
 * Purpose: Centralized design tokens (colors, typography, spacing, etc.)
 */

:root {
  /* Backgrounds */
  --color-bg-primary:   #07090c;
  --color-bg-secondary: #0d1117;
  --color-bg-card:      #0d1117;
  --color-bg-tertiary:  #131924;
  --color-bg-elevated:  #192031;

  /* Surfaces */
  --color-surface-subtle: rgba(255, 255, 255, 0.025);
  --color-surface-hover:  rgba(255, 255, 255, 0.05);
  --color-surface-active: rgba(59, 130, 246, 0.08);

  /* Text */
  --color-text-primary:   #eef2f7;
  --color-text-secondary: #8fa4bc;
  --color-text-muted:     #5a7080;
  --color-text-faint:     #364454;

  /* Accent */
  --color-accent-primary: #3b82f6;
  --color-accent-hover:   #60a5fa;
  --color-accent-active:  #2563eb;
  --color-accent-subtle:  rgba(59, 130, 246, 0.1);
  --color-accent-glow:    rgba(59, 130, 246, 0.2);

  /* Semantic */
  --color-success: #10d9a0;
  --color-warning: #f59e0b;
  --color-error:   #f87171;
  --color-purple:  #a78bfa;
  --color-cyan:    #22d3ee;

  /* Borders */
  --color-border-subtle: rgba(255, 255, 255, 0.055);
  --color-border-strong: rgba(255, 255, 255, 0.1);
  --color-border-accent: rgba(59, 130, 246, 0.3);
  --color-divider:       rgba(255, 255, 255, 0.055);

  /* Typography */
  --font-family-base:    'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --font-family-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* Font sizes */
  --font-size-xs:  0.75rem;
  --font-size-sm:  0.875rem;
  --font-size-base:1rem;
  --font-size-lg:  1.25rem;
  --font-size-xl:  1.875rem;
  --font-size-2xl: 2.625rem;
  --font-size-3xl: 3.5rem;

  /* Font weights */
  --font-weight-normal:    400;
  --font-weight-medium:    500;
  --font-weight-semibold:  600;
  --font-weight-bold:      700;
  --font-weight-extrabold: 800;

  /* Line heights */
  --line-height-tight:   1.15;
  --line-height-snug:    1.35;
  --line-height-base:    1.65;
  --line-height-relaxed: 1.85;

  /* Letter spacing */
  --letter-spacing-tight:   -0.03em;
  --letter-spacing-normal:  -0.01em;
  --letter-spacing-wide:     0.04em;
  --letter-spacing-widest:   0.12em;

  /* Spacing */
  --spacing-xs:  0.375rem;
  --spacing-sm:  0.625rem;
  --spacing-md:  1rem;
  --spacing-lg:  1.5rem;
  --spacing-xl:  2rem;
  --spacing-2xl: 2.5rem;
  --spacing-3xl: 3.25rem;
  --spacing-4xl: 5.5rem;
  --spacing-5xl: 7rem;
  --spacing-hero-top:    9rem;
  --spacing-hero-bottom: 7rem;

  /* Border Radius */
  --radius-sm:  3px;
  --radius:     7px;
  --radius-md:  7px;
  --radius-lg:  12px;
  --radius-xl:  18px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast:   0.14s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base:   0.22s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   0.38s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Shadows */
  --shadow-sm:     0 1px 4px rgba(0,0,0,0.45);
  --shadow:        0 4px 20px rgba(0,0,0,0.55);
  --shadow-md:     0 8px 32px rgba(0,0,0,0.55);
  --shadow-lg:     0 16px 52px rgba(0,0,0,0.6);
  --shadow-xl:     0 24px 72px rgba(0,0,0,0.65);
  --shadow-hover:  0 6px 28px rgba(0,0,0,0.58);
  --shadow-accent: 0 0 0 1px var(--color-border-accent), 0 4px 24px rgba(59,130,246,0.15);
  --shadow-glow:   0 0 48px rgba(59,130,246,0.1);

  /* Layout */
  --container-max:     1200px;
  --container-narrow:  680px;
  --container-content: 760px;
  --container-padding: 28px;

  /* Grid */
  --grid-gap-2: 48px;
  --grid-gap-3: 32px;
  --card-gap:   24px;

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

/* Section icon helper */
.section-icon {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 8px;
  stroke: var(--color-accent-primary);
  opacity: 0.8;
}
