/* ==========================================================================
   DESIGN TOKENS
   Single source of truth for color, type, spacing and motion.
   Change values here to re-theme the whole site.
   ========================================================================== */

:root {
  /* --- Color: background layers (dark, SOC-console style) --- */
  --color-bg: #0a0e14;           /* page background */
  --color-bg-raised: #0f1420;    /* cards, panels */
  --color-bg-inset: #0c1017;     /* terminal window body, code blocks */
  --color-border: #232c3a;       /* default hairline border */
  --color-border-strong: #34404f;

  /* --- Color: text --- */
  --color-text: #e6edf3;         /* primary text */
  --color-text-muted: #92a1b3;   /* secondary text */
  --color-text-faint: #5b6779;   /* tertiary / labels */

  /* --- Color: accents --- */
  --color-accent: #4ade80;       /* terminal green — primary accent, links, prompts */
  --color-accent-strong: #34d399;
  --color-accent-dim: rgba(74, 222, 128, 0.12);
  --color-alert: #f5a623;        /* SOC amber — secondary accent, used sparingly */
  --color-alert-dim: rgba(245, 166, 35, 0.12);
  --color-danger: #f97066;       /* reserved for rare "critical" tags */

  /* --- Typography --- */
  --font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.875rem;
  --fs-2xl: 2.5rem;
  --fs-3xl: 3.25rem;

  --lh-tight: 1.2;
  --lh-normal: 1.6;

  /* --- Spacing scale (rem) --- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* --- Layout --- */
  --container-max: 72rem;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  /* --- Motion --- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  /* Smooth both directions — for hover effects that need to feel just as
     gentle settling back down as they do growing (e.g. the About photo). */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 150ms;
  --dur-base: 250ms;
  --dur-slow: 500ms;

  /* --- Elevation --- */
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.35);
  --shadow-glow-accent: 0 0 0 1px rgba(74, 222, 128, 0.25), 0 0 24px rgba(74, 222, 128, 0.08);
}

/* Respect users who've asked the OS to minimize motion everywhere on the site */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur-base: 0ms;
    --dur-slow: 0ms;
  }
}
