:root {
  /* Single source of truth for design tokens. */
  --color-cool-gray-90: #21272a;
  --color-cool-gray-60: #697077;
  --color-neutral-200: #e5e5e5;
  --color-white: #fefefe;
  --color-black: #000000;
  --color-base-bg: #010113;
  --color-surface-1: #0d0d25;
  --color-surface-2: #1b1b3a;
  --color-surface-3: #2a2a4a;
  --color-surface-4: #555e62;
  --color-neon-blue: #00e5ff;
  --color-neon-pink: #ec5de7;
  --color-button-blue: #4488ff;
  --color-button-light-blue: #bad3fe;
  --color-purple: #ad5dff;
  --color-neon-pink-border: #b635b2;
  --color-gradient-start: var(--color-neon-blue);
  --color-gradient-end: #fd04f4;
  --gradient-brand: linear-gradient(
    90deg,
    var(--color-gradient-start) 0%,
    var(--color-button-blue) 52%,
    var(--color-gradient-end) 100%
  );
  --gradient-brand-btn: linear-gradient(
    90deg,
    var(--color-gradient-start) -20%,
    var(--color-button-blue) 52%,
    var(--color-gradient-end) 120%
  );

  /* Typography tokens used by current sections/components */
  --font-family-sst-roman: "SST W01 Roman", sans-serif;
  --font-family-sst-medium: "SST W01 Medium", sans-serif;
  --font-family-sst-bold: "SST W01 Bold", sans-serif;
  --font-family-sst: var(--font-family-sst-roman);
  --type-display-large-font-family: var(--font-family-sst-bold);
  --type-display-large-font-weight: 700;
  --type-display-large-font-size: 64px;
  --type-display-large-line-height: 1.2;
  --type-display-large-letter-spacing: -0.4px;

  --type-h1-font-family: var(--font-family-sst-bold);
  --type-h1-font-weight: 700;
  --type-h1-font-size: 48px;
  --type-h1-line-height: 1.2;
  --type-h1-letter-spacing: -0.4px;

  --type-h3-font-family: var(--font-family-sst-bold);
  --type-h3-font-weight: 700;
  --type-h3-font-size: 32px;
  --type-h3-line-height: 1.25;
  --type-h3-letter-spacing: -0.2px;

  --type-h4-font-family: var(--font-family-sst-medium);
  --type-h4-font-weight: 500;
  --type-h4-font-size: 24px;
  --type-h4-line-height: 1.33;
  --type-h4-letter-spacing: 0px;

  --type-body-large-font-family: var(--font-family-sst-roman);
  --type-body-large-font-weight: 400;
  --type-body-large-font-size: 18px;
  --type-body-large-line-height: 1.55;
  --type-body-large-letter-spacing: 0px;

  --type-body-font-family: var(--font-family-sst-roman);
  --type-body-font-weight: 400;
  --type-body-font-size: 16px;
  --type-body-line-height: 1.5;
  --type-body-letter-spacing: 0px;

  --type-primary-button-font-family: var(--font-family-sst-medium);
  --type-primary-button-font-weight: 500;
  --type-primary-button-font-size: 18px;
  --type-primary-button-line-height: 1.2;
  --type-primary-button-letter-spacing: 0.18px;

  --type-button-text-font-family: var(--font-family-sst-bold);
  --type-button-text-font-weight: 700;
  --type-button-text-font-size: 16px;
  --type-button-text-line-height: 1.2;
  --type-button-text-letter-spacing: -0.064px;

  --color-copy-muted: rgba(255, 255, 255, 0.6);
  --color-overlay-strong: rgba(1, 1, 19, 0.86);
  --color-disabled: #b0b0b0;
  --color-focus-shadow-blue: rgba(68, 136, 255, 0.4);
  --color-focus-outline-blue: rgba(68, 136, 255, 0.5);
  --color-focus-shadow-purple: rgba(173, 93, 255, 0.4);
  --color-focus-outline-purple: rgba(173, 93, 255, 0.5);
  --color-focus-border-medium: #a552a2;
  --color-focus-outline-medium: rgba(165, 82, 162, 0.5);

  --viewport-gap: 16px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--color-base-bg) !important;
}

a:hover {
  text-decoration: none !important;
}
