/*! Strand v0.5.0 | MIT License | dillingerstaffing.com */

:root {
  /* ═══════════════════════════════════════════
     STRAND DESIGN TOKENS
     All values defined in DESIGN_LANGUAGE.md
     ═══════════════════════════════════════════ */

  /* ── FONTS ── */
  --strand-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --strand-font-mono: 'JetBrains Mono', 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;

  /* ── SURFACE PALETTE ── */
  --strand-surface-primary: #FAFCFF;
  --strand-surface-elevated: #FFFFFF;
  --strand-surface-recessed: #F0F5F8;
  --strand-surface-subtle: #E8EEF3;

  /* ── BLUE: BIOSYNTHETIC SPECTRUM ── */
  --strand-blue-glow: #E8F5FD;
  --strand-blue-wash: #DBECFE;
  --strand-blue-indicator: #93CCFD;
  --strand-blue-primary: #3B8EF6;
  --strand-blue-vivid: #2570EB;
  --strand-blue-deep: #1D5AD8;
  --strand-blue-midnight: #1E3E5F;
  --strand-blue-abyss: #0F192A;

  /* ── COOL GRAYS (cyan-shifted) ── */
  --strand-gray-50: #F7FAFD;
  --strand-gray-100: #F1F6F9;
  --strand-gray-200: #E2E9F0;
  --strand-gray-300: #CBD6E1;
  --strand-gray-400: #94A5B8;
  --strand-gray-500: #64778B;
  --strand-gray-600: #475769;
  --strand-gray-700: #334355;
  --strand-gray-800: #1E2B3B;
  --strand-gray-900: #0F192A;

  /* ── SEMANTIC ACCENTS ── */
  --strand-cyan-signal: #22D3EE;
  --strand-teal-vital: #14B8A6;
  --strand-green-positive: #10B981;
  --strand-violet-data: #8B5CF6;
  --strand-red-alert: #EF4444;
  --strand-red-alert-vivid: #DC2626;
  --strand-red-alert-deep: #B91C1C;
  --strand-amber-caution: #F59E0B;

  /* ── ON-COLORS (contrast-safe text pairings) ── */
  --strand-on-surface-primary: #475769;
  --strand-on-surface-elevated: #475769;
  --strand-on-surface-recessed: #475769;
  --strand-on-blue-primary: #FFFFFF;
  --strand-on-blue-vivid: #FFFFFF;
  --strand-on-blue-deep: #FFFFFF;
  --strand-on-red-alert: #FFFFFF;
  --strand-on-red-alert-vivid: #FFFFFF;
  --strand-on-red-alert-deep: #FFFFFF;
  --strand-on-teal-vital: #0F192A;
  --strand-on-teal-tint: #0D7377;
  --strand-on-amber-caution: #0F192A;
  --strand-on-amber-tint: #92400E;
  --strand-on-red-tint: #991B1B;

  /* ── TYPE SCALE (Major Third, 1.250 ratio) ── */
  --strand-text-xs: 0.694rem;
  --strand-text-sm: 0.833rem;
  --strand-text-base: 1rem;
  --strand-text-lg: 1.25rem;
  --strand-text-xl: 1.563rem;
  --strand-text-2xl: 1.953rem;
  --strand-text-3xl: 2.441rem;
  --strand-text-4xl: 3.052rem;
  --strand-text-5xl: 3.815rem;
  --strand-text-6xl: 4.768rem;
  --strand-text-7xl: 5.96rem;

  /* ── TRACKING (letter-spacing) ── */
  --strand-tracking-tightest: -0.05em;
  --strand-tracking-tighter: -0.03em;
  --strand-tracking-tight: -0.02em;
  --strand-tracking-normal: 0;
  --strand-tracking-wide: 0.02em;
  --strand-tracking-wider: 0.05em;
  --strand-tracking-widest: 0.08em;
  --strand-tracking-ultra: 0.12em;

  /* ── LINE HEIGHT ── */
  --strand-leading-none: 1.0;
  --strand-leading-tight: 1.15;
  --strand-leading-snug: 1.25;
  --strand-leading-normal: 1.5;
  --strand-leading-relaxed: 1.625;
  --strand-leading-loose: 1.75;

  /* ── FONT WEIGHT ── */
  --strand-weight-light: 300;
  --strand-weight-regular: 400;
  --strand-weight-medium: 500;
  --strand-weight-semibold: 600;

  /* ── SPACING (4px base unit) ── */
  --strand-space-1: 0.25rem;
  --strand-space-2: 0.5rem;
  --strand-space-3: 0.75rem;
  --strand-space-4: 1rem;
  --strand-space-5: 1.25rem;
  --strand-space-6: 1.5rem;
  --strand-space-8: 2rem;
  --strand-space-10: 2.5rem;
  --strand-space-12: 3rem;
  --strand-space-16: 4rem;
  --strand-space-20: 5rem;
  --strand-space-24: 6rem;
  --strand-space-32: 8rem;
  --strand-space-40: 10rem;
  --strand-space-48: 12rem;

  /* ── MOTION: EASING ── */
  --strand-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --strand-ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --strand-ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --strand-ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);

  /* ── MOTION: DURATION ── */
  --strand-duration-instant: 75ms;
  --strand-duration-fast: 150ms;
  --strand-duration-normal: 250ms;
  --strand-duration-slow: 400ms;
  --strand-duration-glacial: 700ms;

  /* ── ELEVATION (box-shadow) ── */
  --strand-elevation-0: none;
  --strand-elevation-1: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.02);
  --strand-elevation-2: 0 4px 6px rgba(15, 23, 42, 0.04), 0 12px 24px rgba(15, 23, 42, 0.06);
  --strand-elevation-3: 0 8px 16px rgba(15, 23, 42, 0.06), 0 24px 48px rgba(15, 23, 42, 0.08);
  --strand-elevation-4: 0 16px 32px rgba(15, 23, 42, 0.08), 0 32px 64px rgba(15, 23, 42, 0.12);

  /* ── INTERACTION: FOCUS ── */
  --strand-focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.1);
  --strand-focus-ring-error: 0 0 0 3px rgba(239, 68, 68, 0.1);

  /* ── INTERACTION: HOVER SHADOWS ── */
  --strand-hover-shadow-primary: 0 4px 12px rgba(37, 99, 235, 0.2);
  --strand-hover-shadow-danger: 0 4px 12px rgba(239, 68, 68, 0.2);

  /* ── INTERACTION: BACKDROP ── */
  --strand-backdrop: rgba(15, 23, 42, 0.5);

  /* ── SHAPE (border-radius) ── */
  --strand-radius-sm: 4px;
  --strand-radius-md: 6px;
  --strand-radius-lg: 8px;
  --strand-radius-xl: 12px;
  --strand-radius-full: 9999px;

  /* ── LAYOUT: BREAKPOINTS ── */
  --strand-breakpoint-sm: 640px;
  --strand-breakpoint-md: 768px;
  --strand-breakpoint-lg: 1024px;
  --strand-breakpoint-xl: 1280px;

  /* ── LAYOUT: CONTENT WIDTHS ── */
  --strand-content-narrow: 640px;
  --strand-content-default: 768px;
  --strand-content-wide: 1024px;
  --strand-content-full: 1280px;
}
