:root {
  --space-0: 0px;
  --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;

  --safe-top: 54px;         /* status-bar height; full-bleed heroes extend under it */
  --page-gutter: 20px;      /* mobile screen side padding */
  --stack-gap: 12px;        /* default gap between list items / cards */
  --section-gap: 28px;

  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;

  --border-width: 1.5px;          /* inputs, selectable cards, OTP boxes */
  --border-width-hairline: 1px;   /* list dividers */

  /* Control sizes */
  --control-sm: 36px;
  --control-md: 44px;
  --control-lg: 52px;
  --tap-min: 44px;
}
