/* Zorvia Core design tokens — CSS custom properties, site-wide, side-effect free */
:root {
  /* base palette */
  --zc-black:  #0a0a0b;
  --zc-void:   #111115;
  --zc-ink:    #1c1c22;
  --zc-carbon: #2e2e38;
  --zc-steel:  #5c5c72;
  --zc-silver: #a8a8be;
  --zc-mist:   #e4e4f0;
  --zc-white:  #f5f5fa;
  --zc-signal: #e8f000;
  --zc-signal-hover: #f5fa4d;
  --zc-pulse:  #00d4a8;
  --zc-charge: #ff3d5a;
  --zc-forge:  #4a6cf7;
  --zc-forge-light: #8fa8ff;

  /* semantic aliases */
  --surface-page:   var(--zc-black);
  --surface-panel:  var(--zc-void);
  --surface-raised: var(--zc-ink);
  --surface-carbon: var(--zc-carbon);

  --text-primary:   var(--zc-white);
  --text-secondary: var(--zc-silver);
  --text-muted:     #8a8aa3; /* lightened from steel #5c5c72 for WCAG AA contrast on dark surfaces */
  --text-on-accent: var(--zc-black);

  --accent-primary: var(--zc-signal);
  --accent-pulse:   var(--zc-pulse);
  --accent-charge:  var(--zc-charge);
  --accent-forge:   var(--zc-forge);

  --border-subtle:   rgba(232, 240, 0, 0.08);
  --border-default:  rgba(232, 240, 0, 0.15);
  --border-strong:   rgba(232, 240, 0, 0.25);
  --border-hairline: rgba(255, 255, 255, 0.06);

  /* type families */
  --f-display: 'Playfair Display', Georgia, serif;
  --f-body:    'Barlow', sans-serif;
  --f-cond:    'Barlow Condensed', sans-serif;

  /* type scale */
  --text-display-xl: 64px;
  --text-display-lg: 40px;
  --text-display-md: 36px;
  --text-display-sm: 24px;

  --text-body-lg: 20px;
  --text-body-md: 16px;
  --text-body-base: 14px;
  --text-body-sm: 13px;
  --text-body-xs: 12px;

  --text-cond-lg: 15px;
  --text-cond-md: 12px;
  --text-cond-base: 10px;
  --text-cond-sm: 9px;

  --tracking-cond-wide: 0.28em;
  --tracking-cond-base: 0.18em;
  --tracking-cond-tight: 0.1em;

  /* spacing scale */
  --space-1: 2px;  --space-2: 4px;  --space-3: 6px;  --space-4: 8px;
  --space-5: 10px; --space-6: 12px; --space-7: 14px; --space-8: 16px;
  --space-9: 20px; --space-10: 24px; --space-11: 28px; --space-12: 32px;
  --space-13: 36px; --space-14: 40px; --space-16: 48px; --space-18: 56px;
  --space-20: 64px; --space-24: 72px; --space-28: 96px; --space-32: 120px;

  --page-max-width: 1200px;
  --page-padding: 24px;

  /* effects */
  --radius-none: 0px;
  --radius-chip: 4px;
  --border-width-hairline: 1px;
  --border-width-accent: 3px;

  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
}
