/* ============================================================
   SPECTARE · Spacing, radii, borders, shadows, motion
   Structural and generous, with softly rounded corners.
   The elegance comes from whitespace, hairlines and a
   consistent, gentle radius — never heavy shadow or gloss.
   ============================================================ */

:root {
  /* ---- Spacing scale (4px base) ---- */
  --space-0:   0;
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   20px;
  --space-6:   24px;
  --space-8:   32px;
  --space-10:  40px;
  --space-12:  48px;
  --space-16:  64px;
  --space-20:  80px;
  --space-24:  96px;
  --space-32:  128px;
  --space-40:  160px;

  /* ---- Radii — soft, elegant, consistent ---- */
  --radius-none: 0px;
  --radius-xs:   8px;
  --radius-sm:   12px;
  --radius-md:   16px;
  --radius-lg:   24px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* ---- Border widths ---- */
  --border-hair:  1px;
  --border-thick: 1.5px;
  --border-heavy: 2px;

  /* ---- Shadows — whisper-quiet, never glossy ---- */
  --shadow-none: none;
  --shadow-xs:  0 1px 2px color-mix(in srgb, var(--ink-900) 6%, transparent);
  --shadow-sm:  0 2px 8px color-mix(in srgb, var(--ink-900) 7%, transparent);
  --shadow-md:  0 8px 28px color-mix(in srgb, var(--ink-900) 10%, transparent);
  --shadow-lg:  0 24px 64px color-mix(in srgb, var(--ink-900) 14%, transparent);
  --shadow-focus: 0 0 0 2px var(--paper), 0 0 0 4px var(--focus-ring);

  /* ---- Layout ---- */
  --container-sm: 640px;
  --container-md: 960px;
  --container-lg: 1200px;
  --container-xl: 1440px;
  --gutter: var(--space-6);

  /* ---- Z-index ---- */
  --z-base: 0;        /* @kind other */
  --z-raised: 10;     /* @kind other */
  --z-sticky: 100;    /* @kind other */
  --z-overlay: 1000;  /* @kind other */
  --z-modal: 1100;    /* @kind other */
  --z-toast: 1200;    /* @kind other */

  /* ---- Motion — restrained, confident ---- */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);  /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1);      /* @kind other */
  --ease-in:       cubic-bezier(0.55, 0, 1, 0.45);     /* @kind other */
  --duration-fast:   140ms;   /* @kind other */
  --duration-base:   220ms;   /* @kind other */
  --duration-slow:   420ms;   /* @kind other */
  --duration-reveal: 760ms;   /* @kind other */
}
