:root {
  --font: var(--font-inter), "Inter", Arial, sans-serif;
  /* Keep existing component tokens; all themes share the same typography. */
  --font-serif: var(--font);
  --font-slider: var(--font);
  --font-mono: var(--font);

  --fs-3xs: 8px;
  --fs-2xs: 9px;
  --fs-xs: 10px;
  --fs-sm: 11px;
  --fs-base: 12px;
  --fs-md: 13px;
  --fs-lg: 14px;
  --fs-xl: 16px;
  --fs-2xl: 18px;
  --fs-3xl: 21px;
  --fs-4xl: 25px;
  --fs-5xl: 30px;
  --fs-6xl: 36px;
  --fs-7xl: 42px;

  --r-hair: 2px;
  --r-xs: 5px;
  --r-sm: 8px;
  --r-md: 11px;
  --r-lg: 14px;
  --r-xl: 17px;
  --r-2xl: 21px;
  --r-3xl: 25px;
  --r-4xl: 50px;
  --r-pill: 999px;

  /* Game cover art as the catalog serves it: every cover in /assets/images is
     portrait at ~0.757 (256x338, 256x343, 312x412, 414x547, 828x1094), so the
     tile frames the image upright and nothing is cropped. One knob per
     catalog — landscape art would letterbox here, not the other way round. */
  --game-art: 256 / 338;

  --shadow-sm: 0 6px 16px var(--black-a35);
  --shadow-md: 0 12px 28px var(--black-a45);
  --shadow-lg: 0 18px 42px var(--black-a50);
  --shadow-xl: 0 30px 90px var(--black-a60);
}
