/* ============================================================
   Echo × Spectrum — Foundations
   Primitive tokens lifted verbatim from Adobe React Spectrum
   (packages/@adobe/spectrum-css-temp/vars/spectrum-global.css +
    spectrum-medium.css, the 1x "medium" platform scale).

   Echo adopts Spectrum's ENGINEERING FOUNDATIONS — the 8px spacing
   grid, the radius ramp, the weight ramp, line-heights, easing curves
   and focus-ring rules — then overrides the brand layer (see the
   --echo-* tokens in colors_and_type.css). The single most important
   override: the ACCENT GROUP moves from Spectrum Blue to Spectrum
   SEAFOAM, because Echo's teal #0f8b8d (rgb 15,139,141) is within a
   hair of Spectrum seafoam-500 (rgb 0,145,139).
   ============================================================ */

:root {
  /* ---- Spectrum spacing / sizing scale (medium, 1x) ----
     8px baseline grid. These are the static-size tokens; use them for
     padding, gaps, and component sizing so spacing stays on-grid. */
  --sp-size-10:  1px;
  --sp-size-25:  2px;
  --sp-size-40:  3px;
  --sp-size-50:  4px;
  --sp-size-65:  5px;
  --sp-size-100: 8px;
  --sp-size-115: 9px;
  --sp-size-125: 10px;
  --sp-size-130: 11px;
  --sp-size-150: 12px;
  --sp-size-160: 13px;
  --sp-size-175: 14px;
  --sp-size-200: 16px;
  --sp-size-225: 18px;
  --sp-size-250: 20px;
  --sp-size-300: 24px;
  --sp-size-400: 32px;
  --sp-size-450: 36px;
  --sp-size-500: 40px;
  --sp-size-550: 44px;  /* == minimum touch target Echo enforces */
  --sp-size-600: 48px;
  --sp-size-700: 56px;
  --sp-size-800: 64px;
  --sp-size-900: 72px;
  --sp-size-1000: 80px;
  --sp-size-1200: 96px;

  /* ---- Spectrum border-radius ramp (medium) ---- */
  --sp-radius-xsmall:  1px;
  --sp-radius-small:   2px;
  --sp-radius-regular: 4px;
  --sp-radius-medium:  8px;  /* Echo's panel/button radius */
  --sp-radius-large:  16px;
  --sp-radius-tile:   12px;  /* app-icon / brand tile (Echo extension) */
  --sp-radius-pill:   999px; /* badges, round icon buttons, the record button (Echo extension) */

  /* ---- Spectrum type scale (static font sizes) ---- */
  --sp-font-50:  11px;
  --sp-font-75:  12px;
  --sp-font-100: 14px; /* body default */
  --sp-font-150: 15px;
  --sp-font-200: 16px;
  --sp-font-300: 18px;
  --sp-font-400: 20px;
  --sp-font-500: 22px;
  --sp-font-600: 25px;
  --sp-font-700: 28px;
  --sp-font-800: 32px;
  --sp-font-900: 36px;
  --sp-font-1000: 40px;

  /* ---- Spectrum weight ramp ---- */
  --sp-weight-regular:    400;
  --sp-weight-medium:     500;
  --sp-weight-semi-bold:  600;
  --sp-weight-bold:       700;
  --sp-weight-extra-bold: 800;
  --sp-weight-black:      900;

  /* ---- Spectrum line-heights ---- */
  --sp-line-large:  1.7;
  --sp-line-medium: 1.5; /* body */
  --sp-line-small:  1.3; /* headings / titles */

  /* ---- Spectrum animation: easing curves + duration ramp ---- */
  --sp-ease-in-out: cubic-bezier(0.45, 0, 0.4, 1);
  --sp-ease-in:     cubic-bezier(0.5, 0, 1, 1);
  --sp-ease-out:    cubic-bezier(0, 0, 0.4, 1);
  --sp-duration-100: 130ms;
  --sp-duration-200: 160ms;
  --sp-duration-300: 190ms;
  --sp-duration-400: 220ms;
  --sp-duration-500: 250ms;
  --sp-duration-600: 300ms;

  /* ---- Spectrum focus ring ---- */
  --sp-focus-ring-size: 2px;
  --sp-focus-ring-gap:  2px;

  /* ---- Spectrum SEAFOAM ramp (static) — Echo's accent group ---- */
  --sp-seafoam-200: rgb(75, 206, 199);
  --sp-seafoam-300: rgb(32, 187, 180);
  --sp-seafoam-400: rgb(0, 166, 160);
  --sp-seafoam-500: rgb(0, 145, 139); /* ≈ Echo --echo-accent #0f8b8d */
  --sp-seafoam-600: rgb(0, 124, 118); /* ≈ Echo --echo-accent-strong #096b6d */
  --sp-seafoam-700: rgb(0, 103, 99);

  /* ---- Spectrum semantic anchors Echo's verdict colors map onto ---- */
  --sp-green-500:  rgb(0, 148, 97);   /* positive  → Echo good  */
  --sp-orange-500: rgb(233, 117, 0);  /* notice    → Echo warn  */
  --sp-red-500:    rgb(217, 28, 21);  /* negative  → Echo bad   */
  --sp-red-400:    rgb(237, 64, 48);  /* ≈ Echo --echo-record #e5484d */
}
