/*
 * Per-brand visual override. Loaded LAST in <head>, after the bundled theme,
 * so redefining the CSS-variable tokens here re-themes the whole app cleanly
 * (the theme is 100% CSS variables — no !important needed).
 *
 * Default brand = empty (base theme). To brand a deployment, bind-mount a
 * replacement of this file (see brands/studio/README.md) and redefine tokens.
 * Define BOTH :root and .dark, with the same names, .dark AFTER :root. This
 * file loads last and the two selectors weigh the same, so a brand's :root
 * also beats the Studio's own .dark: a brand with :root alone paints both
 * themes one set of colours. `npm run check:contrast:brands` refuses such a
 * brand and measures the rest. E.g.:
 *
 *   :root {
 *     --primary: oklch(0.47 0.078 195);
 *     --primary-foreground: oklch(0.985 0 0);
 *   }
 *   .dark {
 *     --primary: oklch(0.72 0.12 195);
 *     --primary-foreground: oklch(0.18 0.02 195);
 *   }
 *
 * The mark and the name live elsewhere in the same mounted brand directory:
 * /brand/logo.svg, /brand/favicon.svg and /brand/brand.json. That directory is
 * replaced WHOLE, so a brand supplies all three or none.
 */
