/**
 * LibraBet design tokens — numbered-scale custom properties (not semantic
 * names), matched to the brand's strict, high-contrast ancient-Greek theme.
 */
:root {
  /* -- color ----------------------------------------------------------- */
  --ink-950:    #05050A;
  --indigo-900: #10122B;
  --indigo-800: #191C3D;
  --indigo-700: #262A52;
  --gold-500:   #C9A227;
  --gold-400:   #E4C558;
  --ice-400:    #8FD8F5;
  --ice-300:    #B9E9FA;
  --text-100:   #F3F4F8;
  --text-400:   #9CA1C2;
  --positive-500: #2FBE7A;
  --warning-500:  #E0A73B;
  --danger-500:   #E4553F;

  /* -- type -------------------------------------------------------------
     Editorial slab-serif for headings, clean sans for body. Self-hosted
     web fonts are not required to render correctly — system fallbacks
     carry the same weight/character until real font files are added. */
  --font-display: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --fs-h1: clamp(2rem, 1.5rem + 2.2vw, 3.4rem);
  --fs-h2: clamp(1.5rem, 1.25rem + 1.1vw, 2.2rem);
  --fs-h3: clamp(1.15rem, 1.05rem + 0.5vw, 1.5rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-tiny: 0.75rem;

  /* -- spacing / radius / borders ---------------------------------------- */
  --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;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  --border-hairline: 1px solid var(--indigo-700);

  /* -- layout -------------------------------------------------------------- */
  --shell-max: 1240px;
  --shell-pad: clamp(16px, 4vw, 32px);

  /* -- motion --------------------------------------------------------------- */
  --ease-standard: cubic-bezier(0.2, 0.7, 0.3, 1);
  --dur-fast: 150ms;
  --dur-med: 300ms;

  color-scheme: dark;
}
