/* Freediver marketing site: DARK THEME. Every colour the site paints with, from the app's dark
   palette, by role (fd-vusjo.1).

   OWNER RULING, 2026-09-06. QUOTED: "Follow the app". So the site moves onto the app's shipped
   tokens rather than the app moving onto the design system's.

   THE MAP IS IN scripts/lib/site_theme.py, one line per variable: site name to tokens.ts key. The
   block between its markers below is GENERATED from that map and `const dark` in
   free-app/theme/tokens.ts, and `make site-check` fails naming any variable whose value here
   differs from the app's, or that the site paints with and the map lacks. To change a colour:
   edit tokens.ts, then run `python3 scripts/lib/site_theme.py --write`. Never edit the block.

   Before this, only the two values that had diverged were overridden here (fd-b6myf) and the other
   twelve took the pre-V5 values of site/vendor/design-system/tokens/colors.css, which nothing
   traced to the app. Now the vendored token file is the fallback for variables the site does not
   paint with, and every painted one is the app's.

   THE NAMES STAY `--accent*` (docs/design/design-system-inconsistencies.md row 62). V5 renamed
   them `--primary*`; the site's CSS, pages and vendored tokens all spell the old names, and the
   map is where the two vocabularies meet, so a rename would touch every file for no change a
   visitor sees.

   NO MEDIA QUERY, and that is the difference from the light file. The design system is dark by
   default ("open water, no light theme"), so dark is not a variant to be matched. It is the base
   that the light file overrides inside prefers-color-scheme: light. Wrapping these in a dark query
   would leave them unapplied for a visitor whose system expresses no preference.

   ORDER MATTERS AND IS WHY THE LINK SITS ABOVE theme-light.css ON EVERY PAGE. A media query adds
   no specificity, so whichever rule comes last wins when it matches. Loaded the other way round, a
   light-mode visitor would get these dark values. */
:root {
  /* site_theme.py: begin. Generated from the role map; edit tokens.ts, then run `python3 scripts/lib/site_theme.py --write`. */
  --bg-mockup: #101418; /* tokens.ts dark: bg, the vendored base stylesheet's body ground */
  --bg-deep: #101418; /* tokens.ts dark: bg, the page ground */
  --bg-card: #233043; /* tokens.ts dark: card, cards and form fields */
  --border-subtle: #3A495F; /* tokens.ts dark: cardBorder, the hairline around a card */
  --text: #FFFFFF; /* tokens.ts dark: textPrimary, primary ink */
  --text-2: #E7EAEF; /* tokens.ts dark: textSecondary, secondary ink */
  --text-3: #B6BFCE; /* tokens.ts dark: textMuted, muted ink: helper text, placeholders */
  --text-on-accent: #0B0F13; /* tokens.ts dark: onAccent, ink on the accent fill */
  --accent: #00F5F5; /* tokens.ts dark: accent, the brand colour: links, icons */
  --accent-bright: #33FFFF; /* tokens.ts dark: wordmark, hover and the trait bullet: the system's primary-bright */
  --accent-deep: #00D6D6; /* tokens.ts dark: accentFill, the primary button fill */
  --accent-dim: #00D6D6; /* tokens.ts dark: accentFill, the secondary button's ink and border */
  --accent-tint: rgba(152,205,205,0.05); /* tokens.ts dark: accentTint, a soft wash: a hovered secondary button */
  --accent-border: rgba(51,255,255,0.18); /* tokens.ts dark: accentBorder, the 1.5px selection border */
  --bg-tile: rgba(138,148,168,0.2); /* tokens.ts dark: tile, a tile: NavCard's surface, the install page's option cards */
  --ring-focus: rgba(0,245,245,0.3); /* tokens.ts dark: ringFocus, the keyboard focus ring */
  --map-pin: #E3165B; /* tokens.ts dark: pin, the map's site pin: --map-pin */
  --map-marker-stroke: #0D1521; /* tokens.ts dark: mapMarker.markerStroke, the site pin's ring: --map-marker-stroke */
  /* site_theme.py: end */
}
