/*
 * HDS Foundation Tokens
 * ============================================================
 * Layer 1 — Raw atomic values.
 *
 * These are the irreducible primitives of the Humi visual language.
 * No semantic meaning. No product-specific values. No decisions.
 *
 * Dependency: None
 * Used by:    semantic.css, decision.css
 *
 * RULE: This file contains ONLY raw numeric and color constants.
 *       No --primary, no --success, no --card, no --header.
 *       Those belong to the semantic layer.
 */

:root {
  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Spacing — 8px base grid
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-space-1:  4px;
  --hds-space-2:  8px;
  --hds-space-3:  12px;
  --hds-space-4:  16px;
  --hds-space-5:  20px;
  --hds-space-6:  24px;
  --hds-space-7:  32px;
  --hds-space-8:  40px;
  --hds-space-9:  48px;
  --hds-space-10: 64px;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Radius
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-radius-none: 0;
  --hds-radius-sm:   6px;
  --hds-radius-md:   8px;
  --hds-radius-lg:   12px;
  --hds-radius-xl:   16px;
  --hds-radius-full: 9999px;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Typography — Size scale
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-font-xs:   0.70rem;   /* 11px — caption, badge, label-hint */
  --hds-font-sm:   0.78rem;   /* 12px — tab, meta, helper text */
  --hds-font-base: 0.85rem;   /* 14px — body, input, button, table cell */
  --hds-font-md:   0.95rem;   /* 15px — card title, section label */
  --hds-font-lg:   1.10rem;   /* 18px — page title */
  --hds-font-xl:   1.25rem;   /* 20px — logo, hero heading */
  --hds-font-2xl:  1.50rem;   /* 24px — section heading */
  --hds-font-3xl:  1.60rem;   /* 26px — KPI number, hero metric */

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Typography — Weight
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-font-weight-normal:  400;
  --hds-font-weight-medium:  500;
  --hds-font-weight-semibold:600;
  --hds-font-weight-bold:    700;
  --hds-font-weight-extrabold:800;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Typography — Leading
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-leading-tight:   1.25;
  --hds-leading-normal:  1.5;
  --hds-leading-relaxed: 1.75;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Typography — Font families
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-font-sans:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;

  --hds-font-mono:
    "SF Mono",
    "Fira Code",
    "Fira Mono",
    "Roboto Mono",
    "Cascadia Code",
    monospace;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Neutral Gray Scale
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-neutral-0:   #ffffff;
  --hds-neutral-50:  #f8f9fa;
  --hds-neutral-100: #f1f3f5;
  --hds-neutral-200: #e9ecef;
  --hds-neutral-300: #dee2e6;
  --hds-neutral-400: #adb5bd;
  --hds-neutral-500: #868e96;
  --hds-neutral-600: #495057;
  --hds-neutral-700: #343a40;
  --hds-neutral-800: #212529;
  --hds-neutral-900: #0a0a0f;
  --hds-neutral-950: #050508;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Shadow (elevation)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-shadow-none: none;
  --hds-shadow-xs:   0 1px 2px  rgba(0, 0, 0, 0.04);
  --hds-shadow-sm:   0 1px 3px  rgba(0, 0, 0, 0.06);
  --hds-shadow-md:   0 4px 12px rgba(0, 0, 0, 0.08);
  --hds-shadow-lg:   0 8px 24px rgba(0, 0, 0, 0.12);
  --hds-shadow-xl:   0 12px 40px rgba(0, 0, 0, 0.16);

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Motion — Duration
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-duration-instant: 0.05s;
  --hds-duration-fast:    0.15s;
  --hds-duration-base:    0.20s;
  --hds-duration-slow:    0.30s;
  --hds-duration-entrance: 0.40s;

  /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     Motion — Easing
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
  --hds-ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --hds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --hds-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --hds-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}
