The design-system colour variables are RGB triplets (--ids__surface-RGB: 238, 240, 242) meant to be wrapped in rgb()/rgba(). Two components use them as a colour directly, so the browser discards the declaration and both blocks render with a transparent background. Computed style on production confirms rgba(0, 0, 0, 0) for both.

Current State

  • src/lib/CallToAction.svelte — .cta has background: var(--ids__surface-RGB)
  • src/routes/Footer.svelte — footer has background: var(--ids__surface-RGB) and mask: var(--squircle-mask); the mask variable is not defined anywhere

Tasks

  • Wrap both in rgb(var(--ids__surface-RGB)), or better, add resolved colour tokens (--ids__surface) to colors.css and migrate away from the triplet pattern
  • Define --squircle-mask or drop the mask declaration and use .ids__rounded
  • Grep the rest of the codebase for other bare var(--ids__*-RGB) usages outside rgb()/rgba()

Give the CTA a surface

The skull and the footer are floating on nothing

A static site template built with SvelteKit.

Sveleton, 2025