/* =========================================================================
   IMPERSONAS — SPACING, BORDERS, GEOMETRY
   Geometry is non-negotiable: corner radius is ZERO on every rectangle.
   The only curves are circles (avatars, radios) and squares (checkboxes).
   All borders are 1px hairlines. No drop shadows as a stylistic choice.
   ========================================================================= */

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

  /* ---- Geometry — radius is ZERO everywhere. Circles/squares are explicit. ---- */
  --radius: 0;              /* every rectangle: panels, cards, buttons, inputs, modals */
  --radius-circle: 50%;     /* avatars, radio selectors ONLY */

  /* ---- Borders — 1px hairlines, nothing heavier ---- */
  --border-width: 1px;
  --border: 1px solid var(--hairline);
  --border-ink: 1px solid var(--ink);

  /* ---- Elevation — flush by default. No decorative drop shadows.
     A single, near-invisible lift is reserved for floating modals only. ---- */
  --shadow-none: none;
  --shadow-modal: 0 0 0 1px rgba(13,13,13,0.06), 0 24px 64px rgba(13,13,13,0.18);

  /* ---- Layout ---- */
  --content-max: 1440px;
  --page-gutter: 64px;
  --header-height: 64px;

  /* ---- Image ratios ---- */
  --ratio-impersona: 3 / 4; /* @kind other */   /* impersona portraits */
  --ratio-square: 1 / 1; /* @kind other */      /* logos, company, user, account images */

  /* ---- Motion — restrained. Fades and short eases; never bouncy/playful. ---- */
  --ease: cubic-bezier(0.2, 0, 0, 1); /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur: 180ms; /* @kind other */
  --dur-slow: 280ms; /* @kind other */
}
